Progetto Arduino. Ogni giardino, anche di piccole dimensioni, può essere migliorato con un impianto d’irrigazione automatico. Il poter mantenere la corretta umidità del terreno durante il periodo primaverile ed estivo contribuisce ad avere il nostro “angolo verde” sempre in ottima forma.
In questo articolo descriverò come realizzare una centralina per un impianto d’irrigazione. Il cuore del progetto è una scheda Arduino Duemilanove, a cui si va ad aggiungere uno shield LCD ed uno shield progettato ad hoc (Irrighino Shield) che contiene un chip RTC (RealTimeClock) ed i Relè.
La centralina deve poter automatizzare l’apertura/chiusura delle elettrovalvole atte a irrigare le varie zone del giardino. A questo scopo sono disponibili 9 timer settimanali, completamente programmabili.
Per ogni timer è possibile configurare:
-
I giorni della settimana d’attività
L’ora d’inizio irrigazione
L’ora di fine irrigazione
L’uscita da attivare
E’ possibile configurare più timer per la stessa uscita (per esempio per settare due irrigazioni al giorno in un semenzaio dove bisogna mantenere un’elevata umidità).
E’ inoltre possibile gestire manualmente le uscite, visualizzandone lo stato.
Di seguito sono approfonditi i principali aspetti del progetto.
Irrighino Shield
Questo shield permette di montare su di esso ulteriori shield. Nel caso specifico l’LCD shield. Esso monta 4 relè (5V) comandati dal driver ULN2003. Un fusibile protegge il trasformatore che alimenterà le elettrovalvole. Trova spazio anche il chip RTC DS1307. Esso ha il compito di mantenere data ed ora nel sistema. Per ottenere una maggior precisione, al posto di un quarzo da 32Khz, è usato il chip DS32Khz. Quest’ultimo componente garantisce la compensazione in temperatura e tensione. Lasciando acceso il nostro timer per qualche mese, potremo notare come l’utilizzo di questo chip mantenga preciso l’orario nel tempo. Una batteria tampone mantiene aggiornata la data e ora anche in caso di mancanza dell’alimentazione principale.
L’intero shield può essere realizzato su una basetta singola faccia. Personalmente utilizzo basette presensibilizzate e pronte per la fotoincisione (UV).

Nell’immagine seguente è visibile l’impiego di ogni singolo Pin di ArduinoDuemilanove.

Arduino Irrighino - Software
Appena alimentata la centralina, verrà visualizzata data ed ora (in questa versione sperimentale data ed ora va impostata via codice alla prima programmazione).

