int inputVariable = 0; // si dichiara una variabile a cui // è assegnato il valore 0 inputVariable = analogRead(2); // imposta la variabile al valore // presente sul pin analogico 2
inputVariable è la variabile. Nella prima riga viene dichiarato che inputVariable conterrà un int, dove int è l'abbreviazione di numero intero. La seconda riga imposta la variabile al valore presente sul pin analogico 2, ciò permetterà di rendere disponibile il valore del pin 2 in altre parti del codice. Una volta che una variabile è stata assegnata, o ri-assegnata, è possibile leggerne il valore per vedere se soddisfa a determinate condizioni, oppure è possibile utilizzare direttamente il suo valore. Nell'esempio che segue sono illustrati tre operazioni utili con le variabili: se la condizione "inputVariable inferiore a 100" risulta vera, viene assegnato a inputVariable il valore 100 e poi viene impostato un ritardo (delay) di valore pari alla quantità memorizzata in inputVariable che ora vale 100.
if (inputVariable < 100) // verifica se la viariabile è // minore di 100 { inputVariable = 100; // se vero viene assegnato 100 } delay(inputVariable); // usa la variabile per // impostare il ritardo
Nota: alle variabili bisognerebbe dare un nome descrittivo (che ne spiega il significato) in modo che il codice sia più leggibile. I nomi di variabili come tiltSensor o pushButton aiutano il programmatore e chiunque legga il codice, a capire cosa rappresentano le variabili. I nomi delle variabili, come var o value, non rendono leggibile il codice e le usiamo solo come esempio. Ad una variabile possiamo assegnare una qualsiasi parola che non sia già una delle parole chiave nel linguaggio Arduino.
Tutte le variabili devono essere dichiarate prima di poter essere utilizzate. Dichiarare una variabile significa:
queste operazioni vengono fatte una volta sola nel programma, ma il valore della variabile può essere modificato in qualsiasi momento usando l'aritmetica o utilizzando delle assegnazioni.
Nell'esempio che segue viene dichiarato che inputVariable è un int, (tipo intero) e che il suo valore iniziale è uguale a zero. Questo è chiamata assegnazione semplice.
int inputVariable = 0;
Una variabile può essere dichiarata in posizioni diverse all'interno di un programma e in funzione della posizione in cui viene definita determina quali parti del programma possono utilizzarla.
Una variabile può essere dichiarata
La posizione in cui viene dichiarata la variabile determina la sua visibilità all'interno del programma e la capacità, da parte di alcune parti del programma, di utilizzarla. Una variabile globale è una variabile che può essere vista e utilizzata da ogni funzione del programma e in ogni istruzione del programma.
Una variabile per essere globale deve essere dichiarata all'inizio del programma, prima della funzione setup().
Una variabile è detta locale quando è definita all'interno di una funzione o come parte di un ciclo, essa è visibile e può essere utilizzato solo all'interno della funzione in cui è stata dichiarata. E' quindi possibile avere due o più variabili con lo stesso nome in diverse parti dello stesso programma che contengono valori diversi.
Garantire che solo una funzione ha accesso alle sue variabili semplifica il programma e riduce il rischio di errori di programmazione.
L'esempio che segue mostra come dichiarare diversi tipi di variabili e dimostra la visibilità di ogni variabile.
int value; // 'value' è visibile da ogni funzione void setup() { // non è necessario nessun setup } void loop() { for (int i=0; i=0; i < 20;) // 'i' è visibile solamente // all'interno del ciclo for { i++; } float f; // 'f' è visibile solo // all'interno di loop }