Il linguaggio di programmazione di Arduino (conosciuto come IDE, acronimo inglese di Integrated Development Environment ossia Ambiente di sviluppo integrato), che può essere scaricato liberamente dal sito ufficiale della piattaforma Arduino, è una versione semplificata dei linguaggi C e C++ con alcune funzioni aggiuntive per la gestione delle interfacce di input/output collegate alla scheda Arduino e che consentono al microcontrollore di dialogare con l’hardware del dispositivo progettato.
Il codice di programmazione o sketch viene scritto al PC nell’ambiente IDE e inviato tramite un collegamento USB alla scheda Arduino, dove viene eseguito per comandare il funzionamento del dispositivo esterno.
In ogni sketch compare sempre la funzione setup, fondamentale per la configurazione iniziale del microcontrollore, e la funzione loop, ovvero il programma in sé, che si ripete in maniera ciclica.
Esempio:
void setup( ) {
// istruzioni varie;
}void loop( ) {
// istruzioni da ripetere in modo ricorsivo;
}
Affinché funzioni, lo sketch deve essere scritto rispettando le regole di sintassi del linguaggio di programmazione di Arduino. Le regole principali sono rappresentate dal simbolo // che consente di aggiungere un commento utile, dalle parentesi graffe {e } all'inizio e alla fine di una porzione di sketch, e dal punto e virgola; dopo ogni istruzione. Per memorizzare i dati, lo sketch distingue tra valori che possono cambiare durante l’esecuzione e valori che restano immutati, ricorrendo a variabili e costanti.
Esempio di variabile:int valoreSensore = 0; // variabile valoreSensore a cui è assegnato il valore numero intero 0
Ma la parte fondamentale dello sketch è rappresentata dalle funzioni, che sono blocchi di codice a cui si assegna un nome che può essere utilizzato in varie parti dello sketch, e dalle strutture di controllo, che consentono di eseguire un’istruzione se si verifica una determinata condizione (struttura condizionale) o di ripetere più volte un gruppo di istruzioni (struttura iterativa). La struttura condizionale utilizza le istruzioniifed else o l’istruzione switch, mentre la struttura iterativa utilizza le istruzioni for e while.
Riassumiamo con un esempio di funzione: digitalWrite(numero pin, valore) - imposta l'uscita del pin digitale su ALTO (5 V) o BASSO (0 V).
Un esempio di sketch con struttura condizionale:
if (condizione 1) {
codice da eseguire se 1 è vera
}else {
codice da eseguire se 1 è falsa
}
e un esempio di sketch con struttura iterativa, in cui il codice viene ripetuto 10 volte e la variabile x viene aumentata di 1 rispetto al suo valore precedente:
for (int x = 0; x < 10; x = x + 1) {
blocco di codice da ripetere
}