Sommario:
- Passaggio 1: installare l'irrigazione del giardino
- Passaggio 2: adatta il timer del tocco
- Passaggio 3: build Arduino
- Passaggio 4: programmazione Arduino
- Passaggio 5: costruzione del contenitore
- Passaggio 6: test del controller prima dell'incollaggio
- Passaggio 7: colla/involucri impermeabili
- Passaggio 8: installazione
- Passaggio 9: integrazione di ThingsBoard - Monitoraggio e reporting
Video: Fai da te - Irrigazione automatizzata del giardino - (Arduino / IOT): 9 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo progetto ti mostrerà come costruire un programmatore di irrigazione per un giardino di casa. In grado di misurare le letture dell'umidità del suolo e di attivare l'irrigazione da un rubinetto del giardino se il terreno diventa troppo secco. Il controller include anche un sensore di temperatura e umidità. Il controller non attiverà il rubinetto da giardino se la temperatura è troppo bassa. Le letture dei sensori e le statistiche sull'utilizzo dell'acqua/tempi di funzionamento sono registrate su ThingsBoard IOT per la visualizzazione e l'analisi. Avvisi ed e-mail vengono attivati se il programmatore di irrigazione smette di trasmettere dati, il terreno diventa troppo secco o troppo saturo.
Prerequisiti
- Conoscenza di Arduino, inclusa almeno la codifica di base per Arduino e la saldatura.
- 1x rubinetto da giardino pressurizzato
Distinta materiali
- Tubo in polietilene per irrigazione da giardino, getti, gocciolatori ecc.
- Timer elettronico a due quadranti (es: Timer digitale elettronico Aqua Systems)
- Riduttore pressione rubinetto 300kpa
- Arduino Uno
- Lora Arduino Shield
- Lora Gateway (non necessario se si dispone di un gateway Things Network locale nel raggio d'azione)
- DHT11 Sensore di umidità della temperatura
- Relè 5v
- Cavo telefonico
- Fascette
- Tubi corrugati per autoveicoli
- Strisce di connettori per terminali automobilistici
- 2x chiodi zincati
- 1x resistenza
- Silicio / Caulk
- cemento PVC
- Primer per PVC
- Tubo in PVC larghezza 32 mm x lunghezza 60 mm
- Tubo in PVC larghezza 90 mm x lunghezza 30 cm
- 3 tappi terminali in PVC da 90 mm
- 1x tappo a vite in PVC da 90 mm
- 1x raccordo filettato in PVC da 90 mm
- 1x cappucci terminali in PVC da 32 mm
- 1x fonte di alimentazione da 3,2 V (timer a rubinetto) [batterie, adattatore multivolt CA]
- 1x fonte di alimentazione 6-12V (arduino) [batterie, USB, adattatore da USB a CA]
- nastro sigillante per filettature
- nastro elettrico
Passaggio 1: installare l'irrigazione del giardino
Disposizione tubo in polietilene, fit jet, linee gocciolanti e gocciolatori. Il programmatore di irrigazione funzionerà con qualsiasi impianto di irrigazione. Al centro è misurare le letture dell'umidità del suolo e attivare il timer del rubinetto se e quando il terreno è troppo secco. Il controller può essere calibrato per impostare il punto basso per la saturazione, per quanto tempo deve essere attivato il timer e con quale frequenza il controller deve controllare la saturazione.
Queste impostazioni possono essere modificate su arduino e memorizzate nella memoria EPROM. Le impostazioni possono essere aggiornate anche dall'integrazione IOT. Questo progetto eseguirà il controller ogni quattro ore e aprirà il rubinetto per 3 minuti se il terreno è troppo secco. Può funzionare alcune volte di seguito se secco/caldo o una o due volte al giorno.
Passaggio 2: adatta il timer del tocco
Montare il timer del rubinetto e sperimentare con le manopole regolabili per calcolare una frequenza e un tempo di funzionamento approssimativi che funzionano meglio per l'impianto di irrigazione. Rimuoveremo il timer e lo modificheremo per funzionare con un Arduino.
Passaggio 3: build Arduino
Utilizzare lo schema elettrico come guida per la compilazione. Nelle foto sono stati utilizzati cavi telefonici e morsettiere a vite per i punti di giunzione. Sono necessarie alcune saldature.
Tocca Modifica timer
Smontare con cautela il timer del rubinetto. Faremo il cablaggio fisso dei due quadranti regolabili in modo che possano essere controllati dall'arduino invece che dai quadranti manuali. Il selettore di frequenza sinistro sarà cablato alla posizione di ripristino in modo che il selettore di destra possa essere commutato tra la posizione on/off. Il quadrante destro avrà un filo proveniente dal contatto centrale destro e il contatto esterno destro come mostrato. Per impostazione predefinita, il timer sarà in posizione off. Se i due fili entrano in contatto il timer si accende. Con i due fili collegati a un relè 5V, un arduino può quindi chiudere/aprire il contatto tra i due fili. Con un filo nel terminale del relè comune e l'altro nel terminale normalmente chiuso ci assicureremo che il timer si spenga quando si spegne l'arduino. L'impostazione del pin del relè su HIGH attiverà il timer; impostandolo su BASSO si spegne il timer.
Sonda del suolo
Per questo progetto i due chiodi sono saldati a filo collegato a morsetti a vite. Il terminale di un chiodo va dritto a terra. L'altro si collega a un ingresso analogico nell'arduino e un resistore. Il resistore si collega al segnale arduinos 5v. Mostrato nel diagramma di strizzatura.
Sensore di temperatura/umidità
Il sensore di temperatura / umidità DHT11 è collegato a 5V, terra e un pin digitale di arduino su arduino.
Scudo di Lora
Questo progetto ha utilizzato anche un Dragino Lora Shield (non mostrato nello schema elettrico).
Base in PVC
La base in PVC per l'arduino utilizzato in questo progetto è stata progettata in modo che il sensore di temperatura/umidità potesse essere esposto mantenendo tutti gli altri componenti fissati all'interno della custodia impermeabile in PVC. Viene praticato/tagliato un piccolo foro per il sensore e il silicone viene utilizzato per tenerlo in posizione impedendo all'umidità di raggiungere l'arduino. Mostrato nel diagramma.
Passaggio 4: programmazione Arduino
Collegare i componenti insieme tramite breadboard o morsettiere per la programmazione e il test
Configurazione EPROM
Per prima cosa dobbiamo scrivere le variabili di configurazione nella memoria EPROM. Esegui il seguente codice sul tuo arduino:
Codice disponibile su Github
Qui DRY_VALUE è impostato a 960. 1024 significa che il terreno è completamente asciutto, 0 significa saturazione completa, 960 era un buon livello di saturazione per il resistore, la lunghezza del cavo e i chiodi utilizzati. Questo può variare a seconda della propria configurazione.
VALVE_OPEN è impostato a 180000 millisecondi (3 minuti). Quando/se il timer del rubinetto è acceso, verrà lasciato aperto per 3 minuti.
RUN_INTERVAL è impostato a 14400000 millisecondi (4 ore). Ciò significa che il controller controllerà l'umidità del suolo ogni quattro ore e attiverà il timer del rubinetto per 3 minuti se la saturazione è bassa (superiore a 960).
Il codice sopra può essere modificato e questi valori modificati in qualsiasi momento.
Codice del programma
Codice disponibile su Github
Dipendenze:
- Azione a tempo
- Testa radiofonica
Questo esempio ha utilizzato lo scudo Dragino Lora e in particolare l'esempio simultaneo Lora con lo scudo che si collega direttamente al Gateway Dragino Lora.
Questo può essere adattato per utilizzare la Things Network rimuovendo il codice nella sezione "BEGIN: lora vars" e modificando il programma per includere il seguente esempio Dragino o adattato per funzionare con altre radio/scudi wifi ecc.
Il codice fornito presuppone che DHT11_PIN sia il pin digitale 4, RELAY_PIN sia il pin digitale 3 e che il pin analogico dell'umidità del suolo sia l'ingresso analogico 0.
Una variabile di debug può essere impostata su true in modo che i messaggi di debug seriali possano essere registrati a baudrate 9600.
Passaggio 5: costruzione del contenitore
Taglia il tubo in PVC per adattarlo al timer del rubinetto e alla base Arduino. Praticare i fori per il raccordo del rubinetto del timer del rubinetto e il raccordo del tubo. Praticare dei fori nel tubo abbastanza larghi per il condotto automobilistico, inserire le lunghezze di 10 cm del condotto nei fori e strappare i fili dall'arduino e toccare il timer. Questo dovrebbe includere:
Da Arduino
- Cavi di alimentazione e/o un cavo USB dalla porta USB di Arduino.
- Cavi per umidità del suolo (VCC, GND, A0)
- Due fili dai terminali a vite NC e comune del relè
Dal timer del rubinetto
- Cavi di alimentazione
- Due fili dai contatti a quadrante di destra
Passaggio 6: test del controller prima dell'incollaggio
Assicurati che tutto funzioni ancora prima di sigillare tutto.
Le foto sopra mostrano una configurazione di esempio in un esky in cui la sonda per l'umidità del suolo è stata posizionata in una pentola e il timer del rubinetto è stato dotato di acqua proveniente da una bottiglia di bibita.
Un gocciolatore era collegato al timer del rubinetto.
Questo era un buon modo per verificare che l'installazione non sovrastasse o sottraesse l'acqua alla pianta.
Questo esempio può essere eseguito per tutto il tempo necessario per calibrare il controller.
Passaggio 7: colla/involucri impermeabili
Utilizzare PVC Primer e PVC Cement per fissare i cappucci terminali e il giunto.
Usa mastice/silicio per riempire eventuali spazi intorno al condotto automatico e ai raccordi del timer del rubinetto.
Qui viene utilizzato un tappo a vite sull'involucro di arduino per l'accessibilità.
Passaggio 8: installazione
Installa in una giornata limpida. I componenti e i cavi dovranno rimanere asciutti prima di essere sigillati.
Posiziona il controller in un punto centrato tra il punto in cui si trova il rubinetto da giardino e il punto in cui verrà posizionata la sonda del suolo.
Montare il timer del rubinetto e assicurarsi che non sia alimentato fino al termine dell'installazione.
Montare la sonda per terreno.
Collegare i terminali a striscia a ciascun componente, quindi posare il cavo telefonico dai terminali a vite di ciascun componente assicurandosi che il cavo sia coperto da un condotto automatico. Collegando tutto insieme
Sigillare tutti i terminali e qualsiasi altra parte esposta con nastro sigillante per filettature e poi nastro isolante.
Sigillare eventuali aree libere/esposte del condotto diviso con nastro sigillante per filettature e poi nastro isolante.
Collega il timer a una fonte di alimentazione da 3,2 V. O un pacco batteria o un adattatore da 3,2 V CC - CA collegato a una presa di corrente.
Collega l'Arduino a una fonte di alimentazione CC da 6-12 V. O un pacco batteria o un adattatore USB / DC-AC in esecuzione su una presa di corrente.
Accendi e prova!
Passaggio 9: integrazione di ThingsBoard - Monitoraggio e reporting
Questo esempio ha utilizzato uno scudo Dragino Lora collegato a un Gateway Dragino Lora. Sia che si utilizzi questa configurazione, un'altra configurazione Lora o qualsiasi altra connettività IOT, i dati raccolti dal controller di irrigazione possono essere inoltrati a una piattaforma IOT come Thingsboard. Per impostazione predefinita il programma trasmette la seguente stringa di dati in cui ogni byte di carattere è codificato in esadecimale:
TXXXHXXXSXXXXRX
Dove T è seguito dalla temperatura, H è seguito dall'umidità, S è seguito dal livello di saturazione e R è seguito da una sola cifra relativa all'azione eseguita nell'ultimo intervallo di esecuzione. Questo può essere 0-5 dove ogni cifra significa:
0: Il programma è in fase di inizializzazione1: Guasto del sensore di temperatura2: La temperatura era troppo bassa per l'esecuzione3: L'umidità del suolo è troppo secca, quindi è stato attivato il timer del rubinetto4: L'umidità del suolo è buona quindi il timer del rubinetto non è stato attivato5: Il controller di irrigazione è stato disattivato
Esistono diversi modi per installare una copia di Thingsboard sulla propria attrezzatura oppure è possibile creare un account gratuito sulla nostra installazione di ThingsBoard qui.
Configura il tuo dispositivo in Thingsboard
Segui queste istruzioni per aggiungere un nuovo dispositivo in Thingsboard chiamandolo "Irrigation Controller".
Invia i dati di telemetria dal dispositivo
Segui queste istruzioni per impostare un metodo per inviare i dati di telemetria dal dispositivo a Thingboard tramite MQTT, HTTP o CoAp.
Sul nostro server stiamo inviando il seguente JSON a https://thingsboard.meansofproduction.tech/api/v1/… ogni quattro ore quando il dispositivo è in funzione (con dati live):
Inoltre, stiamo inviando periodicamente i seguenti attributi a https://thingsboard.meansofproduction.tech/api/v1/… con i dati sull'ultima volta che il nodo è stato visto:
Viene utilizzato per avvisi che vengono attivati se il dispositivo smette di trasmettere dati.
Crea una dashboard
Crea una dashboard come descritto qui. I nostri widget includono:
Un semplice widget di scheda creato dal campo di telemetria lastRunResult. Un indicatore digitale verticale per il campo di telemetria della temperaturaUna tabella delle serie temporali creata dal campo di telemetria lastRunResult che mostra i dati degli ultimi giorni. Una barra orizzontale che mostra il campo di telemetria della saturazione. Questo utilizza una funzione di post-elaborazione dei dati:
restituire il valore 1024;
E imposta un valore minimo e massimo 0-100. In questo modo il livello di saturazione può essere espresso in percentuale. Un indicatore per mostrare il valore dell'umidità. Un grafico a barre della serie temporale che include la temperatura, l'umidità e il risultato della corsa, raggruppati in periodi di 5 ore per l'ultima settimana, aggregati per mostrare i valori massimi. Questo ci dà una barra per un evento di quattro ore. Una funzione di post-elaborazione dei dati viene utilizzata per esprimere il risultato della corsa come 0 o 120 a seconda che sia stata eseguita o meno l'acqua. Ciò fornisce un facile feedback visivo per vedere quanto spesso scorre l'acqua in una settimana. Una scheda HTML statica che mostra un'immagine del giardino.
Avvisi e-mail
Abbiamo utilizzato le regole per impostare gli avvisi e-mail per il programmatore di irrigazione. Tutti utilizzano filtri per i messaggi e un'azione plug-in di azione di invio posta.
Per inviare un avviso e-mail se il programmatore di irrigazione non riesce a inviare i dati, abbiamo utilizzato "Filtro attributi dispositivo" con il seguente filtro:
typeof cs.secondsSinceLastSeen !== 'undefined' && cs.secondsSinceLastSeen > 21600
Per inviare una mail se il terreno diventa troppo secco utilizzare il seguente filtro Telemetria
tipo di saturazione != "non definito" && saturazione > 1010
Per inviare un'e-mail in base a se il terreno diventa troppo umido, utilizzare il seguente filtro di telemetria
tipo di saturazione != "non definito" && saturazione
Consigliato:
Costruisci un mini sistema idroponico fai-da-te e un giardino di erbe idroponico fai-da-te con avvisi WiFi: 18 passaggi
Costruisci un mini sistema idroponico fai-da-te e un giardino di erbe idroponico fai-da-te con avvisi WiFi: in questo tutorial ti mostreremo come costruire un sistema #idroponico #fai-da-te. Questo sistema idroponico fai-da-te irrigherà con un ciclo di irrigazione idroponico personalizzato con 2 minuti di accensione e 4 minuti di spegnimento. Inoltre controllerà il livello dell'acqua del serbatoio. Questo sistema
ARUPI - un'unità di registrazione automatizzata a basso costo/unità di registrazione autonoma (ARU) per ecologisti del paesaggio sonoro: 8 passaggi (con immagini)
ARUPI - un'unità di registrazione automatizzata a basso costo/unità di registrazione autonoma (ARU) per ecologisti del paesaggio sonoro: questa istruzione è stata scritta da Anthony Turner. Il progetto è stato sviluppato con molto aiuto dallo Shed in the School of Computing, University of Kent (il signor Daniel Knox è stato di grande aiuto!). Ti mostrerà come costruire un sistema di registrazione audio automatizzato
Porta automatizzata del pollaio: 5 passaggi (con immagini)
Porta automatizzata per pollai: le porte automatiche nei pollai sono una soluzione per i predatori notturni come procioni, opossum e gatti selvatici! Una tipica porta automatica, tuttavia, costa oltre $ 200 su Amazon (Automatic Chicken Coop Door) ed è proibitivamente costosa per molti piccoli
Illuminazione a LED automatizzata per acquari con piante utilizzando RTC: 5 passaggi (con immagini)
Illuminazione a LED automatizzata per acquari con piante utilizzando RTC: un paio di anni fa ho deciso di creare un acquario con piante. Ero affascinato dalla bellezza di quegli acquari. Ho fatto tutto quello che dovevo fare durante l'allestimento dell'acquario, ma ho trascurato una cosa molto importante. Quella cosa era leggera
Giardino rotante fai da te (TfCD): 12 passaggi (con immagini)
Giardino rotante fai da te (TfCD): Ciao! Abbiamo messo insieme un piccolo tutorial su come realizzare la propria versione ridotta di un giardino rotante, che secondo noi potrebbe rappresentare il giardinaggio del futuro. Utilizzando una quantità ridotta di elettricità e spazio, questa tecnologia è adatta per un rapido