- Matriks Tampilan LED P10
- Komponen yang Diperlukan untuk Arduino Scoreboard
- Diagram Sirkuit untuk Papan Skor Arduino
- Penjelasan Kode Papan Skor Arduino
Papan skor elektronik adalah salah satu gadget terpenting yang dapat dimiliki siapa pun selama turnamen olahraga apa pun. Papan skor manual lama yang menggunakan metode konvensional sangat memakan waktu dan rawan kesalahan, oleh karena itu papan skor terkomputerisasi menjadi diperlukan di mana unit tampilan perlu diubah secara real-time. Inilah sebabnya mengapa dalam proyek ini, kami akan membangun papan skor nirkabel yang dikontrol Bluetooth di mana kami dapat mengubah skor di papan hanya dengan menggunakan aplikasi android. Otak dari proyek ini adalah Arduino Nano, dan untuk bagian tampilan, kami akan menggunakan matriks LED P10 untuk menampilkan skor dari jarak jauh secara real-time.
Matriks Tampilan LED P10
Sebuah P10 LED Matrix Tampilan adalah cara terbaik yang tersedia untuk membuat papan LED untuk penggunaan di luar atau dalam ruangan. Panel ini memiliki total 512 LED kecerahan tinggi yang dipasang pada wadah plastik yang dirancang untuk hasil tampilan terbaik. Ini juga dilengkapi dengan peringkat IP65 untuk waterproofing sehingga cocok untuk penggunaan di luar ruangan. Dengan ini, Anda dapat membuat papan nama LED besar dengan menggabungkan sejumlah panel seperti itu dalam struktur baris dan kolom apa pun.
Modul kami memiliki ukuran 32 * 16, yang berarti ada 32 LED di setiap baris dan 16 LED di setiap kolom. Jadi, ada total 512 LED yang ada di setiap papan nama yang dipimpin. Selain itu, ia memiliki peringkat IP65 untuk waterproofing, dapat ditenagai oleh satu sumber daya 5V, memiliki sudut pandang yang sangat lebar, dan kecerahannya dapat mencapai 4500 nits. Jadi, Anda akan dapat melihatnya dengan jelas di siang hari yang cerah. Sebelumnya kami juga telah menggunakan Layar P10 ini dengan Arduino untuk membangun Papan LED sederhana.
Deskripsi Pin dari P10 LED Matrix:
Papan tampilan LED ini menggunakan header surat 10-pin untuk koneksi input dan output, di bagian ini, kami telah menjelaskan semua pin yang diperlukan dari modul ini. Selain itu, Anda dapat melihat ada konektor 5V eksternal di tengah modul yang digunakan untuk menghubungkan daya eksternal ke papan.
- Aktifkan: Pin ini digunakan untuk mengontrol kecerahan panel LED, dengan memberikan pulsa PWM padanya.
- A, B: Ini disebut pin pilih multipleks. Mereka mengambil input digital untuk memilih baris multipleks.
- Shift clock (CLK), Store clock (SCLK), dan Data: Ini adalah pin kontrol register geser normal. Di sini digunakan register geser 74HC595.
Menghubungkan Modul Tampilan LED P10 ke Arduino:
Menghubungkan modul tampilan matriks P10 ke Arduino adalah proses yang sangat sederhana, di sirkuit kami, kami mengkonfigurasi pin 9 dari Arduino sebagai pin Enable, Pin 6 sebagai Pin A, Pin 7 sebagai pin B, Pin 13 adalah CLK, Pin 8 adalah SCLK, Pin 11 adalah DATA, dan terakhir Pin GND adalah pin GND untuk modul dan Arduino, tabel lengkap di bawah ini menjelaskan konfigurasi pin dengan jelas.
Modul LED P10 |
Arduino UNO |
MEMUNGKINKAN |
9 |
SEBUAH |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Catatan: Hubungkan terminal daya modul P10 ke sumber daya 5V eksternal, karena 512 LED akan menghabiskan banyak daya. Direkomendasikan untuk menyambungkan catu daya DC 5V, 3 Amp ke satu unit modul LED P10. Jika Anda berencana untuk menghubungkan lebih banyak modul angka, maka tingkatkan kapasitas SMP Anda sesuai.
Komponen yang Diperlukan untuk Arduino Scoreboard
Karena ini adalah proyek yang sangat sederhana, persyaratan komponennya sangat umum, daftar komponen yang diperlukan ditunjukkan di bawah ini, Anda harus dapat menemukan semua bahan yang terdaftar di toko hobi lokal Anda.
- Arduino Nano
- Tampilan matriks LED P10
- Papan tempat memotong roti
- 5V, 3 SMP AMP
- Modul Bluetooth HC-05
- Menghubungkan Kabel
Diagram Sirkuit untuk Papan Skor Arduino
Skema untuk Papan Skor LED Arduino ditunjukkan di bawah karena proyek ini sangat sederhana, saya telah menggunakan perangkat lunak populer fritzing untuk mengembangkan skema.
Cara kerja rangkaian ini sangat sederhana, kami memiliki aplikasi Android dan modul Bluetooth, untuk berhasil berkomunikasi dengan modul Bluetooth, Anda harus memasangkan modul HC-05 dengan aplikasi android. Setelah kita terhubung, kita dapat mengirim string yang ingin kita tampilkan, setelah string dikirim, Arduino akan memproses string tersebut dan mengubahnya menjadi sinyal yang dapat dipahami oleh resistor geser internal 74HC595, setelah data dikirim ke shift resistor, siap untuk ditampilkan.
Penjelasan Kode Papan Skor Arduino
Setelah berhasil menyelesaikan penyetelan hardware, sekarang saatnya untuk pemrograman Arduino Nano. Uraian bertahap kode diberikan di bawah ini. Juga, Anda bisa mendapatkan kode Papan Skor Arduino lengkap di bagian bawah Tutorial ini.
Pertama-tama, kita perlu memasukkan semua perpustakaan. Kami telah menggunakan Perpustakaan DMD.h untuk mengontrol tampilan led P10. Anda dapat mengunduh dan memasukkannya dari tautan GitHub yang diberikan. Setelah itu, Anda perlu memasukkan Library TimerOne.h, yang akan digunakan untuk pemrograman interupsi dalam kode kami.
Ada banyak front yang tersedia di perpustakaan ini, kami telah menggunakan " Arial_black_16 " untuk proyek ini.
#include
Pada langkah selanjutnya, jumlah baris dan kolom ditentukan untuk papan matriks LED kami. Kami hanya menggunakan satu modul dalam proyek ini, jadi nilai ROW dan nilai COLUMN dapat didefinisikan sebagai 1.
# Tentukan BARIS 1 # Tentukan KOLOM 1 # Tentukan FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Setelah itu, semua variabel yang digunakan dalam kode ditentukan. Variabel karakter digunakan untuk menerima data serial dari Aplikasi Android, dua nilai integer digunakan untuk menyimpan skor, dan array ditentukan yang menyimpan data akhir untuk ditampilkan pada Matriks.
masukan karakter; int a = 0, b = 0; int flag = 0; char cstr1;
Fungsi scan_module () didefinisikan, yang terus menerus memeriksa data yang masuk dari Arduino Nano melalui SPI. Jika ya, maka itu akan memicu interupsi untuk melakukan acara tertentu seperti yang ditentukan oleh pengguna dalam program.
void scan_module () { led_module.scanDisplayBySPI (); }
Di dalam setup (), timer diinisialisasi, dan interupsi dilampirkan ke fungsi scan_module, yang telah dibahas sebelumnya. Awalnya, layar dibersihkan menggunakan fungsi layar jelas (true), yang berarti semua piksel ditetapkan sebagai OFF.
Dalam setup, komunikasi serial juga diaktifkan menggunakan fungsi Serial.begin (9600) dimana 9600 adalah baud rate untuk komunikasi Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (benar); }
Disini dicek ketersediaan data serial, apakah ada data yang valid berasal dari Arduino atau tidak. Data yang diterima dari Aplikasi disimpan dalam variabel.
jika (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Kemudian, nilai yang diterima dibandingkan dengan variabel yang telah ditentukan sebelumnya. Di sini, di aplikasi Android, dua tombol diambil untuk memilih skor kedua tim. Saat tombol 1 ditekan, Karakter 'a' dikirim ke Arduino dan saat tombol2 ditekan, Karakter 'b' dikirim ke Arduino. Oleh karena itu, di bagian ini, data ini cocok, dan jika cocok, maka nilai skor masing-masing bertambah seperti yang ditunjukkan dalam kode.
jika (input == 'a' && flag == 0) { flag = 1; a ++; } lain jika (input == 'b' && flag == 0) { flag = 1; b ++; } lain;
Kemudian, data yang diterima diubah menjadi Array karakter, karena fungsi matriks P10 hanya mampu menampilkan tipe data karakter. Inilah sebabnya mengapa semua variabel diubah dan digabungkan menjadi array karakter.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Kemudian, untuk menampilkan informasi di modul, font dipilih menggunakan fungsi selection (). Kemudian fungsi drawMarquee () digunakan untuk menampilkan informasi yang diinginkan pada papan P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Akhirnya, karena kita membutuhkan tampilan pesan yang bergulir, saya telah menulis kode untuk menggeser seluruh pesan kita dari arah Kanan ke Kiri menggunakan periode tertentu.
mulai panjang = millis (); waktu yang lama = mulai; boolean flag = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); waktu = millis (); } }
Ini menandai akhir dari proses pengkodean kami. Dan sekarang siap untuk diunggah.
Papan Skor yang Dikendalikan Ponsel Cerdas - Pengujian
Setelah mengupload kode ke Arduino, saatnya menguji proyek tersebut. Sebelumnya, aplikasi android perlu di install di smartphone kita. Anda dapat mengunduh aplikasi Papan Skor P10 dari tautan yang diberikan. Setelah terinstal, buka aplikasi dan layar beranda akan terlihat seperti gambar di bawah ini.
Klik pada tombol SCAN untuk menambahkan modul Bluetooth dengan App. Ini akan menampilkan daftar perangkat Bluetooth yang dipasangkan pada telepon. Jika Anda belum pernah memasangkan modul HC-05 Bluetooth sebelumnya, pasangkan modul menggunakan pengaturan Bluetooth ponsel Anda dan kemudian lakukan langkah ini. Layar akan terlihat seperti berikut:
Kemudian, dari daftar, klik "HC-05" karena ini adalah nama modul Bluetooth kami yang digunakan di sini. Setelah mengkliknya, itu akan menunjukkan terhubung di layar. Kemudian kita bisa melanjutkan dengan papan skor.
Klik tombol mana saja antara "Rumah" & "Jauh" seperti yang ditunjukkan di App. Jika tombol Home dipilih, skor Home akan bertambah di tampilan P10. Demikian pula, jika tombol Tamu dipilih, skor Tamu akan bertambah. Gambar di bawah ini menunjukkan bagaimana tampilan layar akhir.
Saya harap Anda menyukai proyek ini dan mempelajari sesuatu yang baru, jika Anda memiliki pertanyaan lain tentang proyek ini, silakan berkomentar di bawah atau Anda dapat mengajukan pertanyaan Anda di forum kami.