Timbre escolar

Hola a todos. Quiero iniciar un proyecto sobre un timbre escolar. Trataré de detallar el proyecto

El horario escolar es de 7:00 am a 2:30 pm 7:00 am- 7:50 am 8:00 am- 8:50 am 9:00 am- 10:00 am 10:00 am - 10:30 am receso 10:30 am -11:20 am 11:30 am -12:20 am 12:30 am - 13:20 pm 13:20 pm - 14:20 pm

En este caso quiero que suene el timbre automáticamente cada que termine una clase

Me gustaría que me dieran ideas de por donde empezar, que trabajar, para poder realizar este proyecto. Subiré los avances poco a poco.

Espero de su ayuda Comunidad Arduino

bueno, obviamente requieres un RTC Reloj de tiempo real (Real time clock) pero todo el mundo usa el DS1307 y ya se ha establecido que es un mal reloj, sirve para cosas no precisas. El que te recomiendo se llama DS3231 que es un RTC también pero que tiene un cristal compensado en temperatura y por lo tanto, mas estable.

Entonces lo unico que requieres es un Arduino, el RTC DS3231, y tal vez un RELE para activar el timbre. Como las cosas cambian, puedes arrancar con esta idea y luego ir sofisticándola.

Arduino UNO, define luego si quieres hacer algo mas como agregarle un LCD para poder cambiar las horas de clase por alguna razón. RTC DS3231 RELE para accionar el timbre escolar.

Para programar vas a necesitar la librería que se comunica con el DS3231 y otra librería que sirve para funciones de alarma.

Libreria TimeAlarm

RTC Library para DS1307 DS3231 DS3234

hay ejemplos en ambas librerías.

Hay ejemplos en ambas librerías.
Verás que son muy fáciles de entender y modificar a tus propósitos.

Sigue con el proyecto informando paso a paso.

la solución correcta usar Alarm.alarmRepeat(dayofweek, hours, minutes, seconds, function); 5 veces, cambiando el dayofweek

pero como ya tienes unas cuantas alarmas cada dia, no se cual es el tope de alarmas que puedes usar

yo lo dejaría todo tal cual y usaría

RTC.read(tm)

para saber que dia es

void encender_timbre(){
tmElements_t tm;
  
RTC.read(tm)

if (tm.Wday!=6&& tm.Wday!=0) //Sábado y domingo respectivamente
{
  digitalWrite(13,HIGH); //encender led
  delay(5000); //durante 5 segundos
  digitalWrite(13,LOW);// apagar led
  contador++; // aunmenta un contador
  Serial.println(contador); //muestra el contador por serial
}
}

Saludos GO_zalo. Yo intente usar el Alarm.alarmRepeat como la planteas pero no me funciono bien, creo que la libreria no me acepto las 10 alarmas que le configure.

El mensaje con el enlace al video que no se podía acceder te lo edité yo! La próxima vez que lo hagas hazlo como instruye en las normas del foro, por favor.

Es una pena que el video esté en 480 porque no se aprecian los comentarios escritos y el código utilizado.

Saludos!