- Matrika LED zaslona P10
- Komponente, potrebne za pregled stanja Arduino
- Shema vezja za preglednico Arduino
- Razlaga kode Arduino Scoreboard
Elektronski semafor je eden najpomembnejših pripomočkov, ki jih lahko ima kdo na katerem koli športnem turnirju. Stara ročna preglednica s konvencionalnimi metodami je zelo zamudna in nagnjena k napakam, zato je računalniški pregled stanja potreben tam, kjer je treba prikazovalno enoto spremeniti sproti. Zato bomo v tem projektu zgradili brezžično preglednico z nadzorom Bluetooth, v kateri bomo lahko rezultat na plošči spremenili samo z uporabo aplikacije za Android. Možgani tega projekta so Arduino Nano, za del zaslona pa bomo uporabili LED matriko P10 za prikaz rezultatov na daljavo v realnem času.
Matrika LED zaslona P10
P10 LED Matrix Display je najboljši način na voljo, da bi LED svet za zunanjo ali notranjo uporabo. Ta plošča ima skupaj 512 LED z visoko svetlostjo, nameščenih na plastičnem ohišju, zasnovanih za najboljše rezultate prikaza. Na voljo je tudi z oceno IP65 za hidroizolacijo, zaradi česar je kot nalašč za zunanjo uporabo. S tem lahko naredite veliko LED tablo s kombiniranjem poljubnega števila takih plošč v kateri koli strukturi vrstic in stolpcev.
Naš modul ima velikost 32 * 16, kar pomeni, da je v vsaki vrstici 32 LED in v vsakem stolpcu 16 LED. Torej je v vsaki led tabli skupaj 512 LED. Razen tega ima IP65 za hidroizolacijo, napaja ga lahko en sam 5V vir energije, ima zelo širok kot gledanja in svetlost lahko doseže do 4500 gnidov. Torej ga boste lahko jasno videli pri prineseni dnevni svetlobi. Prej smo ta zaslon P10 skupaj z Arduinom uporabljali tudi za izdelavo preproste LED plošče.
Pin Opis od P10 LED Matrix:
Ta plošča zaslona LED uporablja 10-pinski poštni naslov za vhodno in izhodno povezavo, v tem poglavju smo opisali vse potrebne nožice tega modula. Prav tako lahko vidite, da je na sredini modula zunanji 5V konektor, ki se uporablja za priključitev zunanjega napajanja na ploščo.
- Omogoči: Ta zatič se uporablja za nadzor svetlosti LED-plošče, tako da ji da impulz PWM.
- A, B: Ti se imenujejo multiplex select pin. Z digitalnim vhodom izberejo poljubne vrstice multipleksa.
- Premik ure (CLK), shranjevanje ure (SCLK) in podatki: to so običajni zatiči krmilnega registra pomika. Tu se uporablja prestavni register 74HC595.
Povezava modula LED zaslona P10 z Arduino:
Priključitev modula matričnega zaslona P10 na Arduino je zelo preprost postopek, v našem vezju smo pin 9 Arduina konfigurirali kot Omogoči pin, Pin 6 kot Pin A, Pin 7 kot pin B, Pin 13 je CLK, Pin 8 je SCLK, Pin 11 je DATA, in končno Pin GND je GND pin za modul in Arduino, popolna spodnja tabela jasno razlaga konfiguracijo pinov.
P10 LED modul |
Arduino UNO |
Omogoči |
9. |
A |
6. |
B |
7. |
CLK |
13. |
SCLK |
8. |
PODATKI |
11. |
GND |
GND |
Opomba: Napajalni priključek modula P10 priključite na zunanji 5V vir energije, ker bo 512 LED-diod porabilo veliko energije. Priporočljivo je, da 5V, 3 Amp DC napajalnik priključite na eno enoto modula LED P10. Če nameravate priključiti več modulov s številkami, nato ustrezno povečajte svojo zmogljivost SMPS.
Komponente, potrebne za pregled stanja Arduino
Ker je to zelo preprost projekt, so zahteve po komponentah zelo splošne, spodaj je prikazan seznam zahtevanih komponent, zato bi lahko vse našteto gradivo našli v vaši lokalni hobi trgovini.
- Arduino Nano
- P10 LED matrični zaslon
- Breadboard
- 5V, 3 AMP SMPS
- Modul Bluetooth HC-05
- Povezovanje žic
Shema vezja za preglednico Arduino
Shema za preglednico arduino LED je prikazana spodaj, saj je ta projekt zelo preprost, za razvoj sheme sem uporabil priljubljeno programsko opremo fritzing.
Delo vezja je zelo preprosto, imamo aplikacijo za Android in modul Bluetooth, za uspešno komunikacijo z modulom Bluetooth morate modul HC-05 seznaniti z aplikacijo android. Ko smo povezani, lahko pošljemo niz, ki ga želimo prikazati. Ko je niz poslan, bo Arduino niz obdelal in ga pretvoril v signal, ki ga lahko razume notranji upor prestavljanja 74HC595, potem ko so podatki poslani v izmeno upor, pripravljen za prikaz.
Razlaga kode Arduino Scoreboard
Po uspešnem zaključku namestitve strojne opreme je zdaj čas za programiranje Arduino Nano. Postopni opis kode je podan spodaj. Na dnu te vadnice lahko dobite tudi celotno kodo Arduino Scoreboard.
Najprej moramo vključiti vse knjižnice. Knjižnico DMD.h smo uporabili za nadzor LED zaslona P10. Lahko ga prenesete in vključite s podane povezave GitHub. Po tem morate vključiti knjižnico TimerOne.h, ki bo uporabljena za programiranje prekinitev v naši kodi.
V tej knjižnici je na voljo veliko front, za ta projekt smo uporabili “ Arial_black_16 ”.
#include
V naslednjem koraku je število vrstic in stolpcev določeno za našo matrično ploščo LED. V tem projektu smo uporabili samo en modul, tako da lahko vrednost ROW in vrednost COLUMN določimo kot 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Po tem so definirane vse spremenljivke, ki se uporabljajo v kodi. Značilna spremenljivka se uporablja za sprejem zaporednih podatkov iz aplikacije Android, dve celoštevilčni vrednosti se uporabljajo za shranjevanje rezultatov in definirana je matrika, ki shranjuje končne podatke, ki bodo prikazani v matriki.
vnos znakov; int a = 0, b = 0; int zastava = 0; char cstr1;
Določena je funkcija scan_module (), ki prek SPI neprekinjeno preverja morebitne dohodne podatke iz Arduino Nano. Če je odgovor pritrdilen, bo sprožil prekinitev za izvajanje določenih dogodkov, kot jih določi uporabnik v programu.
neveljavna scan_module () { led_module.scanDisplayBySPI (); }
Znotraj nastavitve () se časovnik inicializira, prekinitev pa je pritrjena na funkcijo scan_module, o čemer smo že govorili. Sprva je bil zaslon očiščen s funkcijo Clear screen (true), kar pomeni, da so vse slikovne pike definirane kot OFF.
Pri namestitvi je bila serijska komunikacija omogočena tudi s funkcijo Serial.begin (9600), kjer je 9600 hitrost prenosa podatkov za komunikacijo Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Tu se preveri razpoložljivost serijskih podatkov, če obstajajo veljavni podatki, ki prihajajo iz Arduina ali ne. Prejeti podatki iz aplikacije so shranjeni v spremenljivki.
if (Serial.available ()> 0) { zastava = 0; input = Serial.read ();
Nato je bila prejeta vrednost primerjana z vnaprej določeno spremenljivko. Tukaj sta v aplikaciji Android dva gumba za izbiro rezultatov za obe ekipi. Ko pritisnete gumb 1, se znak 'a' prenese v Arduino, ob pritisku gumba2 pa znak 'b' v Arduino. Zato se v tem odseku ti podatki ujemajo in če se ujemajo, se ustrezne vrednosti točk povečajo, kot je prikazano v kodi.
if (input == 'a' && flag == 0) { flag = 1; a ++; } sicer če (input == 'b' && flag == 0) { flag = 1; b ++; } drugače;
Nato se prejeti podatki pretvorijo v polje znakov, saj je matrična funkcija P10 sposobna prikazati samo tip podatkov znakov. Zato se vse spremenljivke pretvorijo in združijo v matriko znakov.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Nato se za prikaz informacij v modulu s funkcijo selection () izbere pisava. Nato se funkcija drawMarquee () uporablja za prikaz želenih informacij na plošči P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Nazadnje, ker potrebujemo drsni prikaz sporočil, sem napisal kodo, s katero sem celotno sporočilo premaknil iz desne v levo smer z uporabo določenega obdobja.
dolg začetek = milis (); dolgo časovno ure = začetek; logična zastava = napačno; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); merjenje časa = milis (); } }
To pomeni konec našega kodiranja. In zdaj je pripravljeno za nalaganje.
Pametno nadzorovan pregled stanja - preskušanje
Po nalaganju kode v Arduino je čas, da preizkusite projekt. Pred tem je treba na naš pametni telefon namestiti aplikacijo android. Aplikacijo P10 Score Board lahko prenesete s podane povezave. Ko je nameščena, odprite aplikacijo in začetni zaslon naj bo videti kot spodnja slika.
Kliknite gumb SCAN, da dodate modul Bluetooth z aplikacijo. Prikaže se seznam seznanjenih naprav Bluetooth v telefonu. Če še niste seznanili modula Bluetooth HC-05, ga seznanite s pomočjo nastavitve Bluetooth v telefonu in nato izvedite ta korak. Zaslon bo videti tako, kot je prikazano:
Nato na seznamu kliknite »HC-05«, saj je to ime našega tukaj uporabljenega modula Bluetooth. Po kliku nanj se na zaslonu prikaže povezan. Nato lahko nadaljujemo s semaforjem.
Kliknite kateri koli gumb med možnostmi »Doma« in »Proč«, kot je prikazano v aplikaciji. Če je izbran gumb Domov, se rezultat Doma poveča na zaslonu P10. Če je izbran gumb Away, se bo rezultat Away povečal. Spodnja slika prikazuje, kako izgleda končni zaslon.
Upam, da vam je bil projekt všeč in ste se naučili kaj novega. Če imate še kakšno vprašanje v zvezi s projektom, vas prosimo, da komentirate spodaj ali pa svoje vprašanje postavite na našem forumu.