Menu mobile
Este corto tutorial explica como poder detectar si la tierra de tus plantas está o no húmeda. Para ello esté módulo tiene un higrómetro que se entierra, el cual detecta si hay variación en la conductividad eléctrica entre los dos extremos. Más agua hace que la conducción eléctrica del suelo más fácilmente (menos resistencia), mientras que el suelo seco mal conductor de la electricidad (mayor resistencia). Esta conductividad captada la traduce a unos valores analógicos, y a un valor digital ajustable por potenciómetro.
Los valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco). Un suelo ligeramente húmero daría valores típicos de 600-700. Un suelo seco tendrá valores de 800-1023.
Por lo tanto, este sensor es ampliamente usado para sistemas de riego automático
Para obtener más información sobre productos o sus descripciones técnicas entre en nuestra web Solectro Shop.
Conexión
El módulo se alimenta directamente de Arduino, así que no necesitamos una fuente de alimentación externa. La parte del sensor, el higrómetro con las dos sondas, lo enterramos en la maceta y conectamos como se muestra en la imagen.
Los pines del módulo irán de la siguiente manera conectados a la placa Arduino UNO:
Pin del sensor
Pin de Arduino UNO
VCC
5V
GND
A0
D0
10
Operación
En cuanto al código para el Arduino IDE es relativamente sencillo. Puedes usar su salida digita o analógica para activar por ejemplo un relé que actué sobre el sistema de riego.
Para usar el pin analógico, abre un nuevo sketch y pega el siguiente código de ejemplo:
void setup() {
//Paso 1
Serial.begin(9600);
Serial.println("Valor del sensor de humedad");
}
void loop() {
//Paso 2
int humidity = analogRead(A0);
Serial.print("Lectura:");
Serial.println(humidity);
//Paso 3
if(humidity >= 0 & humidity <= 300){
Serial.println("La tierra está seca);
} else if(humidity > 301 & humidity <= 700){
Serial.println("La tierra está húmeda");
}else if(humidity >= 701){
Serial.println("La tierra está mojada");
delay(1000);
const int sensorPin = 10;
void setup()
{
pinMode(sensorPin, INPUT);
void loop()
int humedad = digitalRead(sensorPin);
//mandar mensaje a puerto serie en función del valor leido
if (humedad == HIGH)
Serial.println("Encendido");
// espacio donde añadir las acciones