4 Legge lo stato di un input
7 int led = 13; // Definizione delle variabili
9 // Dichiarazione di variabili
10 int statoAttuale; // Variabile per leggere lo stato del bottone
11 int ultimoStato; // Variabile per registrare l'ultimo stato del bottone
12 int ledStatus; // varabile per mantenere lo stato del led
15 pinMode(buttonPin, INPUT);
17 Serial.begin(9600); // Attiva la comunicazione seriale a 9600bps
18 ultimoStato = digitalRead(buttonPin); // Prima lettura del bottone
19 ledStatus = 0; // Il LED viene inpostato come spento
23 statoAttuale = digitalRead(buttonPin); // Legge lo stato del bottone e
24 // lo registra nella variabile
25 delay(20); // riduce l'effetto bounce
26 if (statoAttuale != ultimoStato) { // lo stato del bottone e' cambiato
27 if (statoAttuale == HIGH) { // il bottone e' stato premuto
28 Serial.println("Button premuto");
30 ledStatus = !ledStatus ; // Inverte lo stato del LED
31 // ledStatus = 1 - ledStatus ; // Forma analoga
33 Serial.print("Stato del LED: "); // DEBUG
34 Serial.println(ledStatus) ;
38 ultimoStato = statoAttuale; // Aggiorna lo stato finale al valore attuale
39 digitalWrite(led, ledStatus); // setta il led allo stato richiesto
45 1. I due cicli if verificano che due condizioni siano concomitanti: e' possibile
46 integrarli semplificando il codice?