Arduino Uno R4 WiFi IoT Matrix

Arduino Uno R4 WiFi IoT Matrix è il secondo esperimento che ho voluto testare con la nuova scheda ed il Cloud arduino.

Arduino Uno R4 IoT Matrix

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:

Arduino Uno R4 IoT Matrix add variable

e clicca su “ADD” per aggiungere una nuova variabile:

Arduino Uno R4 IoT Matrix variable led matrixa 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”:

Arduino Uno R4 IoT Matrix variable create

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”:

Arduino Uno R4 IoT Matrix dashboard value widget

e impostare i valori relativi alla configurazione dello stesso:

Arduino Uno R4 IoT Matrix set widget name

cambia il nome che vuoi associare al nuovo widget, poi personalizza i valori della matrice numerica e clicca su “DONE”:

Arduino Uno R4 IoT Matrix set widget values

ti ritroverai la matrice nella tua dashboard: 

Arduino Uno R4 IoT Matrix widget matrix created

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:

Arduino Uno R4 IoT Matrix variable create

se clicchi sul pulsante “Sketch” arriverai nell’editor on-line:

Arduino Uno R4 IoT Matrix goto the editor

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:

Arduino Uno R4 IoT Matrix modify sketch

ora puoi aggiungere un nuovo tab allo sketch autogenerato:

Arduino Uno R4 IoT Matrix add tab in the sketch

ed imposta il nome del nuovo tab “frames.h”:

Arduino Uno R4 IoT Matrix insert the tab name

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:

Arduino Uno R4 IoT Matrix lcd numbers

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:

Arduino Uno R4 IoT Matrix paste the matrix number code

poi edita lo sketch principale aggiungendo:

Arduino Uno R4 IoT Matrix in the first tab add matrix code

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:

Arduino Uno R4 IoT Matrix add code for the matrix

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:

Arduino Uno R4 WiFI IoT Cloud device online

e controllarlo dalla dashboard che hai creato:

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/arduino-uno-r4-wifi-iot-matrix.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.