byte pulsante = 35; // Pin a cui è collegato il sensore touch TP223
byte led = 14; // Pin a cui è collegato il led
bool stato_interruttore= false; // Variabile che memorizza lo stato del pulsante
// Se stato_interruttore è false l'interuttore è aperto
// Se stato_interruttore è true l'interuttore è chiuso
int Baud = 9600; // Velocità comunicazione seriale bit/s
void setup() {
Serial.begin(Baud); // Inizializzazione comunicazione seriale
pinMode(pulsante, INPUT); // Configurazione del pin a cui è collegato il sensore TP223 come ingresso
pinMode(led,OUTPUT); // Configurazione del pin a cui è collegato il led come uscita
digitalWrite(led,LOW); // Spegne il led
}
void loop() {
if ((digitalRead(pulsante) == HIGH)&&(stato_interruttore==false)) { // Se il pulsante è premuto e l'interruttore è aperto
delay(50); // Tempo per eliminare l'effetto di rimbalzo del pulsante meccanico
Serial.println("Interruttore chiuso"); // Stampa il messaggio che ci avvisa che l'interruttore è chiuso
digitalWrite(led,HIGH); // Accende il led per visualizzare lo stato di interruttore chiuso in modo stabile
stato_interruttore=true; // Memorizza lo stato di interruttore chiuso
while(digitalRead(pulsante)==HIGH){ } // Attende il rilascio del pulsante
delay(50); // Tempo per eliminare l'effetto di rimbalzo del pulsante meccanico
}
if ((digitalRead(pulsante) == HIGH)&&(stato_interruttore==true)) { // Se il pulsante è premuto e l'interruttore è chiuso
delay(50); // Tempo per eliminare l'effetto di rimbalzo del pulsante meccanico
Serial.println("Interruttore aperto"); // Stampa il messaggio che ci avvisa che l'interruttore è aperto
digitalWrite(led,LOW); // Spegne il led per visualizzare lo stato di interruttore aperto in modo stabile
stato_interruttore=false; // Memorizza lo stato di interruttore aperto
while(digitalRead(pulsante)==HIGH){ } // Attende il rilascio del pulsante
delay(50); // Tempo per eliminare l'effetto di rimbalzo del pulsante meccanico
}
}