Sommario:
- Forniture
- Passaggio 1: sviluppo del progetto
- Passaggio 2: inserimento del sensore di umidità nel circuito
- Passaggio 3: comprendere i valori di umidità
- Passaggio 4: programmazione logica
- Passaggio 5: Riconoscimenti
Video: Sistema di avviso di terreno a bassa umidità per la tua pianta: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
In diverse residenze è comune trovare vasi con diversi tipi di piante. E con il gran numero di attività quotidiane, le persone dimenticano di innaffiare le piante e finiscono per morire per mancanza d'acqua.
Per evitare questo problema, abbiamo deciso di creare un sistema per informare quando una pianta non ha acqua. In questo modo, non dimenticherai mai di irrigare la tua pianta e rimarrà viva a lungo. Successivamente, presenteremo l'intero sviluppo di questo progetto.
Forniture
- PCBWay PCB personalizzato
- Sensore di umidità del suolo analogico per Arduino
- Arduino UNO
- Ponticelli (generici)
- LCD standard - 16 x 2 blu
- Potenziometro rotativo UTSOURCE 10k
Passaggio 1: sviluppo del progetto
Uno dei modi che utilizziamo per rilevare la quantità di acqua nella pianta è attraverso il parametro umidità. Quindi, meno acqua c'è nel vaso della nostra pianta, minore è l'umidità del suolo.
Pertanto, dobbiamo utilizzare un sensore di umidità per analizzare lo stato di umidità nel nostro impianto.
Attraverso di essa, abbiamo allestito un circuito montato nella breadboard con Arduino, per effettuare il monitoraggio e l'indicazione di bassa umidità del vaso di cactus. Quindi, per mezzo del display LCD per informare il nostro utente sull'umidità, come mostrato in Figura 1.
Passaggio 2: inserimento del sensore di umidità nel circuito
Dal circuito sopra, inseriremo la sonda per la misura dell'umidità nell'impianto che vogliamo monitorare. Nel nostro progetto, inseriamo una sonda in un piccolo cactus, come mostrato nella Figura 2.
Ora, vedremo come progettare il lavoro passo dopo passo e, di seguito, impareremo come creare il codice di controllo. Inizialmente, quando non colleghiamo il sensore all'interno del barattolo, il dispositivo ha un basso contenuto di umidità del 2% all'esterno il vaso di cactus. Questo può essere visto nella Figura 3.
Passaggio 3: comprendere i valori di umidità
Questo basso valore percentuale rappresenta una bassa umidità. Ora, dopo aver inserito il sensore nel terreno del vaso di cactus, verrà visualizzato un valore del 36%, come mostrato in Figura 4. Cioè, la nostra umidità è bassa e il sistema visualizza il messaggio Bassa umidità perché il valore è inferiore del 60%.
Il passo successivo è irrigare il terreno della brocca del nostro cactus e possiamo verificare l'aumento del valore dell'umidità al 69%.
Dopo aver compreso il funzionamento del progetto, presenteremo tutte le logiche costruttive per realizzare questo sistema di monitoraggio. Cominciamo!
Passaggio 4: programmazione logica
Di seguito, la logica di programmazione sarà presentata attraverso il codice costruito.
Inizialmente, è stata dichiarata la libreria di Display LCD, variabili ed è stato creato un oggetto LCD con i relativi pin di connessione con Arduino UNO.
#includere
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, umidità = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LCD a cristalli liquidi (rs, en, d4, d5, d6, d7);
Successivamente sono state inizializzate la funzione di setup e il display LCD 16x2 ed è stato configurato il pin del sensore come input. Infine, abbiamo effettuato la prima lettura del nostro sensore e l'abbiamo utilizzata come riferimento per la variabile PreviousValue, come mostrato di seguito.
{Serial.begin(9600); lcd.begin(16, 2); pinMode(sensore, INGRESSO); PreviousValue = analogRead(sensore); }
Con le variabili create e i comandi nella funzione void setup, spiegheremo tutta la programmazione logica nella funzione loop.
//Le o valor do pino A0 do sensorAnalogValue = analogRead(sensor); //Mostra o valore da porta analogica no serial monitor Serial.print("Analog Port: "); Serial.println(AnalogValue); UmidityPercent = map(AnalogValue, 0, 1023, 0, 100); umidità = 100 - UmidityPercent;
Nella funzione loop, è stato letto il valore analogico e il valore è stato mappato in un intervallo di 0 e 100. Questo valore rappresenta una percentuale di umidità del suolo. Quando l'umidità è alta, il valore si avvicina a 0 e se l'umidità è bassa il valore si avvicina a 100.
Per facilitare la rappresentazione del valore ed evitare confusione nella lettura da parte dell'utente, invertiamo questa logica e rappresentiamo che 0% sarà bassa umidità e 100% alta umidità. Ciò è stato effettuato mediante il calcolo effettuato dopo la mappatura.
umidità = 100 - UmidityPercent;
Dopo aver letto il valore dell'umidità è necessario presentarlo nel Display LCD. Il passaggio successivo consiste nel verificare se il valore dell'umidità è diverso dal suo valore più 1 o dal suo valore meno 1, in base alle condizioni seguenti.
if((umidità > (ValorePrecedente)+1) || (umidità < (ValorePrecedente)- 1))
Questa condizione viene utilizzata per evitare che il sistema presenti più volte lo stesso valore nel Display LCD. Ma, quando la condizione è vera, il sistema presenterà il valore nell'LCD e verificherà se il valore è maggiore o uguale al 60% o minore del 60%. Se il valore era maggiore o uguale al 60%, il sistema presente il messaggio High Moisture, altrimenti, presentare il messaggio Low Moisture, come mostrato di seguito.
if((umidità > (PreviousValue)+1) || (umidità < (PreviousValue)- 1)) { lcd.setCursor(1, 0); lcd.print("Umidità: "); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(umidità); lcd.print("%"); if(umidità = 60 && HighUmid == 0) { lcd.setCursor(2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print("Umidità elevata"); Alto Umid = 1; Basso Umid = 0; } Valore Precedente = umidità; }
Infine, il sistema memorizzerà il valore della variabile umidità nella variabile PreviousValue per attualizzarne il valore. Ogni volta che viene presentato un nuovo valore nel display viene attualizzata la variabile PreviousValue per essere utilizzata in altri cicli di elaborazione del codice. Si tratta quindi di un semplice sistema utilizzato per monitorare l'umidità delle piante nelle nostre residenze e informare gli utenti su il livello di umidità del suolo.
Passaggio 5: Riconoscimenti
Il Silícios Lab ringrazia PCBWay per il suo supporto e la collaborazione. E abbiamo molti vantaggi per te. Guadagna 10 PCB gratuiti e un sacco di bean coin (Scopri di più) per scambiare prodotti sul sito PCBWay.
Oltre a loro, il Silícios Lab ringrazia UTSOURCE per il suo supporto, per averci offerto componenti elettronici a basso costo di grande qualità e buon servizio.
Consigliato:
Smart Indoor Plant Monitor - Scopri quando la tua pianta ha bisogno di annaffiare: 8 passaggi (con immagini)
Smart Indoor Plant Monitor - Scopri quando la tua pianta ha bisogno di annaffiare: un paio di mesi fa, ho realizzato un bastoncino per il monitoraggio dell'umidità del suolo che è alimentato a batteria e può essere inserito nel terreno nel vaso della tua pianta da interno per darti alcune informazioni utili sul terreno livello di umidità e LED lampeggianti per dirti quando wa
Avviso acqua: un dispositivo per salvare la tua barca: 5 passaggi (con immagini)
Avviso acqua - un dispositivo per salvare la tua barca: se sei un proprietario di una barca, c'è un solido conforto nel portare finalmente la barca sulla terraferma. Non può affondare lì. Ovunque affronta una battaglia continua per vincere la tendenza a scivolare sotto le onde e scomparire. Durante l'inverno qui ad Ahimè
Avviso di temperatura e umidità utilizzando AWS ed ESP32: 11 passaggi
Avviso di temperatura e umidità utilizzando AWS ed ESP32: in questo tutorial, misureremo diversi dati di temperatura e umidità utilizzando il sensore di temperatura e umidità. Imparerai anche come inviare questi dati ad AWS
Innaffia la tua pianta usando un Arduino: 5 passaggi (con immagini)
Innaffia la tua pianta usando un Arduino: hai una pianta d'appartamento che ti piace, ma dimentichi di annaffiarla troppo spesso? Questo Instructable spiegherà come realizzare un sistema di irrigazione delle piante alimentato da Arduino e come dare alla tua pianta un po' più di personalità. Dopo aver seguito questo istruttivo t
Fai crescere la tua pianta a LED che cambia colore!: 9 passaggi
Coltiva la tua pianta LED che cambia colore!: In questo tutorial ti insegnerò come coltivare la tua pianta LED personale con materiali semplici