Quello che vedete qui sopra non e’ un nuovo modo per alimentare Arduino….ma il test di un sensore di umidità appena realizzato.
Ma procediamo per gradi…
Da qualche tempo ho iniziato delle piccolissime coltivazioni che spaziano dai semplici peperoncini (piccantissimi) passando per il prezzemolo … per arrivare ai funghi 🙂
Il problema principale sta nel fatto che, come ci hanno insegnato sin da piccoli, per far crescere queste piante….CI SI DEVE RICORDARE CI INNAFFIARE!
E qui sta il problema principale….mi dimentico sempre….e molte piantine muoiono!
Ma dopo una vita passata a saldare e collegare fili…non trovo nessun sistema per ovviare al problema dell’acqua?
La cosa più semplice sarebbe stata comprare un Timer (ci sono in commercio modelli che si attaccano direttamente al rubinetto) e programmare gli orari per portare acqua alle piante…… ma finisce tutto il divertimento.
Pensiamo a qualcosa di più interessante! … Facciamo diventare il nostro Arduino un giardiniere scrupoloso 🙂
Lista della spesa :
- Una Scheda Arduino
- Un transistor BC547 o similare
- 2 resistenze da 1kohm
- 30 minuti di tempo
Utilizzeremo uno degli ingressi analogici di arduino (A0) e ne misureremo la differenza di potenziale in un range che va da 0 a 5volt.
Sappiamo benissimo che l’acqua e’ un conduttore di corrente e di conseguenza un terreno più o meno bagnato condurrà più o meno tensione. Il nostro intento e’ quello di far misurare questa conducibilità ad Arduino.
Ecco il circuito :
Semplicissimo….i 5volt e la massa sono gli stessi di arduino e il pin A0 e’ il primo ingresso analogico. Per il terreno si possono usare 2 pezzetti di metallo o rame. Magari usate qualcosa di resistente all’acqua ed al processo di elettrolisi che si potrebbe generare dal piccolo passaggio di corrente tra i due poli.
Io ne ho realizzato uno su una basetta millefori…ma e’ solo un prototipo (quindi da rifare molto meglio). Quello definitivo deve essere a prova d’acqua e con connessioni più stabili!
Realizzato il tutto colleghiamo ad Arduino e scriviamo il codice….
void setup(){ Serial.begin(9600); } void loop(){ Serial.print("Valore:"); Serial.println(analogRead(0)); delay(100); }
Anche questo e’ basilare….non fa altro che abilitare la seriale a 9600baud….e poi un ciclo continuo dove legge il valore del pin analogico A0.
Il valore letto verrà stampato sulla seriale (visibile aprendo il monitor seriale di Arduino).
I valori andranno da 0 (sensore fuori dal terreno), 150-300 (terreno secco) , 800-900 (terreno molto bagnato).
Magari con un po di prove capirete i valori che vi interessano.
“Smanettando” e’ semplice aggiungere codice in modo che ad un valore preciso si possa far scattare un relè e far partire un pompa (o un’elettrovalvola) per irrigare il terreno.
Magari poi i più smaliziati potranno aggiungere una fotoresistenza che permetta di irrigare solo di sera o solo la mattina presto (in base alle condizioni di luce rilevate)
Qui ci sono le basi…a voi il divertimento 🙂