In dit project gaan we een 8x8 LED matrix display ontwerpen, daarvoor gaan we een 8x8 LED matrix module koppelen met Arduino Uno. Een 8x8 LED-matrix bevat 64 LED's (Light Emitting Diodes) die zijn gerangschikt in de vorm van een matrix, vandaar de naam LED-matrix.
Deze matrices kunnen worden gemaakt door 64 LED's te schakelen, maar dat proces is tijdrovend. Nu per dag zijn ze verkrijgbaar in compacte vormen, zoals weergegeven in onderstaande afbeelding. Deze compacte modules zijn verkrijgbaar in verschillende maten en veel kleuren. De kosten van de module zijn hetzelfde als de kosten van 64 LED's, dus voor hobbyisten is dit het gemakkelijkst om aan te werken.
De kale LED-matrix heeft 16 pin-uitgangen met 8 gemeenschappelijke positieve en nog eens 8 gemeenschappelijke negatieve. Om deze matrix rechtstreeks op een UNO aan te sluiten, hebben we 16 pinnen op de UNO nodig. Met de output pinnen laag op UNO, kunnen we geen 16 pinnen missen. We moeten deze matrix dus verbinden met een driverchip. Deze driverchip wordt samen met de matrix geleverd als een set die wordt weergegeven in de onderstaande afbeelding.
Deze module zal worden gekoppeld aan Arduino voor het weergeven van alfabetten, vandaar de matrixweergave. Allereerst moeten we voor het koppelen van LED-matrix met Arduino een bibliotheek downloaden die specifiek is ontworpen voor LED MATRIX. Deze bibliotheek is beschikbaar op:
Na het downloaden van het zip-bestand, pakt u de inhoud uit naar de ARDUINO-map. (Ga naar de lokale schijf waarop de ARDUINO NIGHTLY-software is geïnstalleerd, open de map, zoek naar de map met de naam "bibliotheek", pak de inhoud van het zip-bestand uit in die map, start het programma opnieuw en u kunt nu functies voor de matrixinterface gebruiken)
Componenten vereist
Hardware: Arduino Uno, voeding (5v), 100 uF condensator (aangesloten over voeding)
Software: Arduino Nightly
Schakelschema en uitleg
De verbindingen tussen de Arduino Uno en de LED-matrixmodule worden weergegeven in onderstaande tabel.
PIN2 ------------------ LOAD of CHIPSELECT van LED-module
PIN3 ------------------ KLOK van LED-module
PIN4 ------------------ DATAIN van LED-module
+ 5V ------------------ VCC van LED-module
GND ------------------ GND van LED-module
Het schakelschema van 8 * 8 LED-matrixdisplay wordt weergegeven in de onderstaande afbeelding.
Om de speciale futures te gebruiken die worden aangeroepen door het installeren van een nieuwe bibliotheek, moeten we enkele commando's in het programma vastleggen en worden hieronder vermeld.
# omvatten "LedControlMS.h" # definiëren NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Eerst moeten we het header-bestand aanroepen om een LED-matrix te koppelen aan Arduino Uno. Dat is "#include" LedControlMS.h "", dit header-bestand roept de speciale functies van de bibliotheek op.
We hebben een functie met deze modules dat we een groot aantal modules in serie kunnen aansluiten en ze samen kunnen programmeren als een enkel display. Deze functie is handig wanneer we een display-eenheid nodig hebben die meerdere tekens tegelijk kan weergeven. We moeten de controller dus vertellen hoeveel beeldschermen we verbinden.
In deze module zitten voornamelijk drie pinnen; datastroom van UNO naar module vindt plaats met deze drie pinnen. De pinnen zijn DATAIN (gegevensontvangstpin), CLOCK (klokpin) en CHIPSELECT (opdrachtontvangstpin).
Nu moeten we de UNO vertellen waar we deze pinnen aansluiten. Dit wordt gedaan door het commando “LedControl lc = LedControl (4,3,2, NBR_MTX); ”. "Lc.writeString (0," CIRCUITDIGEST ");", dit commando wordt gebruikt om UNO te vertellen welke karakters moeten worden weergegeven op de LED-matrix. Met het bovenstaande toont het display "CIRCUITDIGEST", met elk karakter één keer.
We moeten het geheugen van de displaychip leegmaken voordat we andere gegevens verzenden, dit wordt gedaan met het commando "lc.clearAll ();".
Op deze manier kunnen we eenvoudig een 8x8 LED-matrix koppelen aan Arduino Uno.