4 Legge lo stato di un input
9 int statoAttuale; // Variabile per leggere lo stato del bottone
10 int ultimoStato; // Variabile per registrare l'ultimo stato del bottone
11 int ledStatus; // varabile per mantenere lo stato del led
14 pinMode(buttonPin, INPUT); // Set the switch pin as input
16 Serial.begin(9600); // Attiva la comunicazione seriale a 9600bps
17 ultimoStato = digitalRead(buttonPin); // Prima lettura del bottone
18 ledStatus = 0; // Il LED viene inpostato come spento
22 statoAttuale = digitalRead(buttonPin); // Legge lo stato del bottone e lo resistra in val
23 delay(20); // riduce l'effetto bounce
24 if (statoAttuale != ultimoStato && statoAttuale == HIGH) { // due condizione contemporanee
25 // lo stato del bottone e' camabiato AND lo stato attuale e' HIGH
26 Serial.println("Button premuto");
28 ledStatus = !ledStatus ; // Inverte lo stato del LED
29 // ledStatus = 1 - ledStatus ; // Forma analoga
31 Serial.print("Stato del LED: "); // DEBUG
32 Serial.println(ledStatus) ;
35 ultimoStato = statoAttuale; // Aggiorna lo stato finale al valore attuale
36 digitalWrite(led, ledStatus); // setta il led allo stato richiesto