Tengo un code no soy muy bueno soy principiante estoy tratando de hacer que se accione el timbre el los horarios establecidos, lo he estado modificando pero aun no lo consigo modificar.
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC; // inicializa el modulo RTC
const int timbre = 7; // Pin 7 encargado de activar el timbre, se conecta al Rele
int segundo;
int minuto;
int hora;
int tiempo_timbre=10000; // Tiempo continuo que dura el timbre sonando, en milisegundos 5000 = 5 segundos
//////////////////////////////// Horario 1 /////////////////////////
// Hora en la que suena el timbre escrito h1=Hora, m1=Minutos, s1=Segundos
// Cuando no se programa ninguna hora se debe dejar escrito el numero 99
// se pueden programar 16 timbres por cada horario, _c1 indica que es el horario 1
int h1_c1=16; int m1_c1=12; int s1_c1=0;
int h2_c1=7; int m2_c1=45; int s2_c1=0;
int h3_c1=8; int m3_c1=30; int s3_c1=0;
////////////////////////////////// Void Setup() ///////////
void setup () {
pinMode(timbre, OUTPUT); // Configura como salida el pin 7
Wire.begin();
RTC.begin(); // Inicia la comunicaci¢n con el RTC
// RTC.adjust(DateTime(__DATE__, __TIME__)); // Lee la fecha y hora del PC (Solo en la primera carga)
// el anterior se usa solo en la configuracion inicial luego se pone como comentario
// y se vuelve a cargar el programa sin esa linea.
Serial.begin(9600); // Establece la velocidad de datos del puerto serie a 9600 // Borra el LCD
}
////////////////////////////////// Void loop() ///////////
void loop(){
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
Serial.print(now.hour(), DEC); // Horas
Serial.print(':');
Serial.print(now.minute(), DEC); // Minutos
Serial.print(':');
Serial.print(now.second(), DEC); // Segundos
Serial.println();
segundo=now.second();
minuto=now.minute();
hora=now.hour();
digitalWrite(timbre, LOW); // apaga el timbre
delay(500); // La informaci¢n se actualiza cada 1/2 seg.
} //////////////////////////////// Fin del void loop(), inician las Funciones/////////////////////////
/////////////////////Condicional del Horario 1 //////////////////////////////////
void horario_1(){
Serial.print("Horario_1 ");
if ((hora==h1_c1) && (minuto==m1_c1) && (segundo==s1_c1)) activar_timbre();
if ((hora==h2_c1) && (minuto==m2_c1) && (segundo==s2_c1)) activar_timbre();
if ((hora==h3_c1) && (minuto==m3_c1) && (segundo==s3_c1)) activar_timbre();
}
/////////////////////////////// Funcion que activa el Timbre //////////////////////////////////
void activar_timbre(){
digitalWrite(timbre, HIGH);
Serial.println("Timbre Activo");
delay(tiempo_timbre);
}