Hola gente buenos dias, hace unas horas que estoy intentando hacer lo siguiente.
que cuando un DHT11 sense X temperatura, encienda una luz, y si la temperatura baja
pero la temperatura seteada quiero ponerla con un push y verla en display
si no estoy errado necesito hacer una variable que se incremente al presionar el pulsador.
lo logre asi
void incrementarTempOn(){
TempOn ++;
TempOn = TempOn;
y en el case del display lo hice asi:
case S_SET_B: /*** INICIA ESTADO S_SET_B /
if(flancoSubida(BTN_MENU)) { // Transición BTN_MENU
estado = S_SET_E;
printEncendido();
break;
}
** if(flancoSubida(BTN_UP)) { // Transición BTN_EXIT
** incrementarTempOn();*
** break;**
** }[/b]**
** if(flancoSubida(BTN_EXIT)) { // Transición BTN_EXIT**
** estado = S_HOME;**
** printHome();**
** break;**
** }**
** break;**
y que lo imprima aca
void printTempOn() {
** lcd.clear();**
** lcd.setCursor(0,0);**
** lcd.print("Temp con Luz");**
** lcd.setCursor(0,1);**
** lcd.print(TempOn); // Escribe en el LCD**
** delay (200);**
** }**
hasta ahi voy bien, el problema es cuando quiero hacer esto:
si lo pongo en void loop(){ me muestra en display que TempOn aumenta al pulsar pero solo el cursor aumenta. es como que queda siempre en 0
if(TempOn == celsius){
digitalWrite(12,HIGH);
}
else{
** digitalWrite(12,LOW);**
}
y cuando lo puse dentro de
void printTempOn() {
if(TempOn == celsius){
digitalWrite(12,HIGH);
}
else{
** digitalWrite(12,LOW);**
}
** lcd.clear();**
** lcd.setCursor(0,0);**
** lcd.print("Temp con Luz");**
** lcd.setCursor(0,1);**
** lcd.print(TempOn); // Escribe en el LCD**
** delay (200);**
** } Funciono pero solo si estoy en ese case es decir si me voy al case Home no funciona mas**
me estoy volviendo loco con esto agradezco si alguien me da una mano ![]()