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.
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