Cijfers en letters op de LEDmatrix
Wat heb je nodig?
- Arduino op een breadbord
- Jumpers
- LEDmatrix
Library van Ralph Bacon ophalen
Na even zoeken kon ik geen passende libraries vinden die via het Arduino programma te installeren zijn. Via een youtube tutorial kwam ik bij een library die op GitHub staat. Je hoeft de youtube-tutorial niet te kijken, daar heb je deze tekst voor.
De YouTube tutorial: https://www.youtube.com/watch?v=u_NVycP5Fc8
- Ga naar de GitHub-pagina https://github.com/RalphBacon/Scrolling-Characters-on-an-LED-Matrix-using-a-MAX7219
- Klik op “Clone or download” en kies “Download ZIP”.
Downloaded library installeren
Voor de meeste libraries die je download als zip file zal je deze installeren via het Arduino IDE menu: Sketch > Include Library > Add .ZIP Library.. > (je leest de uitleg op https://junioriot.nl/arduino-library/)
Echter, dat werkt niet voor deze library. Daarom moeten we de library handmatig toevoegen:
- In Windows: Open je downloads, rechtsklik op het het zip-bestand, kies “alles uitpakken”, en “Ok”.
Van de uitgepakte bestanden gaan we nu de map “MaxMatrix” in de map met Arduino-libraries zetten.
- We gaan nu naar de Arduino map. Deze staat in Windows waarschijnlijk in je “Documenten”. Ga dus naar “Documenten -> Arduino -> libraries.
- Kopieer de MaxMatrix-map naar deze libaries map.
Je moet je Arduino IDE openen, en als het goed is zie je dat het is toegevoegd onder Bestand -> Voorbeelden -> Maxmatrix -> example -> Max7219test_scrol.
LEDmatrix aansluiten
- VCC van de LEDmatrix op +5V van de Arduino
- GND op GND
- DIN op D8
- CS op D9
- CLK op D10
Text laten scrollen
Als alles goed is gegaan staat je voorbeeld nu onder Bestand -> Voorbeelden -> Maxmatrix -> example -> Max7219test_scrol. Open dit voorbeeld.
Het tekst laten scrollen kan nu al heel simpel: upload de code naar je Arduino. Nu worden alle hoofdletters, kleine letters, cijfers en speciale tekens over de LEDmatrix gescrolld. Maar… De ledjes geven nog niet zo veel licht. Dat gaan we verbeteren:
Onder “void setup” zoek deze regel code op:
m.setIntensity(0); // dot matix intensity 0-15
En verander hierin het getal tussen de haakjes in een 6. Als je dit naar de Arduino upload dan zien we tenminste goed welke letters er langskomen!
Je eigen tekst gebruiken
Het leukst is natuurlijk om je eigen tekst te kiezen om te laten zien. Sla, voordat je de code gaat aanpassen, het programma op onder een eigen naam. We zitten nu namelijk nog in de code van het voorbeeld.
Vlak boven “void setup” staat welke tekst op de LEDmatrix zal komen. Het gaat om dit stukje code:
char string1[] = " A B C D E F G H I J K L M N O P Q R S T U V X W Y Z "; char string2[] = " a b c d e f g h i j k l m n o p q r s t u v x w y z "; char string3[] = " 1 2 3 4 5 6 7 8 9 0 - = "; char string4[] = " ! @ # $ % ¨ & * ( ) _ + "; char string5[] = " ' , . ; ~ ] ´ [ | < > : ^ } ` { / ? ";
Geef nu je eigen tekst tussen aanhalingstekens waar nu staat: A B C D … enz.
Als laatste verwijderen we onder “void loop” de print opdracht voor de andere strings, want deze hebben we nu niet nodig. Je kunt deze regels ook uitzetten met // ervoor:
printStringWithShift(string1, 100); // printStringWithShift(string2, 100); // printStringWithShift(string3, 100); // printStringWithShift(string4, 100); // printStringWithShift(string5, 100);
Weer uploaden naar de Arduino… en je eigen tekst komt voorbij!
Extra uitdaging?
We zouden in deze instructie liever een library gebruiken die wat makkelijker is toe te voegen aan de Arduino IDE. Als je op YouTube zoekt naar “Arduino scrolling text” dan kan je deze tutorials vinden:
Blijkbaar is de “Parola” library hiervoor te gebruiken. Maar voorlopig krijg je met dit lab een leuk inzicht hoe het ook kan via GitHub en de handmatige manier van invoegen.