- P10 LED ekrano matrica
- „Arduino“ rezultatų suvestinei reikalingi komponentai
- „Arduino“ rezultatų suvestinės schema
- „Arduino“ rezultatų suvestinės kodo paaiškinimas
Elektroninė rezultatų suvestinė yra viena iš svarbiausių įtaisų, kuriuos kiekvienas gali turėti bet kurio sporto turnyro metu. Senoji rankinė rezultatų suvestinė, naudojant įprastus metodus, užima daug laiko ir yra linkusi į klaidas, todėl kompiuterinė rezultatų suvestinė tampa reikalinga tais atvejais, kai ekrano bloką reikia pakeisti realiuoju laiku. Štai kodėl šiame projekte sukursime „ Bluetooth“ valdomą belaidę rezultatų suvestinę, kurioje galėsime pakeisti lentos rezultatą tiesiog naudodami „ Android“ programą. Šio projekto smegenys yra „Arduino Nano“, o ekrano dalyje mes naudosime P10 LED matricą, kad rezultatas būtų rodomas nuotoliniu būdu realiuoju laiku.
P10 LED ekrano matrica
„ P10“ LED matricos ekranas yra geriausias būdas gaminti LED lentą, skirtą naudoti lauke arba viduje. Šiame skydelyje iš viso yra 512 didelio ryškumo šviesos diodų, sumontuotų ant plastikinio korpuso, skirtų geriausiems ekrano rezultatams pasiekti. Jis taip pat turi IP65 hidroizoliaciją, todėl puikiai tinka naudoti lauke. Tokiu būdu galite padaryti didelę LED iškabą, sujungdami bet kokį tokių plokščių skaičių bet kurioje eilutės ir stulpelio struktūroje.
Mūsų modulio dydis yra 32 * 16, o tai reiškia, kad kiekvienoje eilutėje yra 32 šviesos diodai ir kiekviename stulpelyje yra 16 šviesos diodų. Taigi kiekvienoje LED iškaboje yra 512 šviesos diodų. Be to, jis turi IP65 hidroizoliacijos reitingą, jį gali maitinti vienas 5V maitinimo šaltinis, jis turi labai platų žiūrėjimo kampą, o ryškumas gali siekti 4500 nitų. Taigi, galėsite aiškiai matyti dienos šviesoje. Anksčiau mes taip pat naudojome šį „P10“ ekraną su „Arduino“, kad sukurtume paprastą LED lentą.
Prisegti Aprašymas ir P10 LED Matrica:
Šioje LED ekranų plokštėje įvesties ir išvesties prijungimui naudojama 10 kontaktų pašto antraštė, šiame skyriuje aprašėme visus reikalingus šio modulio kaiščius. Be to, matote, kad modulio viduryje yra išorinė 5 V jungtis, naudojama išorinei maitinimo sistemai prijungti prie plokštės.
- Įjungti: Šis kaištis naudojamas valdyti LED skydelio ryškumą, suteikiant jam PWM impulsą.
- A, B: Tai vadinama „multiplex select pins“. Jie imasi skaitmeninio įvesties, kad pasirinktų bet kokias daugybines eiles.
- „Shift clock“ (CLK), „Store clock“ (SCLK) ir duomenys: tai yra įprasti „shift shift“ valdymo kaiščiai. Čia naudojamas pamainų registras 74HC595.
Sąsajos „P10“ LED ekranas su „Arduino“:
„ P10“ matricos rodymo modulio prijungimas prie „Arduino“ yra labai paprastas procesas, mūsų grandinėje mes sukonfigūravome „Arduino“ 9 kaištį kaip įjungti kaištį, 6 kaištį kaip A kaištį, 7 kaištį B, kaištį 13 yra CLK, kaištis 8 yra „SCLK“, „Pin 11“ yra DUOMENYS, ir galiausiai „Pin GND“ yra modulio ir „Arduino“ GND kaištis - visa toliau pateikta lentelė aiškiai paaiškina kaiščių konfigūraciją.
P10 LED modulis |
„Arduino UNO“ |
ĮJUNGTI |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DUOMENYS |
11 |
BND |
BND |
Pastaba: Prijunkite P10 modulio maitinimo gnybtą prie išorinio 5 V maitinimo šaltinio, nes 512 šviesos diodų sunaudos daug energijos. 5 V, 3 A nuolatinės srovės maitinimo šaltinį rekomenduojama prijungti prie vieno P10 LED modulio bloko. Jei planuojate prijungti daugiau skaičių modulio, atitinkamai padidinkite savo SMPS pajėgumus.
„Arduino“ rezultatų suvestinei reikalingi komponentai
Kadangi tai yra labai paprastas projektas, komponentų reikalavimai yra labai bendri, reikalingų komponentų sąrašas pateiktas žemiau, turėtumėte galėti rasti visą išvardytą medžiagą savo vietos pomėgių parduotuvėje.
- „Arduino Nano“
- P10 LED matricos ekranas
- Bandomoji Lenta
- 5 V, 3 AMP SMPS
- HC-05 „Bluetooth“ modulis
- Laidų sujungimas
„Arduino“ rezultatų suvestinės schema
„ Arduino LED Scoreboard “ schema parodyta žemiau, nes šis projektas yra labai paprastas, schemai sukurti panaudojau populiarią programinės įrangos fritzing.
Grandinės darbas yra labai paprastas, mes turime „Android“ programą ir „Bluetooth“ modulį, norint sėkmingai bendrauti su „Bluetooth“ moduliu, turite susieti HC-05 modulį su „Android“ programa. Kai mes būsime prisijungę, mes galime išsiųsti eilutę, kurią norime parodyti, kai tik ji bus išsiųsta, „Arduino“ apdoros eilutę ir pavers ją signalu, kurį gali suprasti vidinis 74HC595 poslinkio rezistorius, kai duomenys bus išsiųsti į pamainą rezistorius, paruoštas rodyti.
„Arduino“ rezultatų suvestinės kodo paaiškinimas
Sėkmingai baigus aparatūros sąranką, atėjo laikas programuoti „Arduino Nano“. Pakopinis kodo aprašymas pateiktas žemiau. Be to, šios pamokos apačioje galite gauti visą „ Arduino“ rezultatų suvestinės kodą.
Pirmiausia turime įtraukti visas bibliotekas. Norėdami valdyti P10 LED ekraną, mes naudojome „ DMD.h“ biblioteką. Galite atsisiųsti ir įtraukti iš nurodytos „GitHub“ nuorodos. Po to turite įtraukti „ TimerOne.h“ biblioteką, kuri bus naudojama programavimo pertraukimui į mūsų kodą.
Šioje bibliotekoje yra daugybė frontų, mes naudojome „ Arial_black_16 “ šiam projektui.
# įtraukti
Kitame etape nustatomas eilučių ir stulpelių skaičius mūsų LED matricos plokštėje. Šiame projekte naudojome tik vieną modulį, todėl tiek ROW reikšmę, tiek COLUMN reikšmę galima apibrėžti kaip 1.
#define ROW 1 #define 1 COLUMN #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Po to apibrėžiami visi kode naudojami kintamieji. Simbolių kintamasis naudojamas serijiniams duomenims gauti iš „Android App“, balams saugoti naudojamos dvi sveikojo skaičiaus reikšmės ir apibrėžtas masyvas, kuriame saugomi galutiniai matricoje rodomi duomenys.
char įvestis; int a = 0, b = 0; int vėliava = 0; char cstr1;
Apibrėžtas funkcijos „ scan_module“ (), kuris per SPI nuolat tikrina, ar nėra gaunamų duomenų iš „Arduino Nano“. Jei taip, tada jis bus sukelti nutraukti už tai tam tikrų įvykių, kaip apibrėžta programoje vartotojui.
void scan_module () { led_module.scanDisplayBySPI (); }
Viduje sąrankoje () laikmatis inicijuojamas, o pertraukimas pridedamas prie funkcijos scan_module, kuri buvo aptarta anksčiau. Iš pradžių ekranas buvo išvalytas naudojant funkciją „ Išvalyti ekraną“ (tiesa), o tai reiškia, kad visi pikseliai yra išjungti.
Sąrankoje nuoseklus ryšys taip pat buvo įjungtas naudojant funkciją „ Serial.begin“ (9600), kur 9600 yra „Bluetooth“ ryšio perdavimo greitis.
negaliojanti sąranka () { Serial.begin (9600); „Timer1.inicialize“ (2000); „Timer1.attachInterrupt“ (nuskaitymo_modulis); led_module.clearScreen (tiesa); }
Čia patikrinamas serijinių duomenų prieinamumas, jei yra teisingų duomenų iš „Arduino“, ar ne. Gauti duomenys iš Programos saugomi kintamajame.
if (Serial.available ()> 0) { flag = 0; įvestis = Serial.read ();
Tada gauta vertė buvo palyginta su iš anksto nustatytu kintamuoju. Čia „Android“ programoje imami du mygtukai, kad būtų galima pasirinkti abiejų komandų balus. Paspaudus mygtuką 1, simbolis „a“ perduodamas „Arduino“, o paspaudus mygtuką „2“ - „Arduino“. Taigi šiame skyriuje šie duomenys yra suderinti, o jei jie sutampa, atitinkamos balų vertės yra didinamos, kaip parodyta kode.
if (įvestis == 'a' && flag == 0) { flag = 1; a ++; } else if (įvestis == 'b' && flag == 0) { flag = 1; b ++; } kita;
Tada gaunami duomenys paverčiami simbolių masyvu, nes P10 matricos funkcija gali parodyti tik simbolių duomenų tipą. Štai kodėl visi kintamieji paverčiami ir sujungiami į simbolių masyvą.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Tada norint parodyti informaciją modulyje, šriftas parenkamas naudojant pasirinkimo () funkciją. Tada funkcija „ DrawMarquee ()“ naudojama norimai informacijai rodyti P10 plokštėje.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Galiausiai, kadangi mums reikia slinktinio pranešimo ekrano, aš parašiau kodą, kad tam tikrą laikotarpį persiųstume visą pranešimą iš dešinės į kairę.
ilga pradžia = milis (); ilgas aptempimas = pradžia; loginė vėliava = klaidinga; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); tinimas = milis (); } }
Tai žymi mūsų kodavimo proceso pabaigą. Ir dabar jis paruoštas įkelti.
Išmaniųjų telefonų valdoma rezultatų suvestinė - testavimas
Įkėlus kodą į „Arduino“, laikas išbandyti projektą. Prieš tai „Android“ programą reikia įdiegti mūsų išmaniajame telefone. Iš pateiktos nuorodos galite atsisiųsti „P10 Score Board“ programą . Įdiegę atidarykite programą ir pagrindinis ekranas turėtų atrodyti kaip žemiau pateiktas vaizdas.
Spustelėkite mygtuką NUSKAityti, kad pridėtumėte „Bluetooth“ modulį su programa. Tai parodys suporuotų telefono „Bluetooth“ įrenginių sąrašą. Jei dar nesate susieję „ HC-05 Bluetooth“ modulio, suporuokite modulį naudodami telefono „Bluetooth“ nustatymą ir atlikite šį veiksmą. Ekranas atrodys taip, kaip parodyta:
Tada sąraše spustelėkite „HC-05“, nes tai yra mūsų čia naudojamo „Bluetooth“ modulio pavadinimas. Paspaudus ant jo, ekrane pasirodys prijungtas. Tada galime tęsti rezultatų suvestinę.
Spustelėkite bet kurį mygtuką tarp „Namai“ ir „Away“, kaip parodyta programoje. Jei pasirenkamas mygtukas Pagrindinis, namų rodiklis bus padidintas P10 ekrane. Panašiai, jei bus pasirinktas mygtukas „Away“, „Away“ rezultatas bus padidintas. Žemiau pateiktame paveikslėlyje parodyta, kaip atrodo galutinis ekranas.
Tikiuosi, kad jums patiko projektas ir sužinojote kažką naujo, jei turite kitų klausimų dėl projekto, nedvejodami pakomentuokite žemiau arba galite užduoti klausimą mūsų forume.