Domotica: cancello automatico

Se funziona tutto ok, non è malvagio come programma!

Però io modificherei qualcosa,

uno mi sembra che la variabile booleana non serva a niente, hai i sensori di fine corsa che attivano o disattivano, esempio non esegue due volte chiudi, e non esegue due volte apri, perché i sensori sono attivi e non permettono questo.

Due, comandi da seriale, apri o pedonoale, dovresti mettere tre condizioni, in modo da avere un effetto un po più interessante.

if (c== 's') {//Gestione automatica
      apri();
      delay(3000);
      chiudi();
   }
 else if ( c == 'p') {


       pedonale(); 

     
 }
 else if(c=='a'){

     apri();

}
else if(c=='c'){

     chiudi();

}



// la variabile i non serve

Per quanto riguarda la variabile booleana l'ho messa perché succedeva che appena si chiudeva , si tornava ad aprire e quindi ho preferito usare la variabile booleana per evitare questo piccolo problema.
Invece per le funzioni in più che mi hai consigliato non le vorrei implementare perché alla fine è un progetto che sto portando per gli esami e quindi oltre al cancello ho anche l'allarme, le luci interne ed esterne, l'impianto di condizionamento, la gestione dei vari codici di allarme (stanze varie) quindi non mi basterebbe il tempo per far vedere anche la funzione di solo apertura o solo chiusura.. Almeno penso così.. poi metterla non mi costa niente sono due righe in più.