diff --git a/caldera_rata_2/caldera_rata_2.ino b/caldera_rata_2/caldera_rata_2.ino index 3f645de..acd9b3d 100644 --- a/caldera_rata_2/caldera_rata_2.ino +++ b/caldera_rata_2/caldera_rata_2.ino @@ -9,8 +9,8 @@ unsigned long intervalo_loop=5000; unsigned long previoMillisTermo=0; unsigned long previoMillisLoop=0; unsigned long actualMillis; -byte horaON = 5; -byte horaOFF = 7; +byte horaON=5; +byte horaOFF=7; byte horaON2=16; byte horaOFF2=18; byte cont=0; @@ -19,86 +19,84 @@ bool espera; bool start; void setup() { - myservo_X.attach(9); - reloj.begin(); - start=1; - estado_termo = 0; - + myservo_X.attach(9); + reloj.begin(); + start=1; + estado_termo=0; } +//reloj.adjust(DateTime(__DATE__, __TIME__)); void loop() { - if(start) { - myservo_X.write(30); - start=0; - fecha = reloj.now(); - } - actualMillis = millis(); - if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) { - fecha = reloj.now(); - if(((fecha.hour() >= horaON) && (fecha.hour() < horaOFF)) || - ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2)) && - (estado_termo == 0)) { - termoON(); - } else if(((fecha.hour() < horaON) || (fecha.hour() >= horaOFF)) && - ((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2)) && - (estado_termo == 1)) { - termoOFF(); + if(start) { + myservo_X.write(30); + start=0; + fecha=reloj.now(); + } + actualMillis = millis(); + if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) { + fecha = reloj.now(); + if((((fecha.hour() >= horaON) && (fecha.hour() < horaOFF)) || + ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) { + termoON(); + } else if((((fecha.hour() < horaON) || (fecha.hour() >= horaOFF)) && + ((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) { + termoOFF(); + } + previoMillisLoop = millis(); } - previoMillisLoop = millis(); - } } - + // Secuencias de encendido y apagado de Caldera void termoON() { - myservo_X.write(120); - espera = 0; - cont = 0; - previoMillisTermo = millis(); - do{ - actualMillis = millis(); - if(espera == 0) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(110); - previoMillisTermo = millis(); - espera = 1; - cont++; - } - } - if(espera == 1) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(120); - previoMillisTermo = millis(); - espera = 0; - cont++; - } - } - } while (cont < 4); - estado_termo = 1; + myservo_X.write(120); + espera=0; + cont=0; + previoMillisTermo=millis(); + do{ + actualMillis=millis(); + if(espera==0) { + if((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(110); + previoMillisTermo=millis(); + espera=1; + cont++; + } + } + if(espera==1) { + if((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(120); + previoMillisTermo=millis(); + espera=0; + cont++; + } + } + } while(cont<4); + estado_termo=1; } void termoOFF() { - myservo_X.write(45); - espera = 0; - cont = 0; - previoMillisTermo = millis(); - do{ - actualMillis = millis(); - if(espera == 0) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(62); - previoMillisTermo = millis(); - espera = 1; - cont++; - } - } - if(espera == 1) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(45); - previoMillisTermo = millis(); - espera = 0; - cont++; - } - } - } while (cont < 4); - estado_termo = 0; + myservo_X.write(45); + espera=0; + cont=0; + previoMillisTermo=millis(); + do{ + actualMillis=millis(); + if(espera==0) { + if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(62); + previoMillisTermo=millis(); + espera=1; + cont++; + } + } + if(espera==1) { + if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(45); + previoMillisTermo=millis(); + espera=0; + cont++; + } + } + } while (cont<4); + estado_termo=0; } diff --git a/caldera_rata_2_deb/caldera_rata_2_deb.ino b/caldera_rata_2_deb/caldera_rata_2_deb.ino index eca319d..5b9a11f 100644 --- a/caldera_rata_2_deb/caldera_rata_2_deb.ino +++ b/caldera_rata_2_deb/caldera_rata_2_deb.ino @@ -9,9 +9,9 @@ unsigned long intervalo_loop=5000; unsigned long previoMillisTermo=0; unsigned long previoMillisLoop=0; unsigned long actualMillis; -byte horaON = 5; -byte horaOFF = 7; -byte horaON2=14; +byte horaON=5; +byte horaOFF=7; +byte horaON2=16; byte horaOFF2=18; byte cont=0; bool estado_termo; @@ -19,103 +19,102 @@ bool espera; bool start; void setup() { - myservo_X.attach(9); - Serial.begin(9600); - reloj.begin(); - start=1; - estado_termo = 0; - //reloj.adjust(DateTime(__DATE__, __TIME__)); - //DateTime dt(2021, 7, 5, 17, 32, 0); - //reloj.adjust(dt); + Serial.begin(9600); + myservo_X.attach(9); + reloj.begin(); + start=1; + estado_termo=0; + DateTime dt(2021, 7, 5, 5, 32, 0); + reloj.adjust(dt); } +//reloj.adjust(DateTime(__DATE__, __TIME__)); void loop() { - if(start) { - myservo_X.write(30); - start=0; - fecha = reloj.now(); - printFecha(); - } - actualMillis = millis(); - if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) { - fecha = reloj.now(); - if(((fecha.hour() >= horaON) && (fecha.hour() < horaOFF)) || - ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2)) && - (estado_termo == 0)) { - Serial.print("Cond. ON pre Encendido, estado_termo: "); - Serial.println((String)estado_termo); - termoON(); - Serial.print("Cond. ON post Encendido, estado_termo: "); - Serial.println((String)estado_termo); - } else if(((fecha.hour() < horaON) || (fecha.hour() >= horaOFF)) && - ((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2)) && - (estado_termo == 1)) { - Serial.print("Cond. OFF pre Apagado, estado_termo: "); - Serial.println((String)estado_termo); - termoOFF(); - Serial.print("Cond. OFF post Apagado, estado_termo: "); - Serial.println((String)estado_termo); + if(start) { + Serial.println("Inicio"); + myservo_X.write(30); + start=0; + fecha=reloj.now(); + } + actualMillis = millis(); + if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) { + fecha = reloj.now(); + if((((fecha.hour() >= horaON) && (fecha.hour() < horaOFF)) || + ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) { + Serial.print("pre ON : "); + Serial.println((String)estado_termo); + termoON(); + Serial.print("post ON : "); + Serial.println((String)estado_termo); + } else if((((fecha.hour() < horaON) || (fecha.hour() >= horaOFF)) && + ((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) { + Serial.print("pre OFF : "); + Serial.println((String)estado_termo); + termoOFF(); + Serial.print("post OFF : "); + Serial.println((String)estado_termo); + } + previoMillisLoop = millis(); } - previoMillisLoop = millis(); - } } - + // Secuencias de encendido y apagado de Caldera void termoON() { - myservo_X.write(120); - espera = 0; - cont = 0; - previoMillisTermo = millis(); - do{ - actualMillis = millis(); - if(espera == 0) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(110); - previoMillisTermo = millis(); - espera = 1; - cont++; - } - } - if(espera == 1) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(120); - previoMillisTermo = millis(); - espera = 0; - cont++; - } - } - } while (cont < 4); - estado_termo = 1; + myservo_X.write(120); + espera=0; + cont=0; + previoMillisTermo=millis(); + do{ + actualMillis=millis(); + if(espera==0) { + if((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(110); + previoMillisTermo=millis(); + espera=1; + cont++; + } + } + if(espera==1) { + if((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(120); + previoMillisTermo=millis(); + espera=0; + cont++; + } + } + } while(cont<4); + estado_termo=1; } void termoOFF() { - myservo_X.write(45); - espera = 0; - cont = 0; - previoMillisTermo = millis(); - do{ - actualMillis = millis(); - if(espera == 0) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(62); - previoMillisTermo = millis(); - espera = 1; - cont++; - } - } - if(espera == 1) { - if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { - myservo_X.write(45); - previoMillisTermo = millis(); - espera = 0; - cont++; - } - } - } while (cont < 4); - estado_termo = 0; + myservo_X.write(45); + espera=0; + cont=0; + previoMillisTermo=millis(); + do{ + actualMillis=millis(); + if(espera==0) { + if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(62); + previoMillisTermo=millis(); + espera=1; + cont++; + } + } + if(espera==1) { + if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { + myservo_X.write(45); + previoMillisTermo=millis(); + espera=0; + cont++; + } + } + } while (cont<4); + estado_termo=0; } + //En caso de ser necesario mostrar hora, este codigo aƱade un 0 a los valores menores a 10 String getHora(char var) { switch (var) {