Lecturas erróneas sensor humedad YL-69

Buenos Días a todos, el viernes recibí el sensor para comprobar la humedad del suelo: YL-69. Si lo activo me da unas lecturas en el aire de 0/1% de humedad. El problema surge cuando este lo pongo dentro de un vaso de agua que me da humedad de 70/80%. No entiendo que puede estar pasando, alguien le ha pasado o que pruebas mas podría realizar para saber si es problema del componente

Aquí les dejo mi código:

#include <LiquidCrystal_I2C.h>//Libreria para LCD I2C
#include <Wire.h>//libreria requrida para usar SDA y SCL
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

//Declaracion de variables
int Humedad=0;//Variable utilizada para calcular la humedad
int Lectura_Analogica=0;//variable para leer el valor del pin analogico
void setup() 
{
  lcd.begin(20, 4);//Inicializar la LCD 20x4
  lcd.backlight();//Encender la luz de fondo
}
 
void loop() 
{
  char buffer[10];//Variable para crear una cadena
  Lectura_Analogica = analogRead(A0);//Leer el valor del potenciometro 
  Humedad = map(Lectura_Analogica, 0, 1023, 100, 0);//Escala para utilizarlo con el servo 
  //Mostrar mensajes en la LCD
  lcd.setCursor(1, 1); //posicionar el cursor fila 1 columna 1
  lcd.print("Sensor de humedad");
  lcd.setCursor(3, 2); //posicionar el cursor fila 2 columna 3
  lcd.print("Humedad=");
  sprintf(buffer,"%03d",Humedad);//crear una cadena para mostrar siempre 3 digitos
  lcd.print(buffer);//Mostrar el % de humedad
  lcd.print("%");
  delay(250);//Esperar 250 ms
}

Muchas gracias a todos!

No has declarado el pin como entrada por lo que no te lo va a hacer bien, revisa eso y vuelve a probar.

un saludo!

El sensor de humedad de suelo lo que mide en realidad es la resistencia eléctrica del suelo, basándose en que esta disminuye cuanto mas agua tiene el suelo (mayor humedad), por eso cuando lo pones en agua lo que vas a medir es es la resistencia eléctrica del agua. Los valores máximos y mínimos, los puedes obtener si quieres probar su funcionamiento dejando las patas del sensor al aire(circuito abierto) y poniéndolas en corto (circuito cerrado), uniéndolas con algo metalico.

Danicap:
No has declarado el pin como entrada por lo que no te lo va a hacer bien, revisa eso y vuelve a probar.

un saludo!

Que parte de código debería añadir Muchas Gracias!

Que parte de código debería añadir Muchas Gracias!

En el setup simplemente deberías añadir

pinMode(A0,INPUT);

Con eso ya la tendrás declarada como entrada.

Danicap:
En el setup simplemente deberías añadir

pinMode(A0,INPUT);

Con eso ya la tendrás declarada como entrada.

Que!!!!!!!!!!!

De ningún modo debes definir como entrada DIGITAL una entrada analógica.
No hace falta definirla.

El código esta bien, si falla es porque el sensor tendrá algun problema o solo deberías medir la salida analogRead(A0); y ver los valores que entrega.

Permitanme que insista en mi respuesta, pero aunque no tengo gran idea de arduino, al estar trabajando en un proyecto en que los empleo algo se de los medidores de humedad de suelo, y lo que hacen es medir los ohmnios, por lo que el 100% lo consiguen en cortocircuito (resistencia cero), y cuando están en agua pues medirán mas o menos la resistencia del agua.

Muchas Gracias a todos! Finalmente fue lo que dijo elduino, si junto los 2 sensores este marca 100% lo de la tierra y la agua ahora que lo dices tienes razón, muchas gracias!