Hola, hace una hora termine la Incubadora casera que realize con arduino.
Bien la cosa es hice el codigo y lo probe antes de armarlo.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h" //cargamos la librería DHT
#define DHTPIN 2 //Seleccionamos el pin en el que se conectará el sensor
#define DHTTYPE DHT22 //Se selecciona el DHT22(hay otros DHT)
DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por Arduino para comunicarse con el sensor
LiquidCrystal_I2C lcd(0x3F,16,2); //Se declara el tipo de LCD
void setup() {
pinMode(13,OUTPUT); //Se declara PIN D13 como salida
lcd.backlight(); // Se enciende el backlight de LCD
dht.begin(); //Se inicia el sensor
lcd.init(); //Se inicia el LCD
lcd.print("Incubadora 1.0V ");
delay(2000);
lcd.clear();
lcd.print("Obteniendo datos...");
delay(2000);
lcd.clear();
}
void loop() {
float h = dht.readHumidity(); //Se lee la humedad
float t = dht.readTemperature(); //Se lee la temperatura
//Se imprimen las variables
lcd.print("Humedad: "); //Se imprime la humedad
lcd.print(h);
lcd.setCursor(0,1);
lcd.print("Temp: ");//Se imprime la temperatura
lcd.print(t);
if(t>38.50){ //Si la temperatura (t) es menor que 38.50 se pone el PIN D13 en alto
digitalWrite(13,1);
}
delay(2000 ); //Se espera 2 segundos para seguir leyendo //datos
lcd.clear();
}
Bueno, use el DHT22 por su precisión + un modulo de 2 reles octoacoplados
El problema es cuando la temperatura llega a la temperatura deseada.
Cuando enciende todo funciona, si la temperatura es menor que 38.50 C el rele se exista hasta llegar a la temperatura, una ves que alcanza los 38.50 C el rele deja de estar excitado porque ya sobrepaso la temperatura, pero una ves que baja de los 38.50 C no se exista mas, o sea, aunque esta mas baja que 38.50 C no se activa.
Lo que hago es sacar la alimentación y volver a alimentar y ahí vuelve a funcionar hasta que la T llega a lo indicado, luego que baja un poco la T vuelve a pasar el problema
Me sabrían decir cual es el problema?
Gracias!