01. Struttura di uno sketch
La programmazione di Arduino si basa sulla definizione di due funzioni:
void setup()
void loop().
Queste due funzioni racchiuderanno le necessarie impostazioni per il funzionamento dei dispositivi collegati con Arduino e i blocchi di istruzioni per svolgere quanto richiesto.
I programmi così implementati sono detti sketch.
void setup( )
La funzione setup( ) è la prima ad essere richiamata quando parte uno sketch.
Viene utilizzata per inizializzare variabili, per impostare lo stato dei pin e inizializzare le funzioni di libreria.
La funzione di setup() è eseguita dopo ogni accensione o reset di Arduino.
Sintassi
void setup( ) {
// istruzioni varie;
}
Esempio
void setup( ) {
Serial.begin(9600);
pinMode(3,OUTPUT);
}
In questo esempio sono eseguite le seguenti operazioni:
è impostata la velocità della linea seriale a 9600 bit per secondo (baud), utilizzata per la comunicazione con il PC tramite il Serial Monitor (funzionante solo quando Arduino è collegato al computer);
è impostato il pin 3 come OUTPUT (in questo modo è possibile attivare un'utenza collegata su quel pin).
void loop( )
La funzione loop() è richiamata subito dopo la funzione setup() e, coerentemente con il proprio nome, ciclicamente ogni volta che la funzione stessa termina.
La funzione loop() include l'intero programma che si vuole eseguire, fatto salvo le inizializzazioni che sono a carico della funzione setup().
E' ammesso strutturare il programma in funzioni, richiamate (direttamente o indirettamente) dalla funzione loop().
Sintassi
void loop( ){
// istruzioni da ripetere in modo ciclico;
}
Esempio
void loop( ){
digitalWrite(3, HIGH); // metti il pin 3 allo stato alto
delay(1000); // mantieni questo stato per 1 secondo
digitalWrite(3, LOW); // metti il pin 3 allo stato basso
delay(1000); // mantieni questo stato per un secondo
}
In questo esempio sono eseguite le seguenti operazioni:
la funzione digitalWrite() attiva (in corrispondenza del valore HIGH) e poi disattiva (in corrispondenza del valore LOW) l'utenza collegata al pin 3;
delay()introduce una pausa della durata indicata, espressa in millisecondi.
Sito: 7ecnologie
Sezione: 17. Robotica e domotica
Capitolo: 01. Elementi di Elettronica
Paragrafo: 02. Elementi di programmazione
Sottoparagrafo: 01. Struttura di uno sketch
Indice dei capitoli: 00. Risorse - 01. Elementi di Elettronica - 02. Arduino - 98. Esercizi
Indice dei paragrafi: 01. Ambiente di sviluppo - 02. Elementi di programmazione - 03. Progetti - 04. Tutorial
Indice dei sottoparagrafi: 01. Struttura di uno sketch - 02. Costanti - 03. Funzioni I/O digitali