PitSoilMoisture - Sensore umidità del terreno

L'utilizzo di un sensore di umidità del terreno.

 

 

Prova del sensore commerciale con lettura del pin analogico

Questo può funzionare in due modi, attraverso la lettura analogica di un pin attraverso cui è possibile determinare una indicazione dell'umidità del terreno oppure attraverso la lettura del pin digitale.

Prova del sensore commerciale con lettura del pin digitale

In questa seconda modalità il pin digitale è controllato da un potenziometro che ne determina l'attivazione / disattivazione. In questo modo puo attivare direttamente un rele per il comando di un semplice impianto di irrigazione.

Prova del sensore fai da te con lettura del pin analogico

In questo caso il circuito è il più semplice possibile e come si nota dal filmato il pin analogico rileva, con il sensore immerso in acqua un modesto incremento della tensione..

Prova del sensore fai da te con lettura del pin analogico

In questo caso nel circuito è stato inserito un transistor BC547 con lo scopo di amplificare il segnale. Come si vede dal filmato il pin analogico rileva, con il sensore immerso in acqua un incremento della tensione più rilevante rispetto al caso precedente.

 

ozio_gallery_jgallery

 

Cosa serve:

  • Scheda compatibile BT HC05
  • resistenze

Codice sorgente - pin analogico:

/* Esempio di lettura dal sensore di umidità tramite 
   pin analogico
   ZappocoS 26 giugno 2015
   www.zappoco.altervista.org
   schetch tratto da:
   http://www.mauroalfieri.it/elettronica/irrigazione-arduino-sensore-terreno.html
*/
int sensorPin = A0;
int sensorValue = 0;
void setup() {
  Serial.begin( 9600 );
  pinMode(sensorPin, INPUT);
}
void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.print("Pin A0: ");
  Serial.print( sensorPin );
  Serial.print(" ---> valore letto ");
  Serial.println( sensorValue );
  delay(500);
}

 

Codice sorgente - pin digitale:

 

/* Esempio di lettura dal sensore di umidità tramite 
   pin digitale 
   ZappocoS 26 giugno 2015
   www.zappoco.altervista.org
*/
int sensorPin = 6;  // pin digitale 
int sensorValue = 0;
void setup() {
  Serial.begin( 9600 );
  pinMode(sensorPin, INPUT);
}
void loop() {
  sensorValue = digitalRead(sensorPin);
  Serial.print("Pin D0: ");
  Serial.print( sensorPin );
  Serial.print(" ---> valore letto ");
  Serial.println( sensorValue );
  delay(500);
}

 

 

Scarica tutto quello che serve:

ZappocoS, 26 giugno 2015