nuevo intervalo del estado 1(AUTO) > intervalo loop

This commit is contained in:
jp.av.dev 2021-07-11 03:57:01 -04:00
parent 89014ff8d7
commit 2e9735d366

View File

@ -15,9 +15,10 @@ Servo myservo_X;
RTC_DS3231 reloj; RTC_DS3231 reloj;
volatile DateTime fecha; volatile DateTime fecha;
unsigned long intervalo_loop=2500; unsigned long intervalo_loop=100;
unsigned long previoMillisTermo=0;
unsigned long previoMillisLoop=0; unsigned long previoMillisLoop=0;
unsigned long previoMillisTermo=0;
unsigned long previoMillisAUTO=0;
unsigned long actualMillis; unsigned long actualMillis;
byte horaON1; byte horaON1;
byte horaOFF1; byte horaOFF1;
@ -63,6 +64,7 @@ void loop() {
fecha = reloj.now(); fecha = reloj.now();
switch(estado) { switch(estado) {
case 1: case 1:
if ((unsigned long)(actualMillis - previoMillisAUTO) >= 2000) {
Serial.println(estado); Serial.println(estado);
if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) || if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) ||
((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) { ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) {
@ -73,7 +75,8 @@ void loop() {
termoACC(posOFF1, posOFF2); termoACC(posOFF1, posOFF2);
Serial.println("TERMO OFF"); Serial.println("TERMO OFF");
} }
//previoMillisLoop = millis(); }
previoMillisAUTO = millis();
break; break;
case 2: case 2:
// ajustaReloj // ajustaReloj
@ -201,17 +204,18 @@ void termoACC(byte pos1, byte pos2) {
if(espera==0) { if(espera==0) {
if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) {
myservo_X.write(pos2); myservo_X.write(pos2);
previoMillisTermo=millis();
espera=1; espera=1;
cont++; cont++;
previoMillisTermo=millis();
} }
} }
actualMillis=millis();
if(espera==1) { if(espera==1) {
if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) { if ((unsigned long)(actualMillis - previoMillisTermo) >= 500) {
myservo_X.write(pos1); myservo_X.write(pos1);
previoMillisTermo=millis();
espera=0; espera=0;
cont++; cont++;
previoMillisTermo=millis();
} }
} }
} while (cont<4); } while (cont<4);
@ -243,7 +247,7 @@ void setVarsEP(){
horaON2 = EEPROM.read(dirHoraON2); horaON2 = EEPROM.read(dirHoraON2);
horaOFF2 = EEPROM.read(dirHoraOFF2); horaOFF2 = EEPROM.read(dirHoraOFF2);
} }
if(validaHR(horaOFF2) && horaOFF2 > horaON2) { if(validaHR(horaOFF2) && (horaOFF2 > horaON2) && (horaOFF2 > horaOFF1)) {
EEPROM.put(dirHoraOFF2, horaOFF2); EEPROM.put(dirHoraOFF2, horaOFF2);
} else { } else {
EEPROM.put(dirHoraON2, horaON1); EEPROM.put(dirHoraON2, horaON1);