Scopo del progetto: modificare un sistema di irrigazione della Claber per utilizzarlo da remoto, tramite una app sul cellulare per controllare l’innaffiamento delle piante del balcone d’estate, mentre sono in vacanza.
Il prodotto che ho modificato è la elettrovalvola Claber monolinea, la più semplice e stupida, quella con un timer per i programmi e il funzionamento a pila, a catalogo si chiama Aquauno.
Come funziona una elettrovalvola
L’elettrovalvola, in generale, è un dispositivo che permette di controllare il flusso d’acqua in un tubo, è furba perché funziona con la forza stessa dell’acqua. Si inserisce tra rubinetto e tubo, aprendo il rubinetto: se non è alimentata è l’acqua stessa che muove una membrana all’interno dell’elettrovalvola e blocca il flusso, mentre quando l’elettrovalvola viene alimentata elettricamente, un elettromagnete forza lo spostamento della membrana e fa passare l’acqua. Quando si toglie la corrente l’acqua stessa muove la membrana e chiude di nuovo la valvola. In questo modo anche se va via la luce o se si rompe qualcosa l’acqua non esce e non si rischia un allagamento.
Ho cercato di rappresentarne il funzionamento in questo rozzo schema:
La valvola Claber funziona proprio in questo modo, quando scatta il timer la pila a 9V alimenta l’elettrovalvola. Se impostate il timer per tenere la valvola aperta mezz’ora la pila alimenterà per mezz’ora. Questo può portare all’esaurirsi della pila abbastanza in fretta, proprio quando più serve: mentre siete in vacanza.
Circuito e scheda elettronica
Ho utilizzato una scheda Wemos dotata di connessione wi-fi perché è piccola e funziona molto bene (ne ho alcune connesse da anni per altri progetti con pochissimi problemi di downtime). La scheda Wemos è totalmente compatibile con la IDE di Arduino e in questo articolo può succedere che usi il termine Arduino per riferirmi alla scheda Wemos, perché di fatto sono entrambe schede dotate di microprocessore e possono concettualmente essere viste come la stessa cosa. Possiamo dire che la Wemos è un piccolo Arduino con il wi-fi. Ecco come ho collegato le varie parti:
Il sistema è alimentato da un trasformatore variabile (tipo questo) impostato sui 9V, che nello schema ho sostituito per comodità con una pila, perché la tensione necessaria per far scattare l’elettrovalvola è appunto di 9V. Il voltage regulator è un 7805 e serve a portare la tensione a 5V per alimentare la scheda Wemos. Il 7805 dissipa energia per abbassare la tensione a 5v e così facendo si scalda. Per aumentarne la durata del componente e ridurne l’usura ho montato un “heat sink” cioè un dissipatore di calore.
Sensore umidità Capacitive sensor e Arduino/Wemos
La scheda Wemos oltre ad essere connessa al relay 5V per aprire la valvola è connessa ad un sensore di umidità del terreno di tipo capacitivo. Un sensore capacitivo non è soggetto alla corrosione degli elettrodi come avviene con i sensori basati sui due elettrodi che misurano la conducibilità del terreno (più è umido più conduce), ma è un condensatore che varia la sua capacità in base all’umidità dell’ambiente circostante. Il sensore misura la variazione di capacità e va tarato. Questo tipo di sensori capacitivi in teoria dovrebbe consentire una durata più lunga del progetto perché non si usurano gli elettrodi a causa dell’elettrolisi.
Il sensore è posto in un vaso solo, quindi devo basarmi sull’umidità della terra in un solo vaso per accendere ed innaffiare tutti i vasi.
Modificare la valvola Claber per collegarla ad Arduino/Wemos
Per collegare la valvola è necessario aprire la Acquauno (il modello che ho io è più vecchio di quello in commercio ma non dovrebbe essere diverso). È estremamente facile, ci sono due bottoni laterali che vanno premuti per aprire la scatola e raggiungere l’alloggiamento della pila. La elettrovalvola è lì, visibile e ben accessibile. Seguendo i fili dell’alimentazione a pila, i due cavi vanno a finire ad un morsetto che li fa passar in un alloggiamento più protetto dove c’è il timer: non ci interessa. Dall’alloggiamento chiuso, spunta un altro morsetto con due fili che vanno invece alla elettrovalvola: dobbiamo attaccarci a questi fili. Ho tagliato quei due fili e, forata la scatola, li ho fatti uscire per portarli all’Arduino/Wemos.
Il risultato finale, a differenza delle foto, non è stato inserito direttamente nella scatola originale, in quanto non sono riuscito ad assemblarlo in così poco spazio e inoltre, ho ritenuto poco sicuro alloggiare tutto insieme, in quanto la rottura della valvola avrebbe potuto portare acqua sui circuiti elettrici e causare un cortocircuito. Ho quindi portato tutto all’interno di una scatola in plexiglass da cui escono i fili elettrici per il sensore e per l’elettrovalvola. La scatola è posizionata in un luogo asciutto, protetto dalle intemperie e con una spina elettrica per l’alimentazione.
Codice sorgente sistema irrigazione Arduino/Wemos
Il sistema è programmato per funzionare in due modalità: manuale e automatica. Quando è in modalità manuale è sostanzialmente in ascolto e riceve i comandi dalla app.
Quando è in “auto mode” funziona con due timer: il primo timer dice ogni quanto aprire la valvola e il secondo timer dice quanto tempo deve restare aperta.
I timer sono impostati dalla app.
Connettività, come connettere l’elettrovalvola ad Internet
La connettività della scheda è garantita dalla scheda Wemos e dalla rete wifi di casa, quello di cui bisogna essere certi per connettersi da fuori casa alla Wemos è una appropriata configurazione del router domestico. Il router in casa vostra costruisce una rete locale a cui sono collegati tutti i dispositivi che accedono al vostro Wi-Fi. Da fuori, cioè quando siete lontani dal Wi-Fi di casa e vi collegate ad Internet, la vostra rete è vista con un solo indirizzo ip che il vostro fornitore ha assegnato al vostro router. Il router, quindi, con il suo indirizzo ip è il punto di ingresso per comunicare con tutti i dispositivi che avete connessi al Wi-Fi. Certi fornitori cambiano l’indirizzo ip del router e questo rende le cose più complicate. In questo articolo non viene trattato questo caso, ma viene gestito il caso in cui il fornitore di connettività assegna un ip fisso, o almeno fisso per un po’ di tempo. Fastweb o Telecom nella mia esperienza non cambiano ip. Dovete quindi configurare il router in modo che assegni sempre lo stesso ip locale alla vostra scheda Wemos. Nonché assegnare una porta all’indirizzo ip della scheda. In questo modo da fuori rete (quando siete lontani da casa) potete collegarvi tramite un indirizzo http direttamente alla vostra Wemos.
Questa parte è spiegata in dettaglio sull’articolo di hacking del Condizionatore wifi.
App APK per controllare l’irrigazione
La app per controllare la scheda Wemos da remoto è stata realizzata in HTML/CSS/JS e compilata in un file apk per cellulari android. Le chiamate giungono alla scheda Wemos dal cellulare, attraverso Internet utilizzando il router di casa, opportunamente configurato.
La app è stata realizzata con Adobe Phonegap Build un sistema gratuito che permette di compilare i file HTML, CSS, JS in app vere e proprie che utilizzano una webview e quindi riconducono il problema della programmazione delle app ad un sistema web, basato su pagine HTML che tramite javascript inviano e ricevono comandi alla scheda Wemos.
L’interfaccia è molto semplice e permette di accendere la elettrovalvola direttamente, oppure di impostare un timer per il quale può essere stabilita la durata dell’apertura e la frequenza. Il valore letto dal sensore di umidità del terreno viene riportato in basso.
Durante i primi giorni di test del sistema è necessario spendere un po’ di tempo per capire come assorbono l’acqua i vasi. Nel balcone, infatti, vi sono diverse piante, qualcuna beve di più e qualcuna di meno, bisogna quindi regolare i gocciolatori della Claber e proprio in questa fase mi sono accorto che avevo la necessità di misurare il tempo che lasciavo aperta la valvola. Ho quindi aggiunto un cronometro sotto i controlli principali per monitorare il tempo trascorso.
Nella scorsa calda estate ho stabilito che 3 minuti al mattino e 3 minuti alla sera erano sufficienti per mantenere tutti i vasi umidi al punto giusto.
Miglioramenti possibili: i progetti non sono quasi mai finiti, perché ci sono sempre delle migliorie che ti sembra di poter fare. Questo progetto non è diverso dagli altri: si potrebbe modificare il software sulla Wemos per attivarsi da solo in base al sensore dell’umidità (potrebbe essere un’altra modalità di funzionamento). Si potrebbe aggiungere un sensore di temperatura per leggere da remoto la temperatura sul balcone. Si potrebbe aggiungere l’utilizzo della memoria EPROM della Wemos per memorizzare le impostazioni (così quando salta la luce non perde la configurazione).
Se state costruendo qualcosa di simile, desiderate confrontarvi o vedere i sorgenti, non esitate a contattarmi.