- Matriks Paparan LED P10
- Komponen Diperlukan untuk Papan Skor Arduino
- Diagram Litar untuk Papan Skor Arduino
- Penjelasan Kod Papan Skor Arduino
Papan skor elektronik adalah salah satu alat terpenting yang boleh dimiliki oleh sesiapa sahaja semasa kejohanan sukan. Papan skor manual lama menggunakan kaedah konvensional sangat memakan masa dan ralat Kesalahan, oleh itu papan skor berkomputer menjadi perlu di mana unit paparan perlu diubah dalam masa nyata. Inilah sebabnya mengapa dalam projek ini, kita akan membina papan skor tanpa wayar yang dikendalikan Bluetooth di mana kita dapat mengubah skor di papan hanya dengan menggunakan aplikasi android. Otak projek ini adalah Arduino Nano, dan untuk bahagian paparan, kami akan menggunakan matriks LED P10 untuk menunjukkan skor dari jauh dalam waktu nyata.
Matriks Paparan LED P10
A P10 LED Matrix Display adalah cara yang terbaik untuk membuat papan LED untuk kegunaan luaran atau dalaman. Panel ini mempunyai sejumlah 512 LED kecerahan tinggi yang dipasang pada perumahan plastik yang direka untuk hasil paparan terbaik. Ia juga dilengkapi dengan penilaian IP65 untuk kalis air menjadikannya sempurna untuk kegunaan luaran. Dengan ini, anda boleh membuat papan tanda LED besar dengan menggabungkan sebilangan besar panel sedemikian dalam struktur baris dan lajur.
Modul kami mempunyai ukuran 32 * 16, yang bermaksud bahawa terdapat 32 LED di setiap baris dan 16 LED di setiap lajur. Jadi, terdapat sejumlah 512 LED di setiap papan tanda yang dipimpin. Selain itu, ia mempunyai peringkat IP65 untuk kalis air, ia boleh dikuasakan oleh sumber kuasa 5V tunggal, ia mempunyai sudut pandangan yang sangat luas, dan kecerahan dapat mencapai 4500 nits. Jadi, anda akan dapat melihatnya dengan jelas pada waktu siang yang dibawa. Sebelumnya kami juga telah menggunakan Paparan P10 ini dengan Arduino untuk membina Papan LED sederhana.
Pin Penerangan daripada P10 LED Matrix:
Ini papan paparan LED menggunakan header mel 10-pin untuk sambungan input dan output, dalam bahagian ini, kita telah diterangkan semua pin perlu modul ini. Anda juga dapat melihat terdapat penyambung 5V luaran di tengah modul yang digunakan untuk menyambungkan kuasa luaran ke papan.
- Aktifkan: Pin ini digunakan untuk mengawal kecerahan panel LED, dengan memberikan nadi PWM kepadanya.
- A, B: Ini dipanggil pin pilih multiplex. Mereka mengambil input digital untuk memilih baris multiplex.
- Shift clock (CLK), Store store (SCLK), dan Data: Ini adalah pin kawalan register shift biasa. Di sini shift register 74HC595 digunakan.
Modul Paparan LED Interface P10 ke Arduino:
Menyambungkan modul paparan matriks P10 ke Arduino adalah proses yang sangat mudah, di litar kami, kami mengkonfigurasi pin 9 dari Arduino sebagai pin Aktifkan, Pin 6 sebagai Pin A, Pin 7 sebagai pin B, Pin 13 adalah CLK, Pin 8 adalah SCLK, Pin 11 adalah DATA, dan akhirnya Pin GND adalah pin GND untuk modul dan Arduino, jadual lengkap di bawah menerangkan konfigurasi pin dengan jelas.
Modul LED P10 |
Arduino UNO |
DIAMALKAN |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Catatan: Sambungkan terminal kuasa modul P10 ke sumber kuasa 5V luaran, kerana 512 LED akan menghabiskan banyak tenaga. Sebaiknya sambungkan bekalan kuasa DC 5V, 3 Amp ke satu unit modul LED P10. Sekiranya anda merancang untuk menghubungkan lebih banyak modul nombor, maka tingkatkan kapasiti SMPS anda dengan sewajarnya.
Komponen Diperlukan untuk Papan Skor Arduino
Oleh kerana ini adalah projek yang sangat mudah, keperluan komponen sangat umum, senarai komponen yang diperlukan ditunjukkan di bawah, anda seharusnya dapat mencari semua bahan yang disenaraikan di kedai hobi tempatan anda.
- Arduino Nano
- Paparan matriks P10 LED
- Papan roti
- 5V, 3 AMP SMPS
- Modul Bluetooth HC-05
- Wayar Penyambung
Diagram Litar untuk Papan Skor Arduino
Skema untuk Skor LED Arduino ditunjukkan di bawah kerana projek ini sangat mudah, saya telah menggunakan perisian yang popular untuk mengembangkan skema.
Kerja litar sangat mudah, kami mempunyai aplikasi Android dan modul Bluetooth, untuk berjaya berkomunikasi dengan modul Bluetooth, anda harus memasangkan modul HC-05 dengan aplikasi android. Setelah kami dihubungkan, kami dapat mengirim rentetan yang ingin kami paparkan, setelah rentetan dikirim, Arduino akan memproses tali tersebut dan mengubahnya menjadi isyarat yang dapat dipahami perintang pergeseran 74HC595, setelah data dikirim ke pergeseran perintang, siap dipaparkan.
Penjelasan Kod Papan Skor Arduino
Setelah berjaya menyelesaikan persediaan perkakasan, kini saatnya untuk pengaturcaraan Arduino Nano. Penerangan bertahap kod diberikan di bawah. Anda juga boleh mendapatkan kod Papan Skor Arduino yang lengkap di bahagian bawah Tutorial ini.
Pertama sekali, kita perlu memasukkan semua perpustakaan. Kami telah menggunakan Perpustakaan DMD.h untuk mengawal paparan led P10. Anda boleh memuat turun dan memasukkannya dari pautan GitHub yang diberikan. Selepas itu, anda perlu memasukkan Perpustakaan TimerOne.h, yang akan digunakan untuk mengganggu pengaturcaraan dalam kod kami.
Terdapat banyak bidang yang tersedia di perpustakaan ini, kami telah menggunakan " Arial_black_16 " untuk projek ini.
#sertakan
Pada langkah seterusnya, bilangan baris dan lajur ditentukan untuk papan matriks LED kami. Kami hanya menggunakan satu modul dalam projek ini, jadi nilai ROW dan nilai COLUMN dapat didefinisikan sebagai 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Selepas itu, semua pemboleh ubah yang digunakan dalam kod ditentukan. Pemboleh ubah watak digunakan untuk menerima data bersiri dari Aplikasi Android, dua nilai integer digunakan untuk menyimpan skor, dan array ditentukan yang menyimpan data akhir yang akan ditampilkan di Matrix.
input char; int a = 0, b = 0; bendera int = 0; char cstr1;
Fungsi scan_module () ditakrifkan, yang terus menerus memeriksa setiap data masuk dari Arduino Nano melalui SPI. Sekiranya ya, maka akan mencetuskan gangguan untuk melakukan acara tertentu seperti yang ditentukan oleh pengguna dalam program ini.
kekosongan scan_module () { led_module.scanDisplayBySPI (); }
Di dalam persediaan (), pemasa diinisialisasi, dan gangguan dipasang pada fungsi scan_module, yang telah dibincangkan sebelumnya. Pada awalnya, layar dibersihkan menggunakan layar fungsi jelas (benar), yang berarti semua piksel didefinisikan sebagai MATI.
Dalam persediaan, komunikasi bersiri juga diaktifkan menggunakan fungsi Serial.begin (9600) di mana 9600 adalah kadar baud untuk komunikasi Bluetooth.
persediaan tidak sah () { Serial.begin (9600); Pemasa1. inisialisasi (2000); Pemasa1.attachInterrupt (scan_module); led_module.clearScreen (benar); }
Di sini, ketersediaan data bersiri diperiksa, jika ada data yang sah berasal dari Arduino atau tidak. Data yang diterima dari Aplikasi disimpan dalam pemboleh ubah.
jika (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Kemudian, nilai yang diterima dibandingkan dengan pemboleh ubah yang telah ditentukan. Di sini, dalam aplikasi Android, dua butang diambil untuk memilih skor bagi kedua-dua pasukan. Apabila butang 1 ditekan, Karakter 'a' dihantar ke Arduino dan ketika butang2 ditekan, Karakter 'b' dihantar ke Arduino. Oleh itu, dalam bahagian ini, data ini dipadankan, dan jika dipadankan, maka nilai skor masing-masing meningkat seperti yang ditunjukkan dalam kod.
jika (input == 'a' && flag == 0) { flag = 1; a ++; } lain jika (input == 'b' && flag == 0) { flag = 1; b ++; } lain;
Kemudian, data yang diterima diubah menjadi watak Array, kerana fungsi matriks P10 hanya mampu menampilkan jenis data watak. Inilah sebabnya mengapa semua pemboleh ubah ditukar dan digabungkan menjadi larik watak.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Kemudian, untuk memaparkan maklumat dalam modul, font dipilih menggunakan fungsi pemilihan (). Kemudian fungsi drawMarquee () digunakan untuk memaparkan maklumat yang dikehendaki pada papan P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Akhirnya, kerana kami memerlukan paparan mesej bergulir, saya telah menulis kod untuk mengalihkan keseluruhan mesej kami dari arah Kanan ke Kiri menggunakan jangka masa tertentu.
permulaan panjang = milis (); jangka masa yang panjang = mula; boolean flag = palsu; manakala (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); pemasaan = milis (); } }
Ini menandakan berakhirnya proses pengekodan kami. Dan sekarang sudah siap untuk dimuat naik.
Papan Skor Terkawal Telefon Pintar - Ujian
Setelah memuat naik kod ke Arduino, inilah masanya untuk menguji projek tersebut. Sebelum itu, aplikasi android perlu dipasang pada telefon pintar kita. Anda boleh memuat turun aplikasi P10 Score Board dari pautan yang diberikan. Setelah dipasang, buka aplikasi dan skrin utama akan kelihatan seperti gambar di bawah.
Klik pada butang SCAN untuk menambahkan modul Bluetooth dengan Aplikasi. Ini akan menunjukkan senarai peranti Bluetooth yang dipasangkan pada telefon. Sekiranya anda belum memasangkan modul Bluetooth HC-05 sebelumnya, pasangkan modul menggunakan tetapan Bluetooth telefon anda dan kemudian lakukan langkah ini. Skrin akan kelihatan seperti yang ditunjukkan:
Kemudian, dari senarai, klik pada "HC-05" kerana ini adalah nama modul Bluetooth kami yang digunakan di sini. Setelah mengkliknya, ia akan terpapar di skrin. Kemudian kita boleh meneruskan dengan papan skor.
Klik pada mana-mana butang antara "Rumah" & "Jauh" seperti yang ditunjukkan dalam Aplikasi. Sekiranya butang Utama dipilih, skor Laman Utama akan meningkat pada paparan P10. Begitu juga, jika butang Away dipilih, skor Away akan meningkat. Gambar di bawah menunjukkan bagaimana skrin akhir kelihatan.
Saya harap anda menyukai projek ini dan belajar sesuatu yang baru, jika anda mempunyai pertanyaan lain mengenai projek ini, sila komen di bawah atau anda boleh mengemukakan soalan anda di forum kami.