HOla a todos.
No sé por qué no se ejecuta el 4 evento. Alguien podría indicarme qué puede estar ocurriendo? Gracias.
NO me refiero, por cierto a que el relé no haga nada, sino a que ni siquiera sale el texto que debería salir con el evento... directamente no lo llama.
SAludos y gracias.
P.d.: por cierto, si pongo el cuarto evento en el primer lugar es ejecutado, como si quizás la libreria no permitiera tener más que 6 eventos alarmRepeat... extraño.
`
#include <Time.h>
#include <TimeAlarms.h>
#include <DS1307RTC.h>
void setup () {
Serial.begin(9600);
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(8, OUTPUT);
digitalWrite(8, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
setSyncProvider(RTC.get);
if (timeStatus() != timeSet)
Serial.println("Fallo de RTC");
else
Serial.println("Sincronizado con RTC");
// Crear las alarmas y configurar las funciones correspondientes a cada una
Alarm.alarmRepeat(22, 52, 0, EventoEnciendeLuz);
Alarm.alarmRepeat(22, 52, 30, EventoApagaLuz);
Alarm.alarmRepeat(22, 53, 0, EventoEnciendeLuz2);
Alarm.alarmRepeat(22, 53, 30, EventoApagaLuz2);
///////////////
Alarm.alarmRepeat(22, 54, 0, EventoEnciendeLuz3);
Alarm.alarmRepeat(22, 54, 30, EventoApagaLuz3);
Alarm.alarmRepeat(22, 55, 0, EventoEnciendeLuz4);
Alarm.alarmRepeat(22, 55, 30, EventoApagaLuz4);
}
void loop() {
digitalClockDisplay();
Alarm.delay(1000);
}
void EventoEnciendeLuz()
{
Serial.println("Encendiendo Luz!!!");
digitalWrite(2, LOW);
}
void EventoApagaLuz()
{
Serial.println("Apagando Luz!!!");
digitalWrite(2, HIGH);
}
void EventoEnciendeLuz2()
{
Serial.println("Encendiendo Luz!!!");
digitalWrite(6, LOW);
}
void EventoApagaLuz2()
{
Serial.println("Apagando Luz!!!");
digitalWrite(6, HIGH);
}
void EventoEnciendeLuz3()
{
Serial.println("Encendiendo Luz!!!");
digitalWrite(8, LOW);
}
void EventoApagaLuz3()
{
Serial.println("Apagando Luz!!!");
digitalWrite(8, HIGH);
}
void EventoEnciendeLuz4()
{
Serial.println("Encendiendo Luz!!!");
digitalWrite(4, LOW);
}
void EventoApagaLuz4()
{
Serial.println("Apagando Luz!!!");
digitalWrite(4, HIGH);
}
void digitalClockDisplay() {
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
void printDigits(int digits) {
Serial.print(":");
if (digits < 10)
Serial.print('0');
Serial.print(digits);
}
`