FireBeetle led Matrix Hello è l’occasione per capire come utilizzare la matrice di led 24×8 con un semplice esempio
ma è anche l’articolo dedicato all’unboxing della scheda, arrivata dalla DFRobot direttamente qualche mese fa a cui devi saldare i pin header del tipo che preferisci.
Inizia subito con un video in cui ho ripreso l’unboxing della FireBeetle led matrix 24×8 ed ho saldato gli header maschi, buona visione:
come hai notato ho usato gli header femmina presenti nella confezione per sistemare in modo parallelo quelli maschi da saldare alla scheda.
Grazie a questa tecnica sarai certo di avere tutti i pin in linea e potrai facilmente montare la tua scheda su uno dei micro controllori della famiglia FireBeetle, nel mio esempio e negli esempi successivi ho deciso di utilizzare la ESP32, già descritta in questo articolo.
La libreria per usare la FireBeetle led Matrix Hello puoi trovarla su gitHub corredata, tra gli esempi, di quello che utilizzerai per questo primo test in cui scrivi semplicemente “HELLO” sulla matrice.
Lo sketch FireBeetle led Matrix Hello
Lo sketch FireBeetle led Matrix Hello, come hai letto, è presente tra gli esempi rilasciati con la libreria:
una volta selezionato lo sketch è il seguente:
#include "DFRobot_HT1632C.h" #if defined( ESP_PLATFORM ) || defined( ARDUINO_ARCH_FIREBEETLE8266 ) #define DATA D6 #define CS D2 #define WR D7 //#define RD D8 #else #define DATA 6 #define CS 2 #define WR 7 //#define RD 8 #endif DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS); char str[] = "Hello"; void setup() { // put your setup code here, to run once: ht1632c.begin(); ht1632c.isLedOn(true); ht1632c.clearScreen(); ht1632c.setCursor(0,0); ht1632c.print(str); } void loop() { // put your main code here, to run repeatedly: }
Inizia dalla linea 01 della FireBeetle led Matrix Hello in cui includi la libreria di controllo del driver HT1632C. Come sai l’HT1632C è il controller della matrice di led di cui è dotato questa scheda.
Alle linee 03-13: sono definiti i pin da utilizzare per la comunicazione con la matrice di led. Le prime linee definiscono i pin preceduti dalla lettera D e sono sottoposti alla condizione che il micro controllore selezionato sia una ESP o un ARDUINO_ARCH_FIREBEETLE8266 in quanto nell’IDE arduino i pin la piattaforma ESP devono essere indicati preceduti dalla lettera “D”. Se invece utilizzi la FireBeetle led Matrix Hello con un micro controllore ATMEGA328 o simile puoi indicare i pin digitali semplicemente con il numero del pin.
Warning!
Avrai notato che tra i pin definiti c’è il pin CS ( Chip Select ) definito come D2.
Tale valore deve essere uguale a come mostrato nel video sopra.
Se cambi tale impostazione sulla scheda ricordati di farlo anche nel codice.
Linea 15: definisci l’istanza della libreria “ht1632c” con cui comunicherai con la libreria e quindi con la FireBeetle led Matrix Hello;
linea 17: definisci un array di caratteri “str” contenente il messaggio “Hello” che in fase di visualizzazione sarà trasformato in “HELLO” ossia tutto in maiuscolo;
la linea 21: richiama il metodo begin() della libreria per inizializzare la matrice;
alla linea 22: imposta a “on” i led;
linea 23: pulisci lo schermo, nel caso specifico della matrice, significa pulire la memoria della matrice e quindi anche ogni messaggio presente in essa per liberare la visualizzazione da precedenti impostazioni;
linea 24: posiziona il cursore nella posizione (0,0) che come sai è in alto a sinistra:
e quindi procedi a usare il metodo print() per scrivere sulla matrice il messaggio impostato alla linea 17.
La cover 24×8 led matrix è molto comoda per realizzare dei progetti con un display alternativo come leggerai nei prossimi articoli.
2 commenti
Ciao Mauro, bellissimo esempio, come anche magnifico sito, sto tendando di fare una cosa simile, quando utilizzo la libreria DFRobot_HT1632C.h ricevo sempre l’errore “Compilation error: DFRobot_HT1632C.h: No such file or directory”, mi potresti aiutare a capiare ceh sh hai utilizzato?
Grazie e complimenti ancora
Autore
Ciao Andrea,
grazie per i complimenti, sono ben accetti.
La libreria che ho utilizzato è quella riportata nell’articolo e nello sketch, ho verificato tra le mie installate ho la versione 1.0 aggiornata nel 2019, da allora non l’ho più utilizzata e/o provata.
Potrebbe essere stata aggiornata da allora e presetare l’errore che ti viene restituito.
Puoi anche provare a disinstallarla e reinstallarla magari nella fase di download qualche file non è stato scaricato correttamente.
Un dubbio: la liberia DFRobot_HT1632C l’hai installata nel tuo IDE ?