class LED { //creo la classe led
private:
bool stato;
int pin;
public:
LED(int piedino) {
stato = false;
pin = piedino;
pinMode(pin, OUTPUT);
}
void accendi() { //accendo il led
digitalWrite(pin, HIGH);
stato = true;
}
void spegni() { //spengo il led
digitalWrite(pin, LOW);
stato = false;
}
void inverti() { //inverto lo stato del led
if (stato==true) {
spegni();
} else {
accendi();
}
}
void lampeggio(int x) {
for (int i = 0; i < x; i++) {
accendi();
delay(500); // L per 500ms(mezzo secondo)
spegni();
delay(500);
}
}
void test(int test) { //verifico
for (int i = 0; i < test; i++) {
accendi();
delay(500);
spegni();
delay(500);
}
lampeggio(3);
}
};
class Bottone {
private:
int pin;
public:
Bottone(int p) {
pin = p;
pinMode(pin, INPUT_PULLUP);
}
bool press() {
if (digitalRead(pin) == HIGH) {
return false;
} else {
return true;
}
}
};
LED ledVerde(12);
LED ledAzzurro(13);
Bottone pulsante(2);
void setup() {
ledVerde.lampeggio(3);
ledAzzurro.lampeggio(3);
}
void loop() {
if (pulsante.press()) {
ledVerde.accendi();
ledAzzurro.spegni();
} else {
ledVerde.spegni();
ledAzzurro.accendi();
}
}