-
Notifications
You must be signed in to change notification settings - Fork 0
Altre Informazioni
Denilson edited this page Jun 16, 2023
·
3 revisions
La funzione setup()
viene eseguita una sola volta all'avvio del programma e viene utilizzata per inizializzare il sistema e configurare le impostazioni iniziali.
- Vengono importate le librerie necessarie per il funzionamento del codice.
- Viene impostata la costante
CODE_HOUR
con l'ora di compilazione del codice. - Vengono impostate altre costanti obbligatorie come i minuti, i secondi, il giorno, il mese e l'anno di compilazione del codice.
- Vengono impostate le impostazioni base come la soglia di umidità del terreno, la durata di accensione della pompa, il ritardo tra ogni irrigazione, la soglia di temperatura per prolungare la durata della pompa e la soglia di umidità per attivare la ventola.
- Vengono impostate le impostazioni avanzate come i pin del modulo LCD I2C, il pin del sensore di temperatura/umidità DHT11, il pin del relè per la pompa di irrigazione, il pin del sensore di livello dell'acqua, il pin del relè per il controllo dell'umidità alta e il pin del sensore dell'igrometro.
- Vengono eseguite le configurazioni iniziali per i pin dei relè e del sensore di livello dell'acqua.
- Viene inizializzato il sensore di temperatura/umidità DHT11.
- Viene inizializzato il display LCD.
- Vengono visualizzati alcuni messaggi di presentazione sul display LCD.
- Vengono eseguite altre configurazioni iniziali come l'impostazione dell'ora corrente e l'inizializzazione del tempo per il controllo della ventola.
- La funzione
setup()
termina.
La funzione loop()
viene eseguita in un ciclo continuo dopo l'esecuzione della funzione setup()
e contiene la logica principale del programma.
- Vengono letti i valori di ora corrente, minuti, umidità e temperatura utilizzando i sensori appropriati.
- Viene calcolato il tempo trascorso dall'ultima irrigazione.
- Viene misurato il livello di umidità del terreno utilizzando il sensore di umidità del terreno.
- Se il livello di umidità del terreno è al di sotto della soglia impostata, viene avviata l'irrigazione controllando anche la presenza di acqua.
- Durante l'irrigazione, vengono visualizzati messaggi appropriati sul display LCD.
- Viene controllato se l'umidità supera la soglia impostata per attivare la ventola e si verifica se è necessario attivarla o disattivarla.
- Viene misurato il livello dell'acqua e viene calcolato il livello percentuale.
- Vengono aggiornate le informazioni sul display LCD, mostrando l'ora corrente, la temperatura, l'umidità, il livello dell'acqua e il messaggio di stato.
- La funzione
loop()
continua a eseguire il suo ciclo fino all'interruzione del programma o allo spegnimento dell'Arduino.