Progetto sensore di umidità del terreno con Arduino

Con Arduino è possibile monitorare in modo semplice ed economico il livello di umidità del terreno. Un costoso sensore di umidità ermetico può essere rimpiazzato da 2 semplici chiodi, una resistenza da 10 Kohm e un pò di cavo elettrico per i collegamenti.

Vediamo lo schema di collegamento del nostro sensore di umidità fai da te con Arduino:

schema collegamento sensore umidita arduino.pdf

 

schema di collegamento Arduino

 

Descrizione di funzionamento:

Il sensore di umidità è composto da 2 chiodi zincati posti ad una certa distanza l’uno dall’ altro. Per rilevare il valore di umidità conficco i chiodi nel terreno creando così un “ponte” di collegamento tra di loro. L’ingresso analogico di Arduino può leggere valori con una risoluzione di 10 bit quindi da 0 a 1024.

Se il terreno è secco non vi è passaggio di corrente, è come se avessi tra i 2 chiodi una barriera isolante ( resistenza massima), quindi il valore rilevato da Arduino sarà 0. Man mano che il terreno si inumidisce la resistenza andrà a diminuire, permettendo così il passaggio di corrente elettrica. L’ingresso analogico di Arduino rileverà un valore inversamente proporzionale alla resistenza del terreno quindi se il terreno è fradicio di acqua dovrei rilevare un valore che si avvicina a 1024.

Facendo alcuni test posso individure 3 valori:

– un valore sotto il quale posso dire che il terreno è quasi secco e quindi necessita di acqua,

– un intervallo intermedio nel quale il terreno si trova in una condizione ideale di umidità,

– un valore sopra il quale posso dire che la terra è troppo umida.

Lo schema di collegamento è molto semplice:

Il cavo elettrico va saldato sulla testa dei 2 chiodi. Il filo del primo chiodo va collegato ai 5 Volt di Arduino mentre il filo del secondo va sia all’ingresso analogico di Arduino che ad un resistore da 10 Kohm che a sua volta va connesso a massa.

 

IMG_20150322_211616

 collegamenti Arduino

Sketch di acquisizione del valore di umidità con Arduino:
int sensore_umidita = 0; //dichiaro l’ingresso analogico A0 per la lettura dell’ umidità

int umidita; // dichiaro la variabile integer nella quale sarà scritto il valore di umidità

void setup() {
Serial.begin(9600); //apro la porta seriale
}

void loop() {
umidita = analogRead(sensore_umidita); // leggo il valore dell’ ingresso analogico A0
Serial.print(“Valore di umidità: “); // scrivo sulla seriale il valore letto
Serial.println( umidita );
delay(1000); //attendo 1 secondo e ripeto il ciclo di acquisizione del valore
}

Grazie a questo semplice sensore ho la possibilità di monitorare la corretta umidità del  fragoleto potendo intervenire per tempo in caso di scarsità idrica.

Prossimamente inserirò lo sketch integrato con la parte relativa alla connessione con sheld ethernet per l’invio del dato rilevato ad un database remoto, successivamente grazie alla sheld GSM descriverò la possibilità di inviare il dato in semplice formato SMS impostando una soglia d’allarme che invia in automatico un SMS di allerta (ad esempio se l’umidità scende sotto ad un certo valore in automatico Arduino invia l’sms di allerta con il valore rilevato e volendo in automatico può essere impostato un relè 12 volt che accende in automatico la pompa di irrigazione per un ben determinato intervallo di tempo).

Luca Serafini

fragolebio

6 thoughts on “Progetto sensore di umidità del terreno con Arduino

  1. Salve volevo sapere posso usare i valori del sensore per far accendere un led ad esempio se Valore dell”umidità arriva a 500 mi accende il led altrimenti mi spegne il led, e possibile farlo? Grazie in anticipo per una sua rispoata.

    • Ciao Davide, certo puoi fare quasi tutto con Arduino :-) Dichiari un ingresso digitale per il led come uscita e imposti una formula condizionale che fa accendere il led sopra il valore 500

  2. Con il sensore collegato in modo fisso all’alimentazione e alla massa favorisci la corrosione dei chiodi per effetto elettrolitico. Molto meglio alimentare il sensore per l’istante che occorre per la lettura intervallato da con lunghe pause

    • Ciao Piero, si hai ragione i chiodi si potrebbero corrodere, e la pianta ne risentirebbe sicuramente.scriverò uno skatch che preveda un rilevamento a campione invece che in continua in modo che la corrente circoli solo per l’istante necessario alla misura. Grazie

  3. Salve io sarei molto interessato al progetto ma non avendo attitudini di programmazione cercavo in rete il codice completo con il sensore di umidità con attivazione del relè della pompa.
    Chi mi può aiutare?
    grazie

Leave a Comment