I dette projekt skal vi designe et 8x8 LED-matrixskærm, til det skal vi interface et 8x8 LED-matrixmodul med Arduino Uno. En 8x8 LED-matrix indeholder 64 LED'er (lysemitterende dioder), som er arrangeret i form af en matrix, deraf navnet LED-matrix.
Disse matricer kan laves ved at kredsløb 64 lysdioder, men processen er tidskrævende. Nu om dagen er de tilgængelige i kompakte former som vist i billedet nedenfor. Disse kompakte moduler fås i forskellige størrelser og mange farver. Omkostningerne ved modul er de samme som omkostningerne ved 64 lysdioder, så for hobbyister er dette nemmest at arbejde på.
Den nøgne LED-matrix har 16 pin-outs med 8 fælles positive og en anden 8 fælles negative. For at forbinde denne matrix direkte til en UNO skal vi spare 16 ben på UNO. Med udgangsstifterne lave på UNO kan vi ikke spare 16 PINS. Så vi er nødt til at forbinde denne matrix til en driverchip. Denne driverchip sammen med matrix kommer som et sæt, som er vist i nedenstående figur.
Dette modul vil have grænseflade til Arduino til visning af alfabeter, deraf matrixvisningen. Først og fremmest til interface mellem LED-matrix og Arduino skal vi downloade et bibliotek, der er specielt designet til LED MATRIX. Dette bibliotek vil være tilgængeligt på:
Efter download af zip-filen skal du udpakke indholdet til ARDUINO-mappen. (Gå til lokal disk, hvor ARDUINO NIGHTLY-software er installeret, åbn mappen, søg efter mappe med navnet "bibliotek", udpak indholdet af zip-filen i den mappe, genstart programmet, du kan nu bruge funktioner til matrixinterface)
Komponenter, der kræves
Hardware: Arduino Uno, Strømforsyning (5v), 100 uF kondensator (forbundet via strømforsyning)
Software: Arduino Nightly
Kredsløbsdiagram og forklaring
Forbindelserne mellem Arduino Uno og LED-matrixmodul er vist i nedenstående tabel.
PIN2 ------------------ LOAD eller CHIPSELECT af LED-modul
PIN3 ------------------ UR af LED-modul
PIN4 ------------------ DATAINDE for LED-modul
+ 5V ------------------ VCC af LED-modul
GND ------------------ GND af LED-modul
Den kredsløbsdiagram af 8 * 8 LED matrix display er vist i figuren nedenfor.
Nu for at bruge de specielle futures, der kaldes ved at installere nyt bibliotek, er vi nødt til at etablere få kommandoer i programmet og er angivet nedenfor.
# inkluderer "LedControlMS.h" #definer NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Først skal vi kalde headerfilen for at grænseflade en LED matrix til Arduino Uno. Det er ”#include" LedControlMS.h "", denne headerfil kalder biblioteket for specielle funktioner.
Vi har en funktion med disse moduler, vi kan forbinde mange antal moduler i serie og programmere dem sammen som et enkelt display. Denne funktion er praktisk, når vi har brug for en displayenhed, der kan vise flere tegn ad gangen. Så vi skal fortælle controlleren, hvor mange skærme vi forbinder.
I dette modul er der hovedsageligt tre ben; datastrøm fra UNO til modul finder sted med disse tre ben. Stifterne er DATAIN (data modtagestift), CLOCK (stift ur) og CHIPSELECT (kommando modtagestift).
Nu skal vi fortælle UNO, hvor vi forbinder disse ben. Dette gøres med kommandoen “LedControl lc = LedControl (4,3,2, NBR_MTX); ”. “Lc.writeString (0," CIRCUITDIGEST ");”, denne kommando bruges til at fortælle UNO, hvilke tegn der skal vises på LED-matrixen. Med ovenstående viser displayet ”CIRCUITDIGEST” med hvert tegn en gang.
Vi er nødt til at rydde displaychip-hukommelsen, inden vi sender andre data, dette gøres med kommandoen ”lc.clearAll ();”.
På denne måde kan vi nemt interface en 8x8 LED-matrix til Arduino Uno.