#include <RTClib.h> //Incluimos la librería del RTC
int Led = 13; //Establecemos el pin 13 al Led
int Buzzer = 12; //Establecemos el pin 12 al Buzzer
int Contador = 0; //Creamos una variable de un contador
RTC_DS1307 rtc; //Creamos una variable de RTC
void setup()
{
pinMode(Led, OUTPUT); //Establecemos el Led como output
pinMode(Buzzer, OUTPUT); //Establecemos el Buzzer como output
Serial.begin(9600); //Conexión serie con la terminal
rtc.begin(); //Encendemos el RTC
}
void loop()
{
DateTime now = rtc.now(); //Verificamos la fecha y hora actual
//Si la fecha y hora es correcta, aviso de operativo durante 10 segundos
if (now.year() == 2024 && now.month() == 2 && now.day() == 29 && now.hour() == 19 && now.minute() == 31)
{
digitalWrite(Led, HIGH); //Led encendido
if (Contador <= 10) //Si el contador es menor o igual a 10, mensajes de sistema activado
{
Serial.println("Sistema activat i operatiu ✅"); //Mensaje por consola
delay(1000); //1 segundo de espera
}
Contador++; //Aumentamos el contador en 1
}
if (Contador == 11) //Si el contador llega a 11, activamos subsistemas
{
//Apagamos el led y activamos todos los subsistemas
digitalWrite(Led, LOW);
Serial.println("Subsistema 1: Activat! ✅");
delay(500);
Serial.println("Subsistema 2: Activat! ✅");
delay(500);
Serial.println("Subsistema 3: Activat! ✅");
delay(500);
Serial.println("Subsistema 4: Activat! ✅");
delay(500);
Serial.println("Subsistema 5: Activat! ✅");
delay(500);
Serial.println("Subsistema 6: Activat! ✅");
delay(500);
Serial.println("Subsistema 7: Activat! ✅");
delay(500);
Serial.println("Subsistema 8: Activat! ✅");
delay(500);
Serial.println("Subsistema 9: Activat! ✅");
delay(500);
Serial.println("Subsistema 10: Activat! ✅");
delay(500);
Serial.println("Subsistema 11: Activat! ✅");
delay(500);
Serial.println("Subsistema 12: Activat! ✅");
delay(500);
Serial.println("Subsistema 13: Activat! ✅");
delay(500);
Serial.println("Subsistema 14: Activat! ✅");
delay(500);
Serial.println("Subsistema 15: Activat! ✅");
delay(500);
Serial.println("Subsistema 16: Activat! ✅");
delay(500);
Serial.println("Subsistema 17: Activat! ✅");
delay(500);
Serial.println("Subsistema 18: Activat! ✅");
delay(500);
Serial.println("Subsistema 19: Activat! ✅");
delay(500);
Serial.println("Subsistema 20: Activat! ✅");
//Mensaje y melodía de la correcta activación del sistema
Serial.println("🎉🎊 Tots els subsistemes activats!!! 🎉🎊");
tone(Buzzer, 1000); //Emite un tono de 1000 Hz en el buzzer
delay(200); //Espera 200 milisegundos
noTone(Buzzer); //Detiene el tono
delay(100); //Espera 100 milisegundos
tone(Buzzer, 1200); //Emite un tono de 1200 Hz en el buzzer
delay(200); //Espera 200 milisegundos
noTone(Buzzer); //Detiene el tono
delay(100); //Espera 100 milisegundos
tone(Buzzer, 1400); //Emite un tono de 1400 Hz en el buzzer
delay(200); //Espera 200 milisegundos
noTone(Buzzer); //Detiene el tono
delay(100); //Espera 100 milisegundos
tone(Buzzer, 1600); //Emite un tono de 1600 Hz en el buzzer
delay(200); //Espera 200 milisegundos
noTone(Buzzer); //Detiene el tono
delay(1000); //Espera 1 segundo antes de repetir la secuencia
}
}