validaciones OK
This commit is contained in:
parent
764ea6a6f2
commit
d1bfc4b934
@ -15,7 +15,7 @@ Servo myservo_X;
|
|||||||
RTC_DS3231 reloj;
|
RTC_DS3231 reloj;
|
||||||
|
|
||||||
volatile DateTime fecha;
|
volatile DateTime fecha;
|
||||||
unsigned long intervalo_loop=5000;
|
unsigned long intervalo_loop=2500;
|
||||||
unsigned long previoMillisTermo=0;
|
unsigned long previoMillisTermo=0;
|
||||||
unsigned long previoMillisLoop=0;
|
unsigned long previoMillisLoop=0;
|
||||||
unsigned long actualMillis;
|
unsigned long actualMillis;
|
||||||
@ -27,47 +27,170 @@ byte posON1;
|
|||||||
byte posON2;
|
byte posON2;
|
||||||
byte posOFF1;
|
byte posOFF1;
|
||||||
byte posOFF2;
|
byte posOFF2;
|
||||||
|
byte posTEMP;
|
||||||
byte cont;
|
byte cont;
|
||||||
bool estado_termo;
|
bool estado_termo;
|
||||||
bool espera;
|
bool espera;
|
||||||
|
bool espera_man;
|
||||||
bool start;
|
bool start;
|
||||||
|
byte manual;
|
||||||
|
byte estado;
|
||||||
|
byte hr, mn, sg, di, me;
|
||||||
|
int an;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
myservo_X.attach(9);
|
myservo_X.attach(9);
|
||||||
reloj.begin();
|
reloj.begin();
|
||||||
//setVarControl(); // Provisorio, a dividir segun control horario, posiciones. futuras vars
|
estado=1;
|
||||||
estado_termo=0;
|
estado_termo=0;
|
||||||
variablesControl();
|
|
||||||
start=1;
|
start=1;
|
||||||
ajustaReloj(2021, 7, 8, 4, 59, 50);
|
//ajustaReloj(2021, 7, 8, 4, 59, 50);
|
||||||
//reloj.adjust(DateTime(__DATE__, __TIME__));
|
//reloj.adjust(DateTime(__DATE__, __TIME__));
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
if(start) {
|
if(start) {
|
||||||
myservo_X.write(30);
|
myservo_X.write(30);
|
||||||
start=0;
|
|
||||||
fecha=reloj.now();
|
fecha=reloj.now();
|
||||||
|
cargarVarsControl();
|
||||||
|
start=0;
|
||||||
}
|
}
|
||||||
actualMillis = millis();
|
actualMillis = millis();
|
||||||
if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) {
|
if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo_loop) {
|
||||||
printFecha();
|
printFecha();
|
||||||
printVars();
|
printVars();
|
||||||
fecha = reloj.now();
|
fecha = reloj.now();
|
||||||
if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) ||
|
switch(estado) {
|
||||||
((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) {
|
case 1:
|
||||||
termoACC(posON1, posON2);
|
Serial.println(estado);
|
||||||
Serial.println("TERMO ON");
|
if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) ||
|
||||||
} else if((((fecha.hour() < horaON1) || (fecha.hour() >= horaOFF1)) &&
|
((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) {
|
||||||
((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) {
|
termoACC(posON1, posON2);
|
||||||
termoACC(posOFF1, posOFF2);
|
Serial.println("TERMO ON");
|
||||||
Serial.println("TERMO OFF");
|
} else if((((fecha.hour() < horaON1) || (fecha.hour() >= horaOFF1)) &&
|
||||||
|
((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) {
|
||||||
|
termoACC(posOFF1, posOFF2);
|
||||||
|
Serial.println("TERMO OFF");
|
||||||
|
}
|
||||||
|
//previoMillisLoop = millis();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
// ajustaReloj
|
||||||
|
setVarsEP();
|
||||||
|
estado = 1;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
// ajuste horas de funcionamiento
|
||||||
|
setVarsEP();
|
||||||
|
cargarVarsControl();
|
||||||
|
estado = 1;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
// ajustaPosServo
|
||||||
|
setVarsEP();
|
||||||
|
cargarVarsControl();
|
||||||
|
estado = 1;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if(espera_man) {
|
||||||
|
if(manual == 1) {
|
||||||
|
termoACC(posON1, posON2);
|
||||||
|
} else if (manual == 0){
|
||||||
|
termoACC(posOFF1, posOFF2);
|
||||||
|
}
|
||||||
|
espera_man=0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if(validaPOS(posTEMP)) {
|
||||||
|
myservo_X.write(posTEMP);
|
||||||
|
estado_termo=0;
|
||||||
|
}
|
||||||
|
// debe reaccionar a los parametros enviados por Serial
|
||||||
|
// movimiento libre, termoACC, ajustaReloj, configs, etc.
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
estado=1;
|
||||||
}
|
}
|
||||||
|
leerDatos();
|
||||||
previoMillisLoop = millis();
|
previoMillisLoop = millis();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void leerDatos() {
|
||||||
|
if (Serial.available() > 0) {
|
||||||
|
byte temp_var=0;
|
||||||
|
temp_var = Serial.readStringUntil(',').toInt();
|
||||||
|
if(temp_var < 7 && temp_var > 0){
|
||||||
|
estado = temp_var;
|
||||||
|
} else {
|
||||||
|
estado = 1;
|
||||||
|
}
|
||||||
|
switch (estado) {
|
||||||
|
case 1:
|
||||||
|
limpiaSerial();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
di = Serial.readStringUntil(',').toInt();
|
||||||
|
me = Serial.readStringUntil(',').toInt();
|
||||||
|
an = Serial.readStringUntil(',').toInt();
|
||||||
|
hr = Serial.readStringUntil(',').toInt();
|
||||||
|
mn = Serial.readStringUntil(',').toInt();
|
||||||
|
sg = Serial.readStringUntil(',').toInt();
|
||||||
|
Serial.print("Datos leidos :"+(String)di+"/"+(String)me+"/"+(String)an+" "+(String)hr+":"+(String)mn+":"+(String)sg);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
horaON1 = Serial.readStringUntil(',').toInt();
|
||||||
|
horaOFF1 = Serial.readStringUntil(',').toInt();
|
||||||
|
horaON2 = Serial.readStringUntil(',').toInt();
|
||||||
|
horaOFF2 = Serial.readStringUntil(',').toInt();
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
posON1 = Serial.readStringUntil(',').toInt();
|
||||||
|
posON2 = Serial.readStringUntil(',').toInt();
|
||||||
|
posOFF1 = Serial.readStringUntil(',').toInt();
|
||||||
|
posOFF2 = Serial.readStringUntil(',').toInt();
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
manual = Serial.readStringUntil(',').toInt();
|
||||||
|
espera_man = 1;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
posTEMP = Serial.readStringUntil(',').toInt();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
limpiaSerial();
|
||||||
|
}
|
||||||
|
limpiaSerial();
|
||||||
|
} else {
|
||||||
|
Serial.println("Nada q hacer");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void limpiaSerial() {
|
||||||
|
while(Serial.available() > 0) {
|
||||||
|
char temp = Serial.read();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//como bash: cut -d
|
||||||
|
//String getValue(String data, char separator, int index){
|
||||||
|
// int found = 0;
|
||||||
|
// int strIndex[] = { 0, -1 };
|
||||||
|
// int maxIndex = data.length() - 1;
|
||||||
|
// for (int i = 0; i <= maxIndex && found <= index; i++) {
|
||||||
|
// if (data.charAt(i) == separator || i == maxIndex) {
|
||||||
|
// found++;
|
||||||
|
// strIndex[0] = strIndex[1] + 1;
|
||||||
|
// strIndex[1] = (i == maxIndex) ? i+1 : i;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
|
||||||
|
//}
|
||||||
|
|
||||||
void termoACC(byte pos1, byte pos2) {
|
void termoACC(byte pos1, byte pos2) {
|
||||||
myservo_X.write(pos1);
|
myservo_X.write(pos1);
|
||||||
espera=0;
|
espera=0;
|
||||||
@ -95,27 +218,57 @@ void termoACC(byte pos1, byte pos2) {
|
|||||||
estado_termo=!estado_termo;
|
estado_termo=!estado_termo;
|
||||||
}
|
}
|
||||||
|
|
||||||
// provisorio, case config para hora, horas o dias, posiciones, etc.
|
void setVarsEP(){
|
||||||
void setVarControl() {
|
switch (estado) {
|
||||||
//horaON1 = 5;
|
case 2:
|
||||||
//horaOFF1 = 7;
|
ajustaReloj(an, me, di, hr, mn, sg);
|
||||||
//horaON2 = 16;
|
break;
|
||||||
//horaOFF2 = 18;
|
case 3:
|
||||||
//posON1 = 120;
|
if(validaHR(horaON1)) {
|
||||||
//posON2 = 110;
|
EEPROM.put(dirHoraON1, horaON1);
|
||||||
//posOFF1 = 45;
|
}
|
||||||
//posOFF2 = 62;
|
if(validaHR(horaOFF1)) {
|
||||||
//EEPROM.put(dirHoraON1, horaON1);
|
EEPROM.put(dirHoraOFF1, horaOFF1);
|
||||||
//EEPROM.put(dirHoraOFF1, horaOFF1);
|
}
|
||||||
//EEPROM.put(dirHoraON2, horaON2);
|
if(validaHR(horaON2) && horaON2 > horaOFF1) {
|
||||||
//EEPROM.put(dirHoraOFF2, horaOFF2);
|
EEPROM.put(dirHoraON2, horaON2);
|
||||||
//EEPROM.put(dirPosON1,posON1);
|
} else if(validaHR(horaON1)) {
|
||||||
//EEPROM.put(dirPosON2, posON2);
|
EEPROM.put(dirHoraON2, horaON1);
|
||||||
//EEPROM.put(dirPosOFF1, posOFF1);
|
} // validacion incompleta
|
||||||
//EEPROM.put(dirPosOFF2, posOFF2);
|
if(validaHR(horaOFF2) && horaOFF2 > horaON2 && horaOFF2 > horaOFF1) {
|
||||||
|
EEPROM.put(dirHoraOFF2, horaOFF2);
|
||||||
|
} else if(validaHR(horaOFF1)) {
|
||||||
|
EEPROM.put(dirHoraOFF2, horaOFF1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if(validaPOS(posON1)) {
|
||||||
|
EEPROM.put(dirPosON1, posON1);
|
||||||
|
}
|
||||||
|
if(validaPOS(posON2)) {
|
||||||
|
EEPROM.put(dirPosON2, posON2);
|
||||||
|
}
|
||||||
|
if(validaPOS(posOFF1)) {
|
||||||
|
EEPROM.put(dirPosOFF1, posOFF1);
|
||||||
|
}
|
||||||
|
if(validaPOS(posOFF2)) {
|
||||||
|
EEPROM.put(dirPosOFF2, posOFF2);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Serial.print("default setVarsEP");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void variablesControl() {
|
bool validaHR(byte hr) {
|
||||||
|
return (hr < 24 && hr >= 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool validaPOS(byte pos) {
|
||||||
|
return (pos < 165) && (pos >15);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cargarVarsControl() {
|
||||||
horaON1 = EEPROM.read(dirHoraON1);
|
horaON1 = EEPROM.read(dirHoraON1);
|
||||||
horaOFF1 = EEPROM.read(dirHoraOFF1);
|
horaOFF1 = EEPROM.read(dirHoraOFF1);
|
||||||
horaON2 = EEPROM.read(dirHoraON2);
|
horaON2 = EEPROM.read(dirHoraON2);
|
||||||
@ -124,13 +277,21 @@ void variablesControl() {
|
|||||||
posON2 = EEPROM.read(dirPosON2);
|
posON2 = EEPROM.read(dirPosON2);
|
||||||
posOFF1 = EEPROM.read(dirPosOFF1);
|
posOFF1 = EEPROM.read(dirPosOFF1);
|
||||||
posOFF2 = EEPROM.read(dirPosOFF2);
|
posOFF2 = EEPROM.read(dirPosOFF2);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ajustaReloj(int ano, byte mes, byte dia, byte hra, byte mins, byte segs ) {
|
void ajustaReloj(int ano, byte mes, byte dia, byte hra, byte mins, byte segs ) {
|
||||||
DateTime dt(ano, mes, dia, hra, mins, segs);
|
if((ano > 2000) &&
|
||||||
reloj.adjust(dt);
|
(mes > 0 && mes < 13) &&
|
||||||
|
(dia > 0 && dia < 32) &&
|
||||||
|
(hra >= 0 && hra < 24) &&
|
||||||
|
(mins >= 0 && mins < 60) &&
|
||||||
|
(segs >= 0 && segs < 60)) {
|
||||||
|
DateTime dt(ano, mes, dia, hra, mins, segs);
|
||||||
|
reloj.adjust(dt);
|
||||||
|
Serial.println("Set RTC: valido");
|
||||||
|
} else {
|
||||||
|
Serial.println("Set RTC: invalido");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//En caso de ser necesario mostrar hora, este codigo añade un 0 a los valores menores a 10
|
//En caso de ser necesario mostrar hora, este codigo añade un 0 a los valores menores a 10
|
||||||
|
@ -45,7 +45,7 @@ void setup() {
|
|||||||
estado=1;
|
estado=1;
|
||||||
estado_termo=0;
|
estado_termo=0;
|
||||||
start=1;
|
start=1;
|
||||||
ajustaReloj(2021, 7, 8, 4, 59, 50);
|
//ajustaReloj(2021, 7, 8, 4, 59, 50);
|
||||||
//reloj.adjust(DateTime(__DATE__, __TIME__));
|
//reloj.adjust(DateTime(__DATE__, __TIME__));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,27 +77,18 @@ void loop() {
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// ajustaReloj
|
// ajustaReloj
|
||||||
//validar
|
setVarsEP();
|
||||||
ajustaReloj(an, me, di, hr, mn, sg);
|
|
||||||
estado = 1;
|
estado = 1;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
// ajuste horas de funcionamiento
|
// ajuste horas de funcionamiento
|
||||||
// validar
|
setVarsEP();
|
||||||
EEPROM.put(dirHoraON1, horaON1);
|
|
||||||
EEPROM.put(dirHoraOFF1, horaOFF1);
|
|
||||||
EEPROM.put(dirHoraON2, horaON2);
|
|
||||||
EEPROM.put(dirHoraOFF2, horaOFF2);
|
|
||||||
cargarVarsControl();
|
cargarVarsControl();
|
||||||
estado = 1;
|
estado = 1;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
// ajustaPosServo
|
// ajustaPosServo
|
||||||
// validar
|
setVarsEP();
|
||||||
EEPROM.put(dirPosON1, posON1);
|
|
||||||
EEPROM.put(dirPosON2, posON2);
|
|
||||||
EEPROM.put(dirPosOFF1, posOFF1);
|
|
||||||
EEPROM.put(dirPosOFF2, posOFF2);
|
|
||||||
cargarVarsControl();
|
cargarVarsControl();
|
||||||
estado = 1;
|
estado = 1;
|
||||||
break;
|
break;
|
||||||
@ -112,12 +103,12 @@ void loop() {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
myservo_X.write(posTEMP);
|
if(validaPOS(posTEMP)) {
|
||||||
// funcionamiento 'externo'
|
myservo_X.write(posTEMP);
|
||||||
|
estado_termo=0;
|
||||||
|
}
|
||||||
// debe reaccionar a los parametros enviados por Serial
|
// debe reaccionar a los parametros enviados por Serial
|
||||||
// movimiento libre, termoACC, ajustaReloj, configs, etc.
|
// movimiento libre, termoACC, ajustaReloj, configs, etc.
|
||||||
//previoMillisLoop = millis();
|
|
||||||
estado_termo=0;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
estado=1;
|
estado=1;
|
||||||
@ -147,6 +138,7 @@ void leerDatos() {
|
|||||||
hr = Serial.readStringUntil(',').toInt();
|
hr = Serial.readStringUntil(',').toInt();
|
||||||
mn = Serial.readStringUntil(',').toInt();
|
mn = Serial.readStringUntil(',').toInt();
|
||||||
sg = Serial.readStringUntil(',').toInt();
|
sg = Serial.readStringUntil(',').toInt();
|
||||||
|
Serial.print("Datos leidos :"+(String)di+"/"+(String)me+"/"+(String)an+" "+(String)hr+":"+(String)mn+":"+(String)sg);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
horaON1 = Serial.readStringUntil(',').toInt();
|
horaON1 = Serial.readStringUntil(',').toInt();
|
||||||
@ -184,20 +176,20 @@ void limpiaSerial() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//como bash: cut d',' -f 0,1,.. file
|
//como bash: cut -d
|
||||||
String getValue(String data, char separator, int index){
|
//String getValue(String data, char separator, int index){
|
||||||
int found = 0;
|
// int found = 0;
|
||||||
int strIndex[] = { 0, -1 };
|
// int strIndex[] = { 0, -1 };
|
||||||
int maxIndex = data.length() - 1;
|
// int maxIndex = data.length() - 1;
|
||||||
for (int i = 0; i <= maxIndex && found <= index; i++) {
|
// for (int i = 0; i <= maxIndex && found <= index; i++) {
|
||||||
if (data.charAt(i) == separator || i == maxIndex) {
|
// if (data.charAt(i) == separator || i == maxIndex) {
|
||||||
found++;
|
// found++;
|
||||||
strIndex[0] = strIndex[1] + 1;
|
// strIndex[0] = strIndex[1] + 1;
|
||||||
strIndex[1] = (i == maxIndex) ? i+1 : i;
|
// strIndex[1] = (i == maxIndex) ? i+1 : i;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
|
// return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
|
||||||
}
|
//}
|
||||||
|
|
||||||
void termoACC(byte pos1, byte pos2) {
|
void termoACC(byte pos1, byte pos2) {
|
||||||
myservo_X.write(pos1);
|
myservo_X.write(pos1);
|
||||||
@ -226,6 +218,55 @@ void termoACC(byte pos1, byte pos2) {
|
|||||||
estado_termo=!estado_termo;
|
estado_termo=!estado_termo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setVarsEP(){
|
||||||
|
switch (estado) {
|
||||||
|
case 2:
|
||||||
|
ajustaReloj(an, me, di, hr, mn, sg);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if(validaHR(horaON1)) {
|
||||||
|
EEPROM.put(dirHoraON1, horaON1);
|
||||||
|
}
|
||||||
|
if(validaHR(horaOFF1)) {
|
||||||
|
EEPROM.put(dirHoraOFF1, horaOFF1);
|
||||||
|
}
|
||||||
|
if(validaHR(horaON2) && horaON2 > horaOFF1) {
|
||||||
|
EEPROM.put(dirHoraON2, horaON2);
|
||||||
|
} else if(validaHR(horaON1)) {
|
||||||
|
EEPROM.put(dirHoraON2, horaON1);
|
||||||
|
} // validacion incompleta
|
||||||
|
if(validaHR(horaOFF2) && horaOFF2 > horaON2 && horaOFF2 > horaOFF1) {
|
||||||
|
EEPROM.put(dirHoraOFF2, horaOFF2);
|
||||||
|
} else if(validaHR(horaOFF1)) {
|
||||||
|
EEPROM.put(dirHoraOFF2, horaOFF1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if(validaPOS(posON1)) {
|
||||||
|
EEPROM.put(dirPosON1, posON1);
|
||||||
|
}
|
||||||
|
if(validaPOS(posON2)) {
|
||||||
|
EEPROM.put(dirPosON2, posON2);
|
||||||
|
}
|
||||||
|
if(validaPOS(posOFF1)) {
|
||||||
|
EEPROM.put(dirPosOFF1, posOFF1);
|
||||||
|
}
|
||||||
|
if(validaPOS(posOFF2)) {
|
||||||
|
EEPROM.put(dirPosOFF2, posOFF2);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Serial.print("default setVarsEP");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool validaHR(byte hr) {
|
||||||
|
return (hr < 24 && hr >= 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool validaPOS(byte pos) {
|
||||||
|
return (pos < 165) && (pos >15);
|
||||||
|
}
|
||||||
|
|
||||||
void cargarVarsControl() {
|
void cargarVarsControl() {
|
||||||
horaON1 = EEPROM.read(dirHoraON1);
|
horaON1 = EEPROM.read(dirHoraON1);
|
||||||
@ -239,8 +280,18 @@ void cargarVarsControl() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ajustaReloj(int ano, byte mes, byte dia, byte hra, byte mins, byte segs ) {
|
void ajustaReloj(int ano, byte mes, byte dia, byte hra, byte mins, byte segs ) {
|
||||||
DateTime dt(ano, mes, dia, hra, mins, segs);
|
if((ano > 2000) &&
|
||||||
reloj.adjust(dt);
|
(mes > 0 && mes < 13) &&
|
||||||
|
(dia > 0 && dia < 32) &&
|
||||||
|
(hra >= 0 && hra < 24) &&
|
||||||
|
(mins >= 0 && mins < 60) &&
|
||||||
|
(segs >= 0 && segs < 60)) {
|
||||||
|
DateTime dt(ano, mes, dia, hra, mins, segs);
|
||||||
|
reloj.adjust(dt);
|
||||||
|
Serial.println("Set RTC: valido");
|
||||||
|
} else {
|
||||||
|
Serial.println("Set RTC: invalido");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//En caso de ser necesario mostrar hora, este codigo añade un 0 a los valores menores a 10
|
//En caso de ser necesario mostrar hora, este codigo añade un 0 a los valores menores a 10
|
||||||
|
Loading…
Reference in New Issue
Block a user