La parola Jardimpu deriva dall’unione di “Jardim” (giardino in portoghese), “Arduino” e “Paraimpu”. E’ un prototipo di sistema di irrigazione a goccia dotato di sensori controllabile via web e “Social”, ovvero il suo utilizzo può essere condiviso con altri utenti.
L'idea
Conoscendo la potenzialità di due strumenti molto validi come arduino e paraimpu ho pensato di realizzare un sistema intelligente di irrigazione e di controllo dei parametri ambientali per il mio giardino, in modo da rimanere aggiornati sulle condizioni della temperatura e dell’umidità dell’aria, umidità della terra nei vasi, luminosità e verifica del livello di acqua presente nei sottovasi (ad esempio la Dionaea Muscipula).
Questo sistema però non rappresenta una novità assoluta nel campo della sensoristica e monitoraggio di un giardino, ma il fatto di poterlo utilizzare con un nuovo strumento come paraimpu, per la condivisione dei dati, le irrigazioni e il monitoraggio tramite webcam, ha reso il tutto molto più interessante, innovativo e più “social”. Possiamo chiamarlo social gardening insomma, in cui si permette ad altre persone (autorizzate, diremo “amici” se stessimo parlando di Facebook) di attivare i gocciolatori per innaffiare le piante, vedere le piante in diretta e controllarne i parametri.La realizzazione
Si realizza un sistema del genere utilizzando due strumenti principali: arduino e paraimpu.L’irrigatore automatico con arduino non è una cosa nuova, già Massimo Banzi (fondatore di Arduino) in collaborazione con Cogitanz ne propose un esempio un anno fa (vedi Giarduino o http://mag.wired.it/rivista/play/2011/04/05/come-costruire-un-irrigatore.html) ma di nuovo in questo progetto c’è l’aspetto social, ossia l’interazione con l’irrigatore del giardino e la condivisione dei dati attraverso Paraimpu e i propri amici e la possibilità di collegare contemporaneamente, grazie a Paraimpu, il proprio “giardino reale” con altri “objects virtuali” come ad esempio twitter, google calendar o altri dispositivi arduino e così via...
Per realizzare tutto ciò sono necessari:
- arduino + ethernet shield
- sensore temperatura/umidità aria
- sensore umidità terreno (come vedremo più avanti si può costruire con un po’ di gesso e due mine HB)
- una ipwebcam
- un sistema di tubi, gocciolatori e pompe
- una elettrovalvola
- componentistica per arduino
- cavi vari
Connessione 1: dati meteorologici giardino
Come già detto, lo strumento che ci permette di pubblicare i dati dei sensori collegati con Arduino con il web e gli altri “oggetti” virtuali e non, è Paraimpu.
Paraimpu ci permette di creare dei raccoglitori di dati, chiamati SENSOR e degli utilizzatori ACTUATOR. Una CONNESSIONE paraimpu è l’unione di un sensore con un attuatore.
Per Jarduino sono state create, per il momento 3 connessioni.
La prima riguarda i dati meteo come temperatura, umidità e luminosità. I dati saranno (ad esempio) di questo tipo:
{"dioneaPerc": 66.0, "tempDallas": 13.31, "lux": 81.0, "soilM1": 55.0, "dionea": 165.0, "humidity": 65.0, "photoCell": 636.0, "tempDHT": 15.0, "dp": 8.47}
Dove:
- dioneaPerc: è il valore registrato dal sensore relativo alla pianta carnivora Dionea, in percentuale. (dettagli più avanti)
- tempDallas: la temperatura registrata con il sensore di temperatura DS18B20
- lux: la quantità di luce registrata dal sensore di luminosità
- SoilM1: l’umidità del terreno registrata dal sensore di umidità, costruito con 2 mine di tipo HB e un cilindretto di gesso.
- humidity: umidità dell’aria, misurata dal sensore dht11
- tempDHT: temperatura misurata con il sensore dht11
- dp: il dewpoint, punto di rugiada, calcolato sullo sketch arduino in base all’umidità e alla temperatura.
Screenshot Sensore Paraimpu:
Questi dati, in formato json, vengono spediti all’attuatore twitter paraimpu che visualizza il messaggio relativo. E’ stata creata una pagina per Jardimpu (twitter.com/jardimpu) in cui i follower possono monitorare i dati dei sensori. Vedranno una frase di questo tipo:
Temperature: 13.31°C, Humidity: 65%, DewPoint: 8.47°C, Illum: 81 lx, Soilmoist: 55%
Connessione:
Per comodità è stato creato un blog pubblico http://jardimpu.blogspot.it/, nel quale è presente una finestra aggiornata con gli ultimi tweet e l’attuale situazione meteo:
e una parte video, con i tweet “#jardimpu” e lo streaming video in tempo reale del giardino che verrà spiegata più avanti.
Connessione 2: monitoraggio Dionea (pianta carnivora)
Questa connessione paraimpu mi permette di tenere sotto controllo il livello dell’acqua della pianta carnivora Dionea Muscipula ( http://it.wikipedia.org/wiki/Dionaea_muscipula). La dionea è una spettacolare pianta carnivora originaria della Carolina del Nord. Si nutre di insetti o altri minuscoli animali dopo averli attirati chiudendo delle trappole che ha all’estremità delle sue foglie. E’ una pianta molto particolare perché necessita di cure ben precise:
- cresce esclusivamente su torba acida di sfagno con perlite
- ha bisogno di tantissimo sole
- ha necessità di avere un sottovaso in cui è sempre presente dell’acqua, almeno 2-3 centimetri. Acqua demineralizzata.
Quest’ultimo punto mi ha fatto pensare di poter utilizzare una connessione solo ed esclusivamente per il monitoraggio di questa pianta e il controllo costante del livello dell’acqua.
Essendo una pianta molto delicata, se nel sottovaso non sono presenti almeno 2-3 cm di acqua anche per un solo giorno,può subire dei danni gravi irreparabili.
Il sensore è costituito da 2 mine HB immerse nell’acqua presente nel sottovaso. Le mine solo le estremità di un circuito collegato con arduino ad una resistenza di 10kOhm. Il funzionamento è semplice: se l’acqua è presente, il circuito è chiuso e quindi c’è un passaggio di corrente. Se l’acqua non è presente, il circuito è aperto, non c’è passaggio di corrente e di conseguenza la piantina necessità di acqua.
Come si vede dal disegno, paraimpu riceve i dati registrati da arduino e genera un tweet che notifica all’utente quando l’acqua nella pianta scarseggia, oppure quando il livello è estremamente basso e necessita urgentemente di acqua.
Screenshot connessione paraimpu con mapping:
Si può pensare anche di monitorare un valore costante di livello dell’acqua, ma bisogna ricordare che la conducibilità non dipende solo dalla quantità di acqua presente ma anche dalle sostanze in essa disciolta. Trattandosi poi di acqua demineralizzata, teoricamente, la sua conducibilità dovrebbe portare a zero. Ciò non succede in quanto nell’acqua si disciolgono molte sostanze sia al contatto con il vaso, sia al contatto con l’aria. Il modo migliore per tenere sottocontrollo il livello dell’acqua è sicuramente attraverso l’utilizzo di una bilancina di precisione.
Tuttavia nel nostro caso le mine HB sono più che sufficienti in quanto ci “avvisano” nel momento in cui nel sottovaso non è più presenta acqua.
Connessione 3: comando per attivazione valvola
La terza connessione paraimpu è forse la più interessante. Grazie a questa connessione infatti si attivano i gocciolatori dell giardino via web, tramite un semplice tweet.Seguendo l’esempio del thotel (http://www.youtube.com/watch?v=6LuutBhG9nU) come prima idea si è pensato di attivare i gocciolatori con un tweet che contiene l’hashtag #jardimpu seguito da ON. La disattivazione verrà fatta con #jardimpu OFF.
Lo stato delle attivazione viene monitorato in streaming video attraverso il blog, tutti gli user autorizzati possono attivare i gocciolatori a seconda che siano rispettate le condizioni meteo e che le piante necessitino di acqua.
Il circuito costruito con arduino è formato da un relè che quando viene sollecitato (valore di tensione HIGH) chiude il circuito e permette il passaggio della corrente attivando i gocciolatori. Se il circuito viene aperto (valore di tensione LOW) la valvola interrompe il passaggio dell’acqua e i gocciolatori smettono di irrigare. Il pin arduino che attiva il relè è il pin digitale 9. Di seguito lo screenshot mapping per l’attivazione del relè:
Connessione:
La connessione è quindi formata da un sensore twitter che cattura tutti i tweet che contengono l’hashtag #jardimpu. L’attuatore attiva la valvola se nel tweet è presente la parola ON, viceversa la disattiva se è presente la parola OFF.