- P10 LED displeja matrica
- Komponenti, kas nepieciešami Arduino rezultātu apkopojumam
- Arduino rezultātu tablo shēma
- Arduino rezultātu tablo koda skaidrojums
Elektroniskais tablo ir viens no vissvarīgākajiem sīkrīkiem, kādi ikvienam var būt jebkura sporta turnīra laikā. Vecā manuālā rezultātu tablo, izmantojot parastās metodes, ir ļoti laikietilpīga un pakļauta kļūdām, tāpēc datorizēta rezultātu tabula kļūst nepieciešama, ja displeja vienība jāmaina reāllaikā. Tāpēc šajā projektā mēs izveidosim ar Bluetooth vadāmu bezvadu rezultātu apkopojumu, kurā mēs varēsim mainīt rezultātu uz tāfeles, vienkārši izmantojot android lietojumprogrammu. Šī projekta smadzenes ir Arduino Nano, un displeja daļā mēs izmantosim P10 LED matricu, lai rādītu rezultātu attālināti reāllaikā.
P10 LED displeja matrica
P10 LED Matrix displejs ir labākais pieejamais veids, kā padarīt LED kuģa ārpus telpām vai telpu izmantošanu. Šajā panelī ir 512 augstas spilgtuma gaismas diodes, kas uzstādītas uz plastmasas korpusa, kas paredzēts vislabākajiem displeja rezultātiem. Tam ir arī IP65 hidroizolācijas vērtējums, kas padara to perfektu lietošanai ārpus telpām. Izmantojot šo, jūs varat izveidot lielu LED izkārtni, apvienojot jebkuru šādu paneļu skaitu jebkurā rindu un kolonnu struktūrā.
Mūsu moduļa izmērs ir 32 * 16, kas nozīmē, ka katrā rindā ir 32 gaismas diodes un katrā kolonnā ir 16 gaismas diodes. Tātad katrā led izkārtnē kopā ir 512 gaismas diodes. Izņemot to, tam ir IP65 hidroizolācijas vērtējums, to var darbināt ar vienu 5V strāvas avotu, tam ir ļoti plašs skata leņķis, un spilgtums var sasniegt 4500 nitus. Tātad, to varēsiet skaidri redzēt dienas gaismā. Iepriekš mēs arī izmantojām šo P10 displeju ar Arduino, lai izveidotu vienkāršu LED paneli.
Pin apraksts par P10 LED Matrix:
Šajā LED displeja panelī ievades un izvades savienojumam tiek izmantota 10 kontaktu pasta galvene, šajā sadaļā mēs esam aprakstījuši visas nepieciešamās šī moduļa tapas. Jūs varat arī redzēt, ka moduļa vidū ir ārējs 5 V savienotājs, ko izmanto ārējās barošanas pieslēgšanai pie plates.
- Iespējot: šo tapu izmanto, lai kontrolētu LED paneļa spilgtumu, piešķirot tam PWM impulsu.
- A, B: Tos sauc par multipleksu atlases tapām. Viņi izvēlas ciparu ievadi, lai izvēlētos visas multipleksās rindas.
- Maiņas pulkstenis (CLK), Veikala pulkstenis (SCLK) un Dati: tie ir parastie maiņu reģistra vadības tapas. Šeit tiek izmantots maiņu reģistrs 74HC595.
Saskarnes P10 LED displeja modulis ar Arduino:
P10 matricas displeja moduļa savienošana ar Arduino ir ļoti vienkāršs process, mūsu ķēdē mēs konfigurējām Arduino 9. kontaktu kā Iespējot tapu, 6. tapu kā A pin, 7. kontaktu kā tapu B, 13. kontaktu ir CLK, 8. kontaktu ir SCLK, Pin 11 ir DATA, un visbeidzot Pin GND ir moduļa un Arduino GND tapa, pilnīga tabula zemāk skaidri izskaidro tapu konfigurāciju.
P10 LED modulis |
Arduino UNO |
IESPĒJIET |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATI |
11 |
GND |
GND |
Piezīme: Pievienojiet P10 moduļa barošanas spaili ārējam 5 V barošanas avotam, jo 512 gaismas diodes patērēs daudz enerģijas. 5 V, 3 ampēru līdzstrāvas barošanas avotu ieteicams pieslēgt vienai P10 LED moduļa vienībai. Ja plānojat pievienot vairāk numuru moduļa, attiecīgi palieliniet savu SMPS jaudu.
Komponenti, kas nepieciešami Arduino rezultātu apkopojumam
Tā kā tas ir ļoti vienkāršs projekts, sastāvdaļu prasības ir ļoti vispārīgas, nepieciešamo komponentu saraksts ir parādīts zemāk, jums vajadzētu būt iespējai atrast visu uzskaitīto materiālu savā vietējā hobiju veikalā.
- Arduino Nano
- P10 LED matricas displejs
- Maizes dēlis
- 5 V, 3 AMP SMPS
- HC-05 Bluetooth modulis
- Vadu savienošana
Arduino rezultātu tablo shēma
Arduino LED rezultātu tablo shēma ir parādīta zemāk, jo šis projekts ir ļoti vienkāršs, shēmas izstrādei esmu izmantojis populāro programmatūras fritzing.
Ķēdes darbība ir ļoti vienkārša, mums ir Android lietojumprogramma un Bluetooth modulis, lai veiksmīgi sazinātos ar Bluetooth moduli, jums ir jāsavieno HC-05 modulis ar android lietojumprogrammu. Kad mēs esam izveidojuši savienojumu, mēs varam nosūtīt virkni, kuru mēs vēlamies parādīt, pēc tam, kad virkne ir nosūtīta, Arduino apstrādās virkni un pārveidos to par signālu, ko iekšējais 74HC595 nobīdes rezistors var saprast, pēc tam, kad dati ir nosūtīti uz maiņu rezistors, tas ir gatavs displejam.
Arduino rezultātu tablo koda skaidrojums
Pēc veiksmīgas aparatūras iestatīšanas pabeigšanas ir pienācis laiks Arduino Nano programmēšanai. Tālāk ir sniegts pakāpenisks koda apraksts. Šīs apmācības beigās varat arī iegūt pilnu Arduino rezultātu tablo.
Pirmkārt, mums jāiekļauj visas bibliotēkas. Mēs izmantojām bibliotēku DMD.h, lai kontrolētu P10 vadīto displeju. To var lejupielādēt un iekļaut no norādītās GitHub saites. Pēc tam jums ir jāiekļauj TimerOne.h bibliotēka, kas tiks izmantota programmēšanas pārtraukšanai mūsu kodā.
Šajā bibliotēkā ir pieejamas daudzas frontes, šim projektam esam izmantojuši “ Arial_black_16 ”.
# iekļaut
Nākamajā solī mūsu LED matricas plāksnei ir noteikts rindu un kolonnu skaits. Šajā projektā esam izmantojuši tikai vienu moduli, tāpēc gan ROW vērtību, gan COLUMN vērtību var definēt kā 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Pēc tam tiek definēti visi kodā izmantotie mainīgie. Rakstzīmju mainīgais tiek izmantots, lai saņemtu sērijveida datus no Android App, rādītāju glabāšanai tiek izmantotas divas vesela skaitļa vērtības, un tiek definēts masīvs, kurā tiek glabāti Matricā parādāmie galīgie dati.
char ievade; int a = 0, b = 0; int karogs = 0; char cstr1;
Ir definēts Function scan_module (), kas, izmantojot SPI, nepārtraukti pārbauda visus ienākošos datus no Arduino Nano. Ja jā, tad tas izraisīs pārtraukumu noteiktu notikumu veikšanai, kā to definējis lietotājs programmā.
void scan_module () { led_module.scanDisplayBySPI (); }
Iestatīšanas iekšpusē () taimeris tiek inicializēts, un pārtraukums tiek pievienots funkcijai scan_module, kas tika apspriests iepriekš. Sākotnēji ekrāns tika notīrīts, izmantojot funkciju Clear screen (true), kas nozīmē, ka visi pikseļi ir definēti kā OFF.
Iestatījumā sērijveida sakari tika iespējoti arī, izmantojot funkciju Serial.begin (9600), kur 9600 ir Bluetooth sakaru pārraides ātrums.
void setup () { Sērijas.sākt (9600); Timer1.inicialize (2000); Taimeris1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Šeit tiek pārbaudīta sērijveida datu pieejamība, ja ir derīgi dati no Arduino vai nē. Saņemtie dati no lietotnes tiek saglabāti mainīgajā.
if (Seriāls.pieejams ()> 0) { flag = 0; ievade = Serial.read ();
Tad saņemto vērtību salīdzināja ar iepriekš definēto mainīgo. Šeit, Android lietojumprogrammā, tiek izmantotas divas pogas, lai atlasītu abu komandu rādītājus. Nospiežot pogu 1, rakstzīme 'a' tiek pārsūtīta uz Arduino un, nospiežot pogu2, raksturs 'b' tiek nosūtīts uz Arduino. Tādējādi šajā sadaļā šie dati tiek saskaņoti, un, ja tie ir saskaņoti, attiecīgās rezultātu vērtības tiek palielinātas, kā parādīts kodā.
ja (ievade == 'a' && karogs == 0) { karogs = 1; a ++; } else if (ievade == 'b' && flag == 0) { flag = 1; b ++; } cits;
Tad saņemtie dati tiek pārveidoti par rakstzīmju masīvu, jo P10 matricas funkcija spēj parādīt tikai rakstzīmju datu tipu. Tāpēc visi mainīgie tiek pārveidoti un sasaistīti rakstzīmju masīvā.
(String ("HOME:") + virkne (a) + virkne ("-") + virkne ("AWAY:") + virkne (b)). ToCharArray (cstr1, 50);
Pēc tam, lai modulī parādītu informāciju, tiek izmantots fonts, izmantojot izvēles () funkciju. Pēc tam funkciju DrawMarquee () izmanto, lai parādītu vajadzīgo informāciju uz P10 dēļa.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Visbeidzot, tā kā mums ir nepieciešams ritinošs ziņojumu displejs, es esmu uzrakstījis kodu, lai visu mūsu ziņojumu pārvietotu no labās uz kreiso virzienu, izmantojot noteiktu periodu.
ilgs sākums = milis (); garš timmēšana = sākums; būla karogs = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timm = milis (); } }
Tas iezīmē mūsu kodēšanas procesa beigas. Un tagad tas ir gatavs augšupielādei.
Viedtālruņa kontrolēta rezultātu tabula - pārbaude
Pēc koda augšupielādes vietnē Arduino ir pienācis laiks pārbaudīt projektu. Pirms tam mūsu viedtālrunī ir jāinstalē android lietojumprogramma. Lietojumprogrammu P10 Score Board var lejupielādēt no norādītās saites. Pēc instalēšanas atveriet lietotni, un sākuma ekrānam vajadzētu izskatīties kā zemāk redzamais attēls.
Noklikšķiniet uz pogas SCAN, lai pievienotu Bluetooth moduli ar App. Tas parādīs pārī savienoto tālruņa Bluetooth ierīču sarakstu. Ja iepriekš neesat savienojis pārī HC-05 Bluetooth moduli, savienojiet moduli pārī, izmantojot tālruņa Bluetooth iestatījumu, un pēc tam veiciet šo darbību. Ekrāns izskatīsies kā parādīts:
Pēc tam sarakstā noklikšķiniet uz “HC-05”, jo tas ir mūsu šeit izmantotā Bluetooth moduļa nosaukums. Pēc noklikšķināšanas uz tā ekrānā būs redzams savienojums. Tad mēs varam turpināt darbu ar rezultātu tablo.
Noklikšķiniet uz jebkuras pogas starp “Mājas” un “Prom”, kā parādīts lietotnē. Ja ir atlasīta poga Sākums, mājas rādītājs tiks palielināts P10 displejā. Līdzīgi, ja tiek atlasīta poga Away, tiks palielināts Away rādītājs. Zemāk redzamajā attēlā parādīts, kā izskatās pēdējais ekrāns.
Es ceru, ka jums patika projekts un uzzinājāt kaut ko jaunu. Ja jums ir kādi citi jautājumi par projektu, nekautrējieties komentēt zemāk vai arī varat uzdot savu jautājumu mūsu forumā.