Premessa
- Arduino viene programmato nell'ambiente di sviluppo open source Arduino IDE
- Salvo alcune eccezioni (le direttive, riconoscibili per la presenza di un #), le istruzioni per Arduino sono comandi
- Tutti i comandi terminano con un punto e virgola
- Il linguaggio di programmazione è il C
- Le formulazioni di alcune istruzioni sono state create proprio per esemplificare la programmazione di Arduino; se ne fa carico l'IDE di trasformarle in istruzioni del C
- Il linguaggio usato per Arduino può essere arricchito, mediante un insieme di file detto libreria, con nuove proprietà e funzioni specifiche per un determinato dispositivo
- L'arricchimento viene effettuato mediante la direttiva
#include nomeLibreria.h
la cosiddette inclusione della libreria
Che sia una direttiva lo si capisce, come già detto, dalla presenza del simbolo # ; ricordiamo ancora una volta che per le direttive non è previsto il punto e virgola - Se si usa una libreria, occorre specificare (nella modalità indicata dalla libreria stessa) il nome del dispositivo cui si potranno applicare le proprietà e le funzioni integrate
- Un programma, detto sketch, viene trasformato in un linguaggio comprensibile per Arduino prima di caricarlo su di esso. E ciò avviene in due fasi:
- La precompilazione in cui vengono eseguite le direttive; ad esempio sono inglobate nel programma tutte le proprietà e funzioni (dette metodi) messe a disposizione dalle librerie. In questa fase vengono anche inglobati quei comandi esemplificativi, creati apposta per la programmazione di Arduino e di cui si è detto in precedenza.
- La compilazione vera e propria, cioè la trasformazione del codice nei 0 e 1 che sono familiari per Arduino.
- Per utilizzare la scheda WiFi UNO R4 è necessario installare il pacchetto di schede appropriato, a tal proposito può essere utile seguire passo passo le indicazioni su
https://docs.arduino.cc/tutorials/uno-r4-wifi/r4-wifi-getting-started/
Se nel selettore della schede dell'IDE di Arduino non compare la WiFi UNO R4, è necessario procedere alla installazione del pacchetto della scheda. Per far ciò, poiché fa parte del Core, apri "Gestione schede"
- dal menu Strumenti, se usi la versione 1.8.19 dell'IDE
- in alto a sinistra, se usi la versione 2.x dell'IDE
cerca UNO R4 WiFi Boards ed installa la versione che desideri utilizzare, preferibilmente la più aggiornata.
In File > Esempi sono presenti moltissimi esempi per questa scheda; casomai non fossero ancora presenti dopo l'installazione del pacchetto, chiudi e riavvia l'IDE. Ed è precariata con uno di questi, (MatrixIntro.ico) che la scheda viene venduta.
Letture consigliate:
- https://docs.arduino.cc/tutorials/uno-r4-wifi/r4-wifi-getting-started/
- https://www.maffucci.it/2023/07/25/usare-la-matrice-led-di-arduino-uno-r4-wifi/
- https://www.hackster.io/glowascii/programming-the-arduino-uno-r4-wifi-s-led-matrix-2f9c8d
Pillola informatica: le librerie
Puoi potenziare il tuo Arduino aggiungendo alcune librerie, infatti esse sono insiemi di codici già scritti e testati che rendono più facile ed intuitivo l’utilizzo di sensori ed attuatori, l'uso del monitor seriale ed altro, rendendo disponibili nuove funzionalità. Alcune librerie sono già integrate nell'IDE, altre vanno aggiunte, altre installate: innumerevoli sono le librerie disponibili e scaricabili in internet.
Nel programma in cui includiamo una libreria a volte è necessario effettuare la “richiesta”di convergere su di una variabile, detta oggetto, le nuove funzioni e capacità messe a disposizione della libreria stessa; la scelta del nome dell’oggetto, possibilmente esplicativo, spetta al progettista purché sia univoco.
La direttiva:
#include <Libreria.h> 1
impartisce ad Arduino di utilizzare una libreria non integrata; essa va posta all’inizio del programma. Durante la compilazione l’IDE includerà nel firmware sia il nostro codice che quello delle librerie.
Per prima cosa controlliamo se la nostra libreria è fra quelle già disponibili nell’IDE: andiamo alla voce di menu Sketch/#include libreria e verrà mostrato un elenco delle librerie già disponibili; se compare la libreria di cui abbiamo bisogno, basta cliccare su di essa perché il codice di inclusione venga aggiunto automaticamente al nostro programma.
Se invece la libreria di cui abbiamo bisogno non dovesse comparire fra quelle già disponibili, controlliamo se è fra quelle che è possibile aggiungere dalla voce di menu Sketch / #include libreria / Gestione librerie: si aprirà una finestra con un elenco di librerie pronte per l'installazione; se vi compare la libreria cercata e viene mostrato un menu a discesa, scegliamo la versione della libreria e clicchiamo su Installa. Una volta che l’istallazione sarà terminata, comparirà la dicitura INSTALLED accanto al nome della libreria.
Utilizzo della matrice LED integrata
Per poter gestire la matrice di LED è necessario:
- includere la libreria Arduino_LED_Matrix
#include <Arduino_LED_Matrix.h>
Non è necessario installarla; è già incorporata! - definire un oggetto con un nome di nostra scelta, ad es. matriceLED
ArduinoLEDMatrix matriceLED;
dove ArduinoLEDMatrix è il costruttore indicato dalla libreria - inizializzare l'oggetto nel setup
matriceLED.begin();
Per cui, in definitiva, il codice di avvio sarà del tipo:
#include <Arduino_LED_Matrix.h>
ArduinoLEDMatrix matriceLED;
void setup() {
matriceLED.begin();
}
LivePreview
Per prendere dimestichezza con la matrice è utile vedere in diretta cosa si può disegnare sulla matriceLED. Per far ciò è necessario far interagire Arduino e LED Matrix Editor2 esclusivamente attraverso il browser Google Chrome; si tratta di un software sperimentale in fase di pre-rilascio al m omento della stesura del presente tutorial, per cui non è escluso qualche problemino!
- Collega Arduino al computer tramite porta USB
- Apri l’IDE di Arduino
- Nel menu File / Esempi soffermati sulla sezione Esempi per Arduino WiFi R4 ed in particolare su LED_MATRIX, carica il programma LivePreview
- Apri Google Croome all’idirizzo https://ledmatrix-editor.arduino.cc/
- Nella schermata dell’Editor, clicca sull’icona del dischetto posta al centro in alto e segui le istruzioni, cioè:
- conferma di aver caricato lo sketch
- connetti il tuo dispositivo collegandoti alla porta USB accoppiata (accertati che non ci siano altre comunicazioni seriali attive)
- Inizia a disegnare cliccando sugli elementi della matrice e vedrai accendere o spegnere i LED sulla MatriceLED
Dobbiamo dar merito al piccolo Angelo D. che ha dato luogo ad una animazione in questo modo:
- ha creato prima più fotogrammi di un pupazzetto in successione di varie posizioni;
- ha cliccato sull'icola posta in alto al centro dell'editor per creare la successione dei fotogrammi;
- poichè la permanenza di ogni fotogramma risultava ridottissima, ha duplicato più volte ogni singolo fotogramma per rallentarne il movimento.
Sicuramente avrebbe agito diversamente se prima fosse stato informato che nella parte sottostante il singolo fotogramma compare il ritardo temporale prima di passare al fotogramma successivo; forse sarebbe stato meno creativo!
Durante le esercitazioni sono state riscontrate alcune difficoltà da parte di alcuni partecipanti; allorchè si scollegava l'Arduino UNO R4 e lo si ricollegava, veniva generata una diversa porta USB virtuale, ma nell'Editor l'Arduino risultava collegato alla porta precedente: in alcuni casi è bastato chiudere e riavviare l'Editor. Come detto l'Editor è in fase sperimentale!
1<libreria> o “libreria” a seconda che la libreria si trovi nella cartella delle librerie di Arduino o nella cartella in cui è posizionato il codice del progetto.
2https://labs.arduino.cc/en/labs/led-matrix in particolare la liberatoria in fondo alla pagina.