Arduino Uno R4 WiFi IoT Matrix è il secondo esperimento che ho voluto testare con la nuova scheda ed il Cloud arduino.
In questo articolo vedrai come interagire con dall’IoT cloud con la matrice a led presente sull’arduino r4.
Puoi leggere la prima interazione che puoi provare tra la R4 WiFi ed il Cloud Arduino seguendo questo articolo.
Partendo dalla dashboard e dal Things che hai realizzato, con il precedente articolo, aggiungeremo le parti necessarie al controllo della matrice a led.
Arduino Uno R4 WiFi IoT Matrix
Per controllare la matrice a led presente sulla board useremo una nuova variabile nel things che avevamo già creato:
e clicca su “ADD” per aggiungere una nuova variabile:
a cui puoi dare il nome che preferisci, nell’esempio l’ho chiamata “Led_Matrix”, ed impostato tutti parametri come nell’esempio sopra.
Al termine clicca sul pulsante “SAVE” ed otterrai la seguente schermata in cui la nuova variabile si è aggiunta alla precedente “Led_Builtin”:
ora passiamo alla dashboard a cui aggiungeremo un nuovo widget.
Dashboard IoT per arduino R4
Nel precedente esempio la dashboard presentava solo un widget di tipo “switch” per accendere e spegnere il led builtin;
clicca su “ADD” e seleziona il widget “Value Selector”:
e impostare i valori relativi alla configurazione dello stesso:
cambia il nome che vuoi associare al nuovo widget, poi personalizza i valori della matrice numerica e clicca su “DONE”:
ti ritroverai la matrice nella tua dashboard:
passiamo alla realizzazione dello sketch per l’Arduino Uno R4 WiFi IoT Matrix.
Lo sketch
Come abbiamo già detto in precedenza il Cloud IoT Arduino ti aiuta scrivendo la maggior parte del codice da usare per il tuo progetto.
Tuttavia a volte è necessario intervenire con delle parti di codice personalizzate, vediamo come fare.
Innanzitutto vai nella scheda “Things” e clicca sul tab “Sketch” in modo da visualizzare lo sketch scritto da Arduino IoT sulla base delle informazioni che gli hai configurato:
se clicchi sul pulsante “Sketch” arriverai nell’editor on-line:
e siccome dovrai inserire alcune parti di codice personalizzate clicca su “open full editor” ed arriverai all’editor online in cui puoi aggiungere tutte le parti di codice che ti serviranno:
ora puoi aggiungere un nuovo tab allo sketch autogenerato:
ed imposta il nome del nuovo tab “frames.h”:
e clicca su “ok”;
Creazione della matrice di numeri
Nel nuovo tab potrai inserire il codice di controllo della matrice; per realizzarlo puoi usare il tool di editing della matrice lcd messo a disposizione da Arduino: ledmatrix-editor.arduino.cc componendo i numero da 0 a 9:
e generando il codice della matrice:
const uint32_t matrixNumber[][4] = { { 0x600f019, 0x81981981, 0x980f0060, 66 }, { 0xe01e036, 0x600600, 0x601f81f8, 66 }, { 0x600f019, 0x80300600, 0xc01801f8, 66 }, { 0xf019801, 0x80300300, 0x181980f0, 66 }, { 0xf01f03b, 0x3303fc3, 0xfc030030, 66 }, { 0x1f81f818, 0x1f00f80, 0x181f81f0, 66 }, { 0x600f018, 0x1f01981, 0x981980f0, 66 }, { 0x1f81f801, 0x80300600, 0xc0180180, 66 }, { 0xf019819, 0x80f01981, 0x981980f0, 66 }, { 0xf019819, 0x80f80180, 0x181f00e0, 66 } };
che dovrai incollare nel nuovo tab “frames.h” appena creato nell’editor:
poi edita lo sketch principale aggiungendo:
l’inclusione sia della libreria “Arduino_LEd_Matrix.h” sia del nuovo file “frames.h” ed alla linea 21: istanzia l’oggetto matrix che userai per controllare la matrice;
linee 24-27: aggiungi la possibilità di visualizzare sul monitor seriale quello che avverrà nello sketch ed un ritardo di 1,5 secondi in cui l’inizializzazione avrà effetto;
linea 29: usa il metodo begin() della classe ArduinoLEDMatrix ( matrix.begin() ) per usare l’oggetto matrix come controller della stessa.
Continuando con le modifiche allo sketch ti manca solo la parte relativa alla funzione di controllo che il cloud avrà già creato e nella quale dovrai inserire una semplice linea di codice:
la linea 67: in cui con il metodo loadFrame potrai scrivere sul display il numero che il Cloud IoT ti passa.
Se hai dubbi su come funzionano gli Array in arduino ti consiglio il mio articolo su: Tutorial: Shield I/O comandare luci esterne.
Puoi trasferire lo sketch sull’Arduino Uno R4 WiFi IoT Matrix, attendere che il device sia nuovamente online:
e controllarlo dalla dashboard che hai creato:
Notice
Come con i numeri puoi decidere di cambiare ciò che visualizzerai sul display, ad esempio usando 10 simboli, ciascuno legato ad un numero della matrice web.