Libreria time no funciona

tengo un problema con mi codigo si copilo y cargo solo el minuto funciona bien pero cuando agrego los segundos ya no funciona

#include <TimeLib.h>

void setup () {
Serial.begin(9600);
setTime(20,0,0,19,3,2021);
pinMode(13,OUTPUT);
}

void loop () {
time_t t = now();
if ( minute(t) == 01 && second(t) == 11){
digitalWrite(13,HIGH);
}
else if(minute(t)==02){
digitalWrite(13,LOW);
}
delay(3000);
}

publicación movida en el foro en español
usar inglés al publicar en los foros generales

@colatronik La librería funciona, lo que no funciona es tu código (al menos el ejemplo que has MAL subido).

Por favor edita tu post, selecciona todo el código y pulsa </> en la barra del editor.

Veamos tu código, si pones un delay de 3 segundos (en los que el procesador virtualmente se detiene), vas a poder controlar el tiempo solo cada 3 segundos, a saber: 0; 3; 6; 9; 12; 15... razón por la cual salteas (y no puedes detectar en la comparación) el segundo 11.

Saludos

1 Like

Muchas gracias tomare eso en cuanta entonces que recomendarías??? Soy nuevo y la idea es usar el código para 49 días

Moderador:
Lee las Normas del foro y edita tu código usando etiquetas de código.
Ve a edición, luego selecciona todo el error que has publicado, lo cortas y click en </>


No entiendo como dos personas te hacen observaciones y solo respodes por lo que te interesa.
En el foro, hay normas y primero debes cumpliarlas y luego si hacer tus consultas.
Ahora sin mas demoras por favor edita tu post.

Aprende a usar millis() y no delay como bien te dijo @gatul .
En la sección Documentacion y Tutoriales hay buenos ejemplos de cómo usarlo.

Que hagas el favor de postear de acuerdo a las Normas, entiende que es para tu beneficio.

Respecto a los 49 días, no se que decirte, yo hago programas para que duren 100 años... :crazy_face:

Considerando que sos nuevo y solo para aplicar en este código y ver que se puede hacer funcionar (hasta que aprendas a usar millis()), reduce el delay a 1000 así comparas cada 1 segundo (en lugar de cada 3) y no se te pierde ninguno en medio de la espera.
Pero ojo, ten en cuenta que durante ese segundo no vas a poder hacer otra cosa (como leer un botón) por eso te aclaro que es solo para que veas que este código puede ser funcional con una simple modificación.

Saludos

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.