În acest proiect vom proiecta un afișaj cu matrice LED 8x8, pentru aceasta vom interfața un modul matrice LED 8x8 cu Arduino Uno. O matrice LED 8x8 conține 64 de LED-uri (diode emițătoare de lumină) care sunt aranjate sub forma unei matrice, de unde și denumirea de matrice LED.
Aceste matrice pot fi realizate prin circuitarea a 64 de LED-uri, cu toate acestea acest proces consumă mult timp. Acum, pe zi, acestea sunt disponibile în forme compacte, așa cum se arată în imaginea de mai jos. Aceste module compacte sunt disponibile în diferite dimensiuni și multe culori. Costul modulului este același cu costul a 64 de LED-uri, deci pentru pasionați acest lucru este cel mai ușor de lucrat.
Matricea cu LED-uri goale are 16 ieșiri cu pin, cu 8 pozitive comune și alte 8 negative comune. Pentru a conecta această matrice direct la un UNO, trebuie să economisim 16 pini pe UNO. Cu pinii de ieșire scăzuți pe UNO, nu putem economisi 16 PIN-uri. Deci, trebuie să conectăm această matrice la un cip de driver. Acest cip driver împreună cu matricea vine ca un set care este prezentat în figura de mai jos.
Acest modul va fi interfațat cu Arduino pentru afișarea alfabetelor, de aici afișarea matricială. În primul rând pentru interfațarea matricei LED cu Arduino, trebuie să descărcăm o bibliotecă special concepută pentru LED MATRIX. Această bibliotecă va fi disponibilă la:
După descărcarea fișierului Zip, extrageți conținutul în folderul ARDUINO. (Accesați discul local unde este instalat software-ul ARDUINO NIGHTLY, deschideți folderul, căutați folderul numit „biblioteca”, extrageți conținutul fișierului zip din acel folder, reporniți programul, acum veți putea utiliza caracteristici pentru interfața matricială)
Componente necesare
Hardware: Arduino Uno, sursă de alimentare (5v), condensator 100 uF (conectat la sursa de alimentare)
Software: Arduino Nightly
Diagrama și explicația circuitului
Conexiunile care se fac între Arduino Uno și modulul cu matrice LED sunt prezentate în tabelul de mai jos.
PIN2 ------------------ LOAD sau CHIPSELECT al modulului LED
PIN3 ------------------ Ceasul modulului LED
PIN4 ------------------ DATAIN al modulului LED
+ 5V ------------------ VCC al modulului LED
GND ------------------ GND al modulului LED
Schema circuitului afișajului matricial LED 8 * 8 este prezentată în figura de mai jos.
Acum, pentru a folosi viitorul special numit prin instalarea unei noi biblioteci, trebuie să stabilim câteva comenzi în program și sunt indicate mai jos.
#include „LedControlMS.h” #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Mai întâi trebuie să apelăm fișierul antet pentru interfațarea unei matrice de LED-uri la Arduino Uno. Adică ”#include„ LedControlMS.h ””, acest fișier antet numește funcțiile speciale ale bibliotecii.
Avem o caracteristică cu aceste module, putem conecta numeroase module în serie și le putem programa împreună ca un singur afișaj. Această caracteristică este utilă atunci când avem nevoie de o unitate de afișare care poate afișa mai multe caractere la un moment dat. Deci, trebuie să îi spunem controlerului câte afișaje conectăm.
În acest modul există în principal trei pini; fluxul de date de la UNO la modul are loc cu acești trei pini. Pinii sunt DATAIN (pinul de primire a datelor), CLOCK (pinul de ceas) și CHIPSELECT (pinul de recepție a comenzii).
Acum trebuie să spunem UNO unde conectăm acești pini. Acest lucru se face prin comanda „LedControl lc = LedControl (4,3,2, NBR_MTX); ”. „Lc.writeString (0," CIRCUITDIGEST ");”, această comandă este utilizată pentru a spune UNO ce caractere vor fi afișate pe matricea LED. Cu cele de mai sus, afișajul arată „CIRCUITDIGEST”, cu fiecare caracter o singură dată.
Trebuie să ștergem memoria cipului de afișare înainte de a trimite alte date, acest lucru se face prin comanda ”lc.clearAll ();".
În acest fel, putem interfața cu ușurință o matrice LED 8x8 cu Arduino Uno.