Problema sketch con menu

Salve a tutti del forum, ancora una volta vi chiedo aiuto per un problema software.

Navigando un pò qua e la sono riuscito a sviluppare uno sketch che permette di automatizzare una serra usando arduino nano, un sensore DHT11, un real clock, e dei relè per l'attivazione di una serpentina riscaldante, una ventola di ricircolo e delle luci.

Tutto funziona alla perfezione, ma volendo integrare un menù per il settaggio di alcune informazioni ho dovuto modificare lo sketch che funziona parzialmente.

Intanto ho dovuto inserire 4 pulsanti per la navigazione del menù collegati al GND da una parte e dall'altra parte ai Pin di arduino e nello sketch sono stati dichiarati come INPUT PULLUP utilizzando così le resistenze interne di arduino.

Però caricando lo sketch e premendo sui tasti invece di entrare nel menù non succede niente.

C'è qualche anima pia che può aiutarmi?

Allego lo sketch.

Grazie in anticipo.

sketch.txt (9.03 KB)

Mancano le digitalRead per leggere i pulsanti up e down.

Buongiorno e prima di tutto grazie a Claudio_FF per la risposta.

Vediamo se ho capito bene.

In poche parole dovrei fare queste modifiche:

Sostituire

int upButton = 5;
int downButton = 6;
int selectButton = 7;
int escButton = 13;

cioè i 4 pulsanti con

int upButton = digitalRead(5);
int downButton = digitalRead(6);
int selectButton = digitalRead(7);
int escButton = digitalRead(13);

E' Giusto secondo voi?

Grazie anticipatamente per le risposte.

Da qualche parte scrivi:

statosalva = digitalRead (selectButton);
if ( statosalva == LOW) ....

Da qualche altra scrivi:

if (selectButton == LOW)

Con il primo codice leggi il pin indicato dal valore della variabile 'selectButton', e metti la lettura nella variabile 'statosalva', questo è corretto, e successivamente testi il valore di 'statosalva' (cioè la lettura) con LOW.

Con il secondo codice controlli se il valore della variabile 'selectButton' (cioè il numero di un pin) corrisponde a LOW (cioè zero), questa invece è una cosa senza senso.

Credo di aver capito, più tardi provo e faccio sapere se ho risolto...

Intanto grazie