Timbre Programable Automático - Arduino UNO - DS3231




//v0.3

#include <DS3231.h> // libreria con las funciones del modulo reloj DS3231
#include <Wire.h> // libreria con la funciones del puerto de comunicaciones I2c
 
DS3231 Clock; 
 
byte year, month, date, DoW, hour, minute, second;
 
void setup() {
  // Se inicial la interfaz I2c
  Wire.begin();
  // Se inicia la Comunicación Serial
  Serial.begin(9600);
  // inicializar pin digital 13 (led), y 4(buzzer - en el futuro aca va un rele) como Salida.
  pinMode(13, OUTPUT);
  pinMode(4, OUTPUT);
  
}
 
void loop() {
 
  delay(1000); //esperar 1 segundo
  //Se obtiene la información del reloj
  Clock.getTime(year, month, date, DoW, hour, minute, second);
  //Se imprime en monitor serie
  Serial.print(date, DEC);
  Serial.print("/");
  Serial.print(month, DEC);
  Serial.print("/");
  Serial.print(year, DEC);
  Serial.print("  ");
  Serial.print(hour, DEC);
  Serial.print(":");
  Serial.print(minute, DEC);
  Serial.print(":");
  Serial.println(second, DEC);

 //configuracion de timbres horario turno matutino
 if (hour==7 && minute==45 && second==0 || hour==8 && minute==30 && second==0 || hour==9 && minute==15 && second==0 || hour==9 && minute==20 && second==0
 || hour==10 && minute==05 && second==0 || hour==10 && minute==10 && second==0 || hour==10 && minute==50 && second==0 || hour==10 && minute==55 && second==0 
 || hour==11 && minute==0 && second==0  || hour==11 && minute==45 && second==0 || hour==11 && minute==50 && second==0 || hour==12 && minute==35 && second==0
 || hour==13 && minute==20 && second==0 || hour==13 && minute==25 && second==0 || hour==13 && minute==48 && second==0 )
 {
  digitalWrite(4, HIGH);   // Encender el LED (HIGH (ALTO) es el nivel de voltaje)
  digitalWrite(13, HIGH);  // Encender el Buzzer(zumbador) (HIGH (ALTO) es el nivel de voltaje)
  Serial.println("TIMBRE SONANDO");
  delay(3000); // esperar 3 segundos
    
  digitalWrite(13, LOW);   // Apagar el LED haciendo que el voltaje sea BAJO
  digitalWrite(4, LOW);    // Apagar el Buzzer(zumbador) haciendo que el voltaje sea BAJO
  delay(500);              // esperar medio segundo
 }

//configuracion de timbres horario turno vespertino
if (hour==12 && minute==35 && second==0 || hour==13 && minute==15 && second==0 || hour==13 && minute==20 && second==0 || hour==14 && minute==05 && second==0
 || hour==14 && minute==50 && second==0 || hour==14 && minute==55 && second==0 || hour==15 && minute==40 && second==0 || hour==15 && minute==45 && second==0 
 || hour==16 && minute==30 && second==0  || hour==16 && minute==35 && second==0 || hour==17 && minute==20 && second==0 || hour==17 && minute==25 && second==0
 || hour==18 && minute==10 && second==0 || hour==18 && minute==55 && second==0)
 {
  digitalWrite(4, HIGH);   // Encender el Buzzer(zumbador) (HIGH (ALTO) es el nivel de voltaje)
  digitalWrite(13, HIGH);  // Encender el LED (HIGH (ALTO) es el nivel de voltaje)
  Serial.println("TIMBRE SONANDO"); //imprime en monitor serie
  delay(3000); // esperar 3 segundos
    
  digitalWrite(13, LOW);   // Apagar el LED haciendo que el voltaje sea BAJO
  digitalWrite(4, LOW);    // Apagar el Buzzer(zumbador) haciendo que el voltaje sea BAJO
  delay(500);              // esperar medio segundo
 }
 
}
Comments