4 Legge lo stato di un input
8 int switchPin = 2; // switch connesso al pin 2
9 // Nota: le prossime due variabili sono
10 // solo "dichiarate" e non "definite"
11 int statoAttuale; // Variabile per leggere lo stato del bottone
12 int ultimoStato; // Variabile per registrare l'ultimo stato del bottone
15 pinMode(switchPin, INPUT); // Set the switch pin as input
17 Serial.begin(9600); // Set up serial communication at 9600bps
18 ultimoStato = digitalRead(switchPin); // read the initial state
23 statoAttuale = digitalRead(switchPin); // Legge lo stato del bottone e lo resistra in val
24 delay(20); // riduce l'effetto bounce
25 if (statoAttuale != ultimoStato) {
26 // verifica due condizioni che devono realizzarsi contemporaneamente
27 if (statoAttuale == HIGH) { // il bottone e' stato premuto
28 Serial.println("Bottone premuto");
30 else { // the button is -not- pressed...
31 Serial.println("Bottone rilasciato");
35 ultimoStato = statoAttuale; // Aggiorna lo stato finale al valore attuale