Timbre Automático Liceo Salinas Numero 2 año 2020

#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) como Salida.

  
  pinMode(13, OUTPUT);
  pinMode(2, OUTPUT); //aca va enchufado el rele
  pinMode(7, OUTPUT); //zumbador
  //Se establece el modo horario en 12 horas (false = 24h)
  //Clock.setClockMode(false); 
  //Se establece el año
  //Clock.setYear((byte)(19));
  //Mes
  //Clock.setMonth((byte)12);
  //Dia de la semana (el día de la semana 1 corresponde al lunes, 2 martes 3 miercoles 4 jueves 5 viernes 6 sabado 7 domingo)
  //Clock.setDoW((byte)2); 
  //Día
  //Clock.setDate((byte)17);
  //Hora
  //Clock.setHour((byte)10);
  //Minutos
  //Clock.setMinute((byte)58);
  //Segundos
  //Clock.setSecond((byte)0);
}
 
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);
  Serial.print("--");
  Serial.println(DoW, DEC);
  
  digitalWrite(2, HIGH);  // apagar rele
 //configuracion de timbres horario turnos matutinos y vespertinos
 if (DoW!=6 || DoW!=7){ //comprobamos si el dia de la semana es diferente a sabado o domingo
  if (hour==7 && minute==30 && second==0 || hour==8 && minute==50 && second==0 || hour==8 && minute==55 && second==0 || hour==9 && minute==40 && second==0 
  || hour==9 && minute==45 && second==0  || hour==10 && minute==30 && second==0 || hour==10 && minute==35 && second==0 || hour==11 && minute==20 && second==0
  || hour==11 && minute==25 && second==0 || hour==12 && minute==10 && second==0 || hour==12 && minute==50 && second==0 || hour==13 && minute==30 && 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)
    {
    digitalWrite(7, 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)
    digitalWrite(2, LOW);  // Encender el rele
    Serial.println("TIMBRE SONANDO");
    delay(6000); // esperar 6 segundos
  
    digitalWrite(13, LOW);  // Apagar el LED haciendo que el voltaje sea BAJO
    digitalWrite(7, LOW);   // Apagar el Buzzer(zumbador) haciendo que el voltaje sea BAJO
    digitalWrite(2, HIGH);    // apagar el rele
    delay(500);               // esperar medio segundo
    }

    //horarios modulos

    if (hour==8 && minute==10 && second==0 || hour==14 && minute==10 && second==0)
    {
    digitalWrite(7, 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)
    digitalWrite(2, LOW);  // Encender el rele
    Serial.println("TIMBRE SONANDO");
    delay(2000); // esperar 2 segundos
  
    digitalWrite(13, LOW);  // Apagar el LED haciendo que el voltaje sea BAJO
    digitalWrite(7, LOW);   // Apagar el Buzzer(zumbador) haciendo que el voltaje sea BAJO
    digitalWrite(2, HIGH);    // apagar el rele
    delay(500);               // esperar medio segundo
    }
 }
}

ċ
Andrés Franchi,
28 feb. 2020 6:25
ċ
Timbre_Salinas_2_v0.1.ino
(4k)
Andrés Franchi,
28 feb. 2020 6:28
Comments