Buenos días!
Antes que nada, agradeceros la ayuda que ofrecéis para aquellos que, como yo, estamos aprendiendo y a veces nos liamos.
En serio, muchas gracias.
Estoy haciendo una incubadora y tengo que controlar una serie de variables: Humedad, Temperatura, Rotación.
El caso es que no tengo problema para activar y desactivar un relé por ejemplo que controla una resistencia para mantener la temperatura.
El caso es que me gustaría que cuando el relé esta HIGH, mostrar en el LCD. Resistencia:ON y OFF cuando esta en LOW.
He hecho varios intentos con if sin éxito. Os agradecería alguna recomendación.
Os pego el texto del programa:
//CONTROL LCD
#include <LCD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7);
//CONTROL TEMPERATURA Y HUMEDAD INTERIOR Y EXTERIOR
#include <DHT.h>
#include <DHT_U.h>
DHT dht1(2, DHT22);
DHT dht2(3, DHT11);
float TI; // temperatura interior
int HI; // humedad interior
int TE; // temperatura exterior
int HE; // temperatura exterior
//CONTADOR DE DIAS
unsigned long days;
//Rotación
int RELE_ROTACION;
//Temperatura
int RELE_TI = 5;
void setup()
{
lcd.setBacklightPin (3, POSITIVE);
lcd.setBacklight (HIGH);
lcd.begin(20, 4);
lcd.clear();
dht1.begin();
dht2.begin();
pinMode (RELE_TI, OUTPUT);
}
void loop() {
TI = dht1.readTemperature();
HI = dht1.readHumidity();
TE = dht2.readTemperature();
HE = dht2.readHumidity();
days = millis()/86400000;
if (TI<36.7) { digitalWrite(RELE_TI,HIGH); }
if (TI>=36.7) { digitalWrite(RELE_TI,LOW); }
lcd.setCursor ( 0 , 0 );
lcd.print (" DIAS INC. ");
lcd.print (days);
lcd.setCursor ( 0 , 1 );
lcd.print (" TI:");
lcd.print (TI);
lcd.print ("\337C ");
lcd.print (" TE:");
lcd.print (TE);
lcd.print ("\337C");
lcd.setCursor ( 0 , 2 );
lcd.print ( " HI:" );
lcd.print (HI);
lcd.print ( "%" );
lcd.print ( " HE:" );
lcd.print (HE);
lcd.print ( "%" );
lcd.setCursor ( 0, 3 ); // Iniciar en la columa 1 fila 3
lcd.print ( " CAL:" );
// if (RELE_TI=HIGH) { lcd.print("ON"); } ESTO ES LO QUE NO SE HACER
// if (RELE_TI=LOW) { lcd.print("OFF");} ESTO ES LO QUE NO SE HACER
delay( 1000 );
}