Attraverso i pulsanti presenti sull’LCD Shield (http://cgi.ebay.it/LCD-Keypad-Shield-for-Arduino-Duemilanove-LCD1602/290...) è possibile navigare attraverso le diverse videate presenti.
Premendo il pulsante “UP” accediamo alla videate del primo timer.

Continuando a premere “UP” avremo modo di visualizzare le videate relative a tutti i 9 timer (Da P1 a P9 dove P sta per Programma).
Arrivati alla videata del nono timer, premendo “UP” visualizzaeremo la videata relativa alla visualizzazione degli stati dei relè.
Tornando alla videata sopra riportata (del timer P1) sono leggibili le seguenti impostazioni:
-
Il timer P1 è attualmente disattivato
Il timer P1 entrerebbe in azione tutti i giorni della settimana
Il timer P1 entrerebbe in azione tra le 6 e le 7 di mattina
Il timer P1 attiverebbe il relè 1.
Premendo il pulsante “SET” è possibile modificare ad uno ad uno i valori sopra citati (verrà visualizzato un cursore lampeggiante su ogni valore da modificare, premendo “UP/DOWN” si varierà il valore, premendo “SET” si confermerà il valore per poi passare al successivo).
Si nota a questo punto l’estrema flessibilità del sistema. Ogni timer può lavorare su più relè ed è possibile selezionare singolarmente i giorni della settimana necessari.
E’ inoltre possibile, per esempio, selezionare l’attivazione del timer tra le 23.00 e le 3.00. Il sistema riconoscerà automaticamente il cambio data ed attiverà correttamente il timer tra le 23.00 e le 3 di notte.
Nel caso vi sia un blackout, al ritorno della corrente il timer ricomincerà a funzionare regolarmente, attivando i timer ove necessario. Infatti, lo stato dei relè non viene cambiato solamente allo scadere dell’orario di “start” e “stop”, ma calcolato ed impostato costantemente, garantendo un funzionamento stabile e sicuro.
Di seguito è riportata la videata riguardante lo stato delle uscite:

Notiamo che le uscite 1 e 3 sono influenzate dai timer ed al momento sono aperte.
L’uscita 2 è forzata allo stato “Acceso” (V) indipendentemente dai timer. Vediamo infatti lo stato chiuso di questa uscita.
L’uscita 4 è forzata allo stato “Spento” (X) indipendentemente dai timer. Vediamo infatti lo stato aperto di questa uscita.
Premendo “SET” è possibile settare il funzionamento di ogni uscita (influenzato dai Timer, Acceso, Spento).
Abbiamo così il controllo completo di ogni uscita, in caso di necessità anche manualmente.
Il presente progetto occupa circa 1/3 dello spazio di memoria programma del chip AtMega328 installato su Arduino2009. Abbiamo così molteplici possibilità di espandere tale centralina per adattarla alle esigenze di ognuno.
In primo luogo sarebbe da aggiungere la funzionalità di modifica della data/ora via software, agendo sui pulsanti della centralina. Potrebbe essere utile aggiungere un sensore di luminosità ambientale… per esempio per poter accendere le luci del giardino al calar del sole. Si potrebbe dedicare un’uscita (con relè Normalmente Chiuso) per poter collegare tali luci in serie. Avremo così la possibilità di attivare un timer per esempio dalle 00.00 alle 5.00, facendo spegnere le luci in questo periodo notturno. Otterremo in questo modo un’accensione automatica al calare del sole e uno spegnimento automatico al sorgere del sole. Per evitare sprechi energetici, il timer andrebbe a forzare lo spegnimento delle luci esterne tra la mezzanotte e le 5 di mattina.
4 relè non sono sufficienti? Potremmo riprogettare l’Irrighino Shield aggiungendo un PortExpander I2C. A questo punto otterremmo N uscite (decine e decine di relè…). Rimarrebbe necessario a questo punto aumentare il numero di timer… la eeprom interna dell’AtMega potrebbe contenere i dati di almeno un centinaio di programmi differenti.
Si potrebbe monitorare il livello di una cisterna di raccolta acqua piovana.
Si potrebbe loggare l’andamento del livello della cisterna.
Si potrebbe implementare un controllo a distanza (RS485) per portare in posizione comoda in giardino i comandi manuali di accensione/spegnimento delle elettrovalvole.
Le idee a riguardo potrebbero essere infinite, ma soprattutto improntate alle esigenze di ogni singolo giardino/proprietario. Il solo limite a questo punto è la vostra fantasia!
Buon divertimento!
Un particolare ringraziamento allo staff di Elettronica Open Source per avermi regalato (attraverso l’iniziativa Review4U) la possibilità di cimentarmi nello studio del progetto Arduino. Grazie a tutti per il tempo riservatomi nella lettura dell’articolo.
| Allegato | Dimensione |
|---|---|
| Irrighino.zip | 229.56 KB |


































=)=)
Ma che progetto fantastico!!!!
Grazie mille FlyTeo! E' un
Grazie mille FlyTeo!
E' un piacere condividere progetti utili! ;-)
Fantastico...
E' quello che stavo cercando, ma purtroppo sono un novellino, sapreste consigliarmi un sito dove comprare le elettrovalvole e gli altri componenti? Io utilizzerei irrighino solo per annaffiare i vasi in balcone, quindi non ho necessità di gestire una grossa pressione d'acqua. Le elettrovalvole che ho trovato costano sui 50 euro, vorrei trovare qualcosa di più economico. Grazie
Grazie a te! Io per il mio
Grazie a te!
Io per il mio giardino ho installato 7 elettrovalvole comprate su ebay già un anno e mezzo fa.
Il modello è questo: http://cgi.ebay.it/ELETTROVALVOLA-NAANDAN-1-FILETTATA-F-F-24-VOLT-/23063...
Se lo cerchi all'estero si trova (o almeno si trovava) a prezzo anche più basso!
Con queste elettrovalvole puoi interrompere il normale flusso dell'acquedotto.
Se però non vuoi collegarti all'impianto idrico di casa e ti serve soltanto annaffiare pochi vasi, una soluzione alternativa potrebbe essere usare un contenitore da 40 litri circa (più è grosso, più autonomia avrai!) non usare alcuna elettrovalvola ma una pompa da acquario di adeguata dimensione.
In questo modo irrighino andrebbe ad azionare direttamente la pompa elettrica solo quando necessario.
Nel mio caso invece, ho due cisterne da 15000 litri ed una pompa da un cavallo.
La pompa (il cui funzionamento è regolato da un pressostato) mantiene in pressione l'intero impianto grazie ad un vaso di espansione da 100litri.
Le elettrovalvole aprono il flusso dell'acqua quando necessario. :-P
irrighino
gli schemi dove sono?
il software ?
si trova già fatto ?
Grazie
Irrighino
C'è un allegato alla fine dell'articolo,
con la documentazione sul progetto Arduino fornita dall'autore,
ti è visibile?
irrighino
no !
puoi passarmi il link ?
Grazie
Documentazione progetto
Purtroppo anch'io non vedo l'allegato ne' con Safari ne' con Firefox.
Documentazione Progetto
Bellissimo progetto ma anche io non vedo l'allegato! :-(
Allegato irrighino
Avete ragione, gli allegati sono disponibili solo per gli utenti premium.
Ecco il link diretto, fatemi sapere se ok (in drupal i permessi sembrano non finire mai :)
http://it.emcelettronica.com/files/Irrighino.zip
Allegato
Grazie!
Allegato
Ciao, i file .brd e .sch come si leggono?
Estensioni .brd e .sci
Con ill programma Eagle
elenco componenti
Come faccio ad avere l'elenco componenti dello shield irrighino? e per stampare lo shield come faccio? Grazie
Bel progetto!!! ma che tipo
Bel progetto!!! ma che tipo di elettrovalvole servono? le bistabili?
info
chi è disposto a prepararne uno e vendermelo??
modifica attuata
ciao anzitutto mi complimento veramente per il progetto che hai messo in piedi.
è davvero ben fatto e ben studiato, hai usato molto bene il processore.
per un lavoro che mi è stato commissionato mi si chiedeva un apparato simile, allora ho preso liberamente spunto dal tuo.
ho fatto alcune modifiche sostanziali:
anzitutto ho reso compatibile il progetto con l' arduino 1,
ho inserito la libreria per la gestione del ds1307 in modo da aver più possibilità di gestire il software,
ho inserito le stringhe per regolare l' ora tramite sketch (tanto non serve regolarla continuamente da un menu dedicato),
ho usato un display collegato su un pcf8574 a 4 linee e 16 colonne usate come 2 da 32,in questo modo risparmio pin per usi futuri,
ho sostituito la tastiera a partitore di tensione(piuttosto imprecisa) e ho messo su 5 pulsanti diretti ma presto li mando su un pcf8574 pure essi.
ho fatto un po di correzioni qua e la per adattarlo bene alle mie esigenze e ora funziona da dio!
grazie ancora!
Posteresti le tue modifiche
Ciao,
posteresti le tue modifiche? Sarebbero interessanti da poter studiare ed utilizzare.
aiuto_
ciao a tutti_ doppo avere costruito lo shield e montato tutti i componenti caricato lo schetch mi sto imbattendo in un problema che riesco a risolvere_come impostare l'ora _l'rtc l'ho testato con un altro codice e funziona...ma quando carico lo schetch di irrighino l'ora non appare sul display che rimane come prima DDD 00/00/00
00:00:00
ps_siccome lo sto facendo lavorare su arduino uno invece che su arduino 2009 va fatto delle modifiche??? e se si quali_??? grazie
il mio funziona
il mio funziona perfettamente, ma non so come postare l' intero codice.
qualcuno può darmi delle dritte?
potrei postare tutto il codice su questa finestra ma diverrebbe piuttosto complicato.
ciao_non so dirti se si puo
ciao_non so dirti se si puo postare l'intero codice qui ma se ci riesci mi faresti un grande piacere_grazie
te lo posso inviare magari
te lo posso inviare magari via mail.
dammi il tuo indirizzo.
postare il codice facendo copia e incolla diventerebbe davvero lungo, e inoltre ti dovrei dare le diverse librerie per gestire il display e l'rtc.
dubito che i moderatori accettino un tale impegno di pagina...
indirizzo di posta elettronica_
ciao_prima di tutto grazie ancora per la tua disponibilita di aiutarmi nel risolvere questo problema_il mio indirizzo di posta elettronica è eliott78@hotmail.it
Lo manderesti anche a me?
Lo manderesti anche a me? antispam@inventati.org, e... grazie in anticipo
Invio File modificati
Ciao speleoduracell potresti gentilmente inviarmi via mail all'indirizzo disegnodiluce@gmail.com i file modificati del progetto Irrighino?
Grazie
Valter
Mi interesserebbe studiare
Mi interesserebbe studiare anche il codice modificato da speleoduracell, grazie in anticipo. aramilli@libero.it
shield wi-fi
salve a tutti, complimenti per il progetto!
sono neofita di arduino e "immaginandomi" il progetto per il controllo di una elettrovalvola sola pensavo di controllare il funzionamento via wi-fi, secondo te è fattibile?
Perché non metti il codice su
Perché non metti il codice su GitHub? Anche a me piace l'idea di un impianto di irrigazione con Arduino :)
pulsante set
Salve belprogetto lo ho realizzato e tutto ok tranne che per il tasto set.non riesco a selezionare i parametri confgurabili, solo qualche volta me li prende a caso.Cosa posso fare?il tastierino e' autocostruito e funziona ,gia testato con programma specifico.grazie.
relè_
ciao_ vorrei sapere se qualcuno sa dirmi dove aquistare i relè che sono uttilizati in questo progetto...grazie
relè
J'integrato uln2003 ha in uscita 7 darlington da 50 volt 500ma. Per i rele hai una vasta scelta .li trovi in negozi specializzati di materiale elettrico o su eBay.
@ roberto84 con il tastierino
@ roberto84
con il tastierino a partitore difficilmente hai precisione.
https://drive.google.com/?tab=mo&authuser=0#folders/0B9_rMYqf8SdDaVp6a0J...
spero funzioni, quà c'è tutto il codice modificato e funzionante, alcune uscite sono gestite via pseudorandom, chi vuole usi solo ciò che gli occorre, c' è dentro pure lo schema. ripeto tale apparato c'è anche nelle foto funziona correttamente, non presenta più bugs ed ora stà funzionando in giro chissà dove.
ho lavorato tanto prima di portare fuori dal progetto originale un timer funzionante ma ora dovrebbe andare.
non ho volutamente usato l' hardware che c'era inizialmente per avere la possibilità di eliminare sopratutto i tasti analogici.
il dispositivo ora ha pure un controllo di carica della batteria 12v e altre piccole modifiche.
spero di esser stato utile a qualcuno.
ciao a tutti!
Complimenti per il progetto,
Complimenti per il progetto, proprio quello che mi serviva.
Veramente utile
Il progetto è veramente bellissimo vorrei replicarlo per il mio "orto da terrazzo" (non ho giardino).
speleoduracell potresti per favore inviarmi il file?
Non riesco a vedere niente in https://drive.google.com/?tab=mo&authuser=0#folders/0B9_rMYqf8SdDaVp6a0J...
Grazie e buon lavoro.
Temyra
Ciao chiedo un parere agli esperti: Vorrei realizzare un s
Ciao chiedo un parere agli esperti:
Vorrei realizzare un sistema che mi permetta di riempire il pozzo (con acqua dell'acquedotto) quando non è pieno, controllando l'apertura/chiusura di un'elettrovalvola e utilizzando un sensore di livello.
La durata dell'apertura dell'elettrovalvola deve essere in funzione del livello del pozzo. (se il livello è 1 metro più basso del livello massimo allora l'elettrovalvola dovrà essere aperta 30 minuti; se il livello è 2 metri più basso del livello massimo elettrovalvola aperta 60 minuti, ecc.) Questa operazione (apertura elettrovalvola) andrebbe fatta ad un (o più) orario preciso che pùò essere diverso da un giorno all'altro (per esempio il lunedi' alle ore 22.00, il martedi alle ore 5.00, ecc).
E' possibile realizzare questo sistema con Arduino?
Grazie Daniele
Salve, esiste un sensore di umidità che monitori lo stato di
Salve,
esiste un sensore di umidità che monitori lo stato di umidità del terreno e faccia partire l'acqua solo quando necessario ?:)
questo interesserebbe anche a me...ovvero attivare l'irrigazione
questo interesserebbe anche a me...ovvero attivare l'irrigazione da remoto tramite modulo wi-fi...
Progetto utilissimo anche per altri utilizzi...ottimo. Ma qua
Progetto utilissimo anche per altri utilizzi...ottimo.
Ma qualcuno potrebbe indicarmi come impostare l'orario nel programma.Sono alle prime armi nella programmazione di arduino. Grazie mille.