Es buen código
Muchas gracias por comentarlo al detalle, así vamos aprendiendo. Hay que revisar la hoja de datos del sensor, para ver por qué sale al revés. Se me ocurre ponerle
100 - valor convertido (ó 1023 - valor original/medido). Así cuando sea
100% queda:
100 - 100 =
0% ; y, cuando sea
0% queda:
100 - 0 =
100%, por ejm si está mojado al 90% y el output dice
10%, queda
100 - 10% =
90% (% real).
Como son 10 bits de resolución, puede entregar al final una salida ejm
humedad: 90.3% (texto en consola/pantalla). Quizá cambiando el tipo de variable por una que guarde y muestre las decimas, en c++ sería:
Código:
float numero = 0.707;
printf("%f", numero);
Buenas vibras. Feliz noche
bueno creo que lo pille y esto es lo que ha salido. el problema esta resuelto no se si de la mejor manera por mis escasos conocimientos pero ha salido jajaja
Voy a mostraros un poco los avances que son los siguientes:
-Corregidos los valores que mide el sensor gracias a
@alejokaban
-Añadido el código para encender y apagar la bomba de agua. (De momento es un led pero en el vídeo haré una prueba con la bomba de agua. )
Fotos:
La placa con sus conexiones por ahora son temporales aprovecho que el pin 13 ya tiene su resistencia y lo activo cuando la humedad baja de cierta medida.
5V a VCC
GND a GND
A0 a A0
Pin13 al positivo del led (su nombre es Ánodo)
GND al lado del pin 13 va a negativo del led (su nombre es Cátodo)
La perspectiva de todo.
Mini breadboard para sujetar el sensor aislado porque vamos a usar agua...
Aquí se aprecian mejor las conexiones.
El sensor en tierra para hacer la prueba real.
El LED esta encendido (lo que activaría la bomba de agua) porque como ven la tierra esta mas bien seca.
La bomba llego el viernes esta cuesta 1.99€ espero que de buenos resultados porque es económica si el motor es bueno el mantenimiento sera mínimo.
Y llegamos a la parte mala y a la conclusión de que el sensor es una mierda como una casa lol la tierra esta mas seca que mi abuela y marca 80% de humedad
cuando realmente es un 30% escaso, yo clavo el dedo y el bonsai os digo que esta seco llevo una semana sin regar el árbol estoy siendo generoso con la cifra.
así que me veo obligado a regar en cuanto baje del 95% de humedad en la captura esta al 85% pero eso en la vida real no es cierto el 80 equivale al 20 mas o menos.
Código fuente:
/*
AnalogReadSerial 18/02/2015
Versión del sketch: 1.01
Este sketch lee una entrada analógica en el pin 0 (A0)
imprime el resultado en el monitor serial. Usaremos
el medidor de humedad en suelo FC-28
Conexiones:
VCC a 5V
GND a GND
A0 a A0
Do de momento no se usa.
Este sketch es para usuarios de
www.lamarihuana.com
*/
float sensorHumedad; /* Definimos variable float en vez de int
para ver decimales y no enteros ok chicos esto esta tirado.*/
// Función principal:
void setup()
{
// iniciamos el pin digital 13 como salida.
pinMode(13, OUTPUT);
// iniciamos la comunicación serial a 9600 bits por segundo:
Serial.begin(9600);
}
// Función cíclica:
void loop() { // Esta función se mantiene en bucle...
sensorHumedad = analogRead(A0); // leemos la entrada analógica pin 0:
sensorHumedad = 5-5*sensorHumedad/1023; // convertimos el valor análogo a centigrados.
Serial.print(sensorHumedad); // visualizamos el valor leído y sin salto de linea...
Serial.print("V, "); // Visualizamos los V conductividad entre los bornes del sensor.
sensorHumedad=sensorHumedad*20; /* Convertimos los 5 V a 100 para que cuando el sensor
lee 5v no de lectura de 1023 si no 100 y le damos la vuelta a la tortilla
*/
Serial.print(sensorHumedad); // Ahora si imprimimos la lectura correcta.
Serial.println ("%"); // ...Ponemos el símbolo de la Humedad
delay(1000); // retardo de medio segundo entre lecturas por estabilidad
if (sensorHumedad<=95) // si el sensor lee menos de 95%...
{
digitalWrite(13, HIGH); // ...Enciende el led rojo que pronto sera la bomba de agua...
}
else //... ademas si lee mas de 95...(aquí no definimos valor porque si no es menor es mayor por cojones)
{
digitalWrite(13, LOW); //... apagamos el led pronto la bomba de agua.
} //Cerramos la llave del if.
} // Cerramos la llave del bucle y vuelve arriba.
En breve subo un vídeo...