#include <Bounce2.h>
// Classe LED
class LED {
private:
int pin;
public:
LED(int ledPin) {
pin = ledPin;
pinMode(pin, OUTPUT);
}
void accendi() {// metodo per accendere il led
digitalWrite(pin, HIGH);
}
void spegni() {// metodo per spegnere il led
digitalWrite(pin, LOW);
}
};
// Classe PULSANTE
class PULSANTE {
private:
int pulsante;
Bounce2::Button button;
public:
PULSANTE(int pinPulsante) {
pulsante = pinPulsante;
button.attach(pulsante, INPUT_PULLUP);
button.interval(50);
}
bool premuto() {// metodo per capire se è stato premuto il pulsante
button.update();
return button.read() == LOW;
}
};
// Creazione oggetti
LED led(10); // LED sul pin 10
PULSANTE pulsante(9); // Pulsante sul pin 9
void setup() {
Serial.begin(9600);// Porta seriale
}
void loop() {
if (pulsante.premuto()) {// accensione del led se è premuto il pulsante
led.accendi();
Serial.println("Pulsante premuto");
} else {
led.spegni();
}
delay(10); // delay
}