int stato = 0;
void setup() {
Serial.begin(115200);
// put your setup code here, to run once:
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(16, INPUT_PULLUP);
pinMode(17, INPUT_PULLUP);
pinMode(18, INPUT_PULLUP);
pinMode(19, INPUT_PULLUP);
}
void loop() {
switch(stato){
case 0:
chiuso();
break;
case 1:
apertura();
break;
case 2:
aperto();
break;
case 3:
chiusura();
break;
}
}
void chiuso () {
if (! digitalRead(16)){
Serial.println("apertura");
digitalWrite(4, HIGH);
delay(300);
stato = 1;
}
}
void apertura () {
if (! digitalRead(18)){
Serial.println("aperto");
digitalWrite(4, LOW);
delay(300);
stato = 2;
}
if (!digitalRead(17)){
Serial.println("mi sto richiudendo");
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
delay(300);
stato = 3;
}
}
void aperto () {
if (! digitalRead(17)){
Serial.println("chiusura");
digitalWrite(5, HIGH);
delay(300);
stato = 3;
}
}
void chiusura () {
if (! digitalRead(19)){
Serial.println("chiuso");
digitalWrite(5,LOW);
delay(300);
stato = 0;
}
}Chiusura 5
Apertura 4
A. 16
C. 17
F.C.18
F.C.19
PETTINEEEEEE