- P10 LED matrica zaslona
- Komponente potrebne za Arduino semafor
- Kružni dijagram za Arduino semafor
- Objašnjenje Arduino Scoreboard koda
Elektronički semafor jedan je od najvažnijih uređaja koji itko može imati tijekom bilo kojeg sportskog turnira. Stari ručni pregled rezultata korištenjem konvencionalnih metoda vrlo su dugotrajni i skloni pogreškama, stoga kompjuterizirani semafor postaje neophodan tamo gdje je jedinicu zaslona potrebno mijenjati u stvarnom vremenu. Zbog toga ćemo u ovom projektu graditi Bluetooth kontrolirani bežični semafor u kojem možemo mijenjati rezultat na ploči samo pomoću android aplikacije. Mozak ovog projekta je Arduino Nano, a za dio zaslona koristit ćemo P10 LED matricu za prikaz rezultata na daljinu u stvarnom vremenu.
P10 LED matrica zaslona
P10 LED matrica zaslona je najbolji način na raspolaganju kako bi se LED ploču za vanjsku ili unutarnju upotrebu. Ovaj panel ima ukupno 512 LED dioda visoke svjetline postavljenih na plastično kućište dizajnirano za najbolje rezultate prikaza. Također dolazi s IP65 ocjenom za hidroizolaciju što ga čini savršenim za vanjsku upotrebu. Pomoću toga možete napraviti veliku LED ploču kombiniranjem bilo kojeg broja takvih ploča u bilo kojoj strukturi redaka i stupaca.

Naš modul ima veličinu 32 * 16, što znači da se u svakom retku nalaze 32 LED diode i 16 LED dioda u svakom stupcu. Dakle, u svakoj led ploči prisutno je ukupno 512 LED dioda. Osim toga, ima IP65 ocjenu za hidroizolaciju, može ga napajati jedan izvor napajanja od 5 V, ima vrlo širok kut gledanja, a svjetlina može doseći i do 4500 nita. Dakle, moći ćete to jasno vidjeti na dovedenom dnevnom svjetlu. Prije smo također koristili ovaj P10 zaslon s Arduinom za izradu jednostavne LED ploče.
Pin Opis od P10 LED Matrix:
Ova ploča LED zaslona koristi 10-pinsko zaglavlje pošte za ulazno i izlazno povezivanje, u ovom smo odjeljku opisali sve potrebne igle ovog modula. Također, možete vidjeti da se u sredini modula nalazi vanjski 5V konektor koji se koristi za spajanje vanjskog napajanja na ploču.

- Omogući: Ovaj se pin koristi za upravljanje svjetlinom LED ploče davanjem PWM impulsa.
- A, B: Oni se nazivaju višestrukim odabirom pinova. Uzimaju digitalni ulaz da bi odabrali bilo koji multipleks redak.
- Sat za pomicanje (CLK), sat za pohranu (SCLK) i Podaci: To su normalne igle za upravljanje registrom pomaka. Ovdje se koristi registar pomaka 74HC595.
Povezivanje P10 modula LED zaslona s Arduinom:
Povezivanje matričnog modula zaslona P10 na Arduino vrlo je jednostavan postupak, u našem smo krugu konfigurirali pin 9 Arduina kao Enable pin, Pin 6 kao Pin A, Pin 7 kao pin B, Pin 13 je CLK, Pin 8 je SCLK, Pin 11 je DATA, i na kraju Pin GND je GND pin za modul i Arduino, kompletna tablica u nastavku jasno objašnjava konfiguraciju pin-a.
|
P10 LED modul |
Arduino UNO |
|
OMOGUĆITI |
9 |
|
A |
6 |
|
B |
7 |
|
CLK |
13 |
|
SCLK |
8 |
|
PODACI |
11 |
|
GND |
GND |
Napomena: Spojite terminal napajanja modula P10 na vanjski izvor napajanja od 5 V, jer će 512 LED dioda trošiti puno energije. Preporučuje se priključiti 5V istosmjerno napajanje od 3 A na jednu jedinicu P10 LED modula. Ako planirate povezati više modula s brojevima, tada u skladu s tim povećajte svoj SMPS kapacitet.
Komponente potrebne za Arduino semafor
Budući da je ovo vrlo jednostavan projekt, zahtjevi za komponentama su vrlo generički, popis potrebnih komponenti prikazan je u nastavku, sav navedeni materijal trebali biste moći pronaći u svojoj lokalnoj hobi trgovini.
- Arduino Nano
- P10 LED matrični zaslon
- Breadboard
- 5V, 3 AMP SMPS
- HC-05 Bluetooth modul
- Spajanje žica
Kružni dijagram za Arduino semafor
Shema za tablicu rezultata Arduino LED prikazana je u nastavku, jer je ovaj projekt vrlo jednostavan, za izradu sheme koristio sam popularni softver fritzing.

Rad sklopa je vrlo jednostavan, imamo Android aplikaciju i Bluetooth modul, da biste uspješno komunicirali s Bluetooth modulom, morate upariti HC-05 modul s android aplikacijom. Jednom kad smo povezani, možemo poslati niz koji želimo prikazati, nakon što se niz pošalje, Arduino će obraditi niz i pretvoriti ga u signal koji unutarnji otpornik za pomicanje 74HC595 može razumjeti, nakon što podaci budu poslani u smjenu otpornik, spreman za prikaz.
Objašnjenje Arduino Scoreboard koda
Nakon uspješnog završetka postavljanja hardvera, sada je vrijeme za programiranje Arduino Nano-a. Postepeni opis koda dan je u nastavku. Također, možete dobiti cjeloviti Arduino Scoreboard kôd na dnu ovog vodiča.
Prije svega, moramo uključiti sve knjižnice. Knjižnicu DMD.h koristili smo za upravljanje P10 LED zaslonom. Možete ga preuzeti i uključiti s dane GitHub veze. Nakon toga trebate uključiti biblioteku TimerOne.h koja će se koristiti za programiranje prekida u našem kodu.
U ovoj je knjižnici dostupno mnogo fronti, za ovaj smo projekt koristili “ Arial_black_16 ”.
#include
U sljedećem koraku definiran je broj redaka i stupaca za našu LED matričnu ploču. U ovom smo projektu koristili samo jedan modul, pa se vrijednost ROW i vrijednost COLUMN mogu definirati kao 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Nakon toga definiraju se sve varijable korištene u kodu. Znakovna varijabla koristi se za primanje serijskih podataka iz aplikacije Android, dvije cjelobrojne vrijednosti koriste se za spremanje rezultata, a definiran je niz koji pohranjuje konačne podatke koji će se prikazati na Matrici.
unos znaka; int a = 0, b = 0; zastavica int = 0; char cstr1;
Definirana je funkcija scan_module () koja kontinuirano provjerava ima li dolaznih podataka iz Arduino Nano putem SPI. Ako je odgovor da, tada će pokrenuti prekid za obavljanje određenih događaja kako ih definira korisnik u programu.
poništi scan_module () { led_module.scanDisplayBySPI (); }
Unutar setup (), tajmer se inicijalizira, a prekid je priključen na funkciju scan_module, o čemu je ranije bilo riječi. U početku je zaslon očišćen pomoću funkcije bistri zaslon (true), što znači da su svi pikseli definirani kao ISKLJUČENO.
U postavkama je omogućena i serijska komunikacija pomoću funkcije Serial.begin (9600) gdje je 9600 brzina prijenosa za Bluetooth komunikaciju.
void setup () { Serial.begin (9600); Timer1.inicialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (istina); }
Ovdje se provjerava dostupnost serijskih podataka ako postoje valjani podaci koji dolaze iz Arduina ili ne. Primljeni podaci iz aplikacije pohranjuju se u varijablu.
if (Serial.available ()> 0) { zastava = 0; input = Serial.read ();
Zatim se primljena vrijednost uspoređuje s unaprijed definiranom varijablom. Ovdje se u aplikaciji Android uzimaju dva gumba za odabir rezultata za oba tima. Kada se pritisne tipka 1, znak 'a' prenosi se na Arduino, a kada se pritisne tipka2, znak 'b' se prenosi na Arduino. Stoga se u ovom odjeljku ovi podaci podudaraju, a ako se podudaraju, tada se odgovarajuće vrijednosti rezultata povećavaju kako je prikazano u kodu.
if (input == 'a' && flag == 0) { flag = 1; a ++; } inače ako (input == 'b' && flag == 0) { flag = 1; b ++; } ostalo;
Zatim se primljeni podaci pretvaraju u niz znakova, jer je funkcija matrice P10 sposobna prikazati samo tip podataka znakova. Zbog toga se sve varijable pretvaraju i spajaju u niz znakova.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Zatim, za prikaz podataka u modulu, font se bira pomoću funkcije selection (). Tada se funkcija drawMarquee () koristi za prikaz željenih podataka na ploči P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * RED), 0);
Konačno, budući da nam je potreban pomični prikaz poruke, napisao sam kôd za pomicanje cijele naše poruke iz smjera zdesna ulijevo u određeno vrijeme.
dugo pokretanje = milis (); dugo vremena = početak; logička zastava = lažno; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); vremensko određivanje = milis (); } }
Ovo označava kraj našeg postupka kodiranja. I sada je spremno za prijenos.
Ploča s kontroliranim pametnim telefonom - testiranje
Nakon prijenosa koda na Arduino, vrijeme je da testirate projekt. Prije toga na naš pametni telefon treba instalirati android aplikaciju. Aplikaciju P10 Score Board možete preuzeti s dane poveznice. Jednom instalirajte, otvorite aplikaciju i početni zaslon trebao bi izgledati poput donje slike.

Kliknite gumb SKENIRAJ da biste dodali Bluetooth modul s aplikacijom. Ovo će prikazati popis uparenih Bluetooth uređaja na telefonu. Ako prije niste uparili Bluetooth modul HC-05, uparite modul pomoću Bluetooth postavke na telefonu, a zatim napravite ovaj korak. Zaslon će izgledati kao prikazan:

Zatim, s popisa, kliknite na “HC-05” jer je to naziv našeg Bluetooth modula koji se ovdje koristi. Nakon klika na njega, na zaslonu će se prikazati povezano. Tada možemo nastaviti sa semaforom.
Kliknite bilo koji gumb između "Početna" i "U gostima", kao što je prikazano u aplikaciji. Ako je odabran gumb Početna, ocjena Doma bit će povećana na zaslonu P10. Slično tome, ako je odabran gumb Odsustvo, rezultat Odmaknut će se povećavati. Slika ispod prikazuje kako izgleda završni zaslon.

Nadam se da vam se svidio projekt i naučili ste nešto novo. Ako imate još pitanja u vezi s projektom, slobodno komentirajte dolje ili svoje pitanje možete postaviti na našem forumu.
