/*
Creare un sistema che accenda un led tramite la pressione di un pulsante e lo spenga al suo rilascio
*/
#define BUTTONPIN 9
#define LEDPIN 8
int buttonState = LOW;
bool isOn = false;
void setup() {
// Dichiaro il pin del pulsante come pin di input, così da
// poter leggere eventuali variazioni sullo stesso
pinMode(BUTTONPIN, INPUT);
pinMode(LEDPIN, OUTPUT);
}
void loop() {
buttonState = digitalRead(BUTTONPIN);
// Per prevenire il bouncing inserisco un delay successivo alla lettura, così da evitare
//
if (buttonState == HIGH){
isOn = !isOn; // inverto stato
delay(200); // previene i "rimbalzi" dovuti all'HW del pulsante
if (isOn) { //torna "true" se la variabile è a true - non serve altro test
digitalWrite(LEDPIN, HIGH);
}
else {
digitalWrite(LEDPIN, LOW);
}
}}