Sensore di Umidità terreno con Arduino

Sensore + Arduino

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 :

Schema Sensore Umidità Terreno

Schema Sensore Umidità Terreno

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!

Sensore di Umidità su basetta millefori - prototipo

Sensore di Umidità su basetta millefori – prototipo

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 🙂

3 thoughts on “Sensore di Umidità terreno con Arduino

  1. In realtà dare l’acqua in base all’umidità é meglio del timer, perché é un controllo in anello chiuso, mentre il timer é un controllo in anello aperto. Anello chiuso é più robusto, perché permette di compensare gli errori. Cmq il primo weekend libero provo a farlo.

  2. Ciao,
    mi chiedevo il perchè del transistor (che poi non vedo nel tuo sketch la base collegata a nessun pin).

    grazie!

  3. Il Transistor serve da amplificatore! Facilita arduino nel “sentire” la differenza di resistenza al passaggio della corrente portata dall’umidità del terreno.
    La base e’ uno dei due puntali da inserire nel terreno.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *