Materiales
Materiales
Materiales
Arduino Uno
RTC(Módulo de reloj)
Protoboard Pequeña
Cables Macho-macho
Cables MachoHembra
Servomotor
Cable USB-AB
Bisturí
Silicona
Botella Grande
(1) RTC
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
int contacto1 = analogRead(A0); //Lee el valor de los contactos para escoger el horario
int contacto2 = analogRead(A1);
int contacto3 = analogRead(A2);
int contacto4 = analogRead(A3); // contacto que activa o desactiva los fines de semana
if (contacto4 <= 1000){ // si el contacto 4 esta desactivado, despliega -e- entre semana
funciona el timbre
lcd.setCursor(12,0);
lcd.print("e");
Serial.print("-e-");
}
else { // si el contacto 4 esta activado, despliega -F- el Fin de semana
funciona el timbre
lcd.setCursor(12,0);
lcd.print("F");
Serial.print("-F-");
}
n_anno=(now.year()-2000);
d_anno=n_anno/4;
n_dia=now.day();
n_mes=now.month();
switch (n_mes) {
case 1:
t_mes=0;
break;
case 2:
t_mes=3;
break;
case 3:
t_mes=3;
break;
case 4:
t_mes=6;
break;
case 5:
t_mes=1;
break;
case 6:
t_mes=4;
break;
case 7:
t_mes=6;
break;
case 8:
t_mes=2;
break;
case 9:
t_mes=5;
break;
case 10:
t_mes=0;
break;
case 11:
t_mes=3;
break;
case 12:
t_mes=5;
break;
default:
t_mes=t_mes;
break;
}
r_dia=n_dia+t_mes+n_anno+d_anno+t_siglo;
r_dia = r_dia % 7;
switch (r_dia) {
case 1:
lcd.print("Lun");
Serial.print(" Lun ");
break;
case 2:
lcd.print("Mar");
Serial.println(" Mar ");
break;
case 3:
lcd.print("Mie");
Serial.print(" Mie ");
break;
case 4:
lcd.print("Jue");
Serial.print(" Jue ");
break;
case 5:
lcd.print("Vie");
Serial.print(" Vie ");
break;
case 6:
lcd.print("Sab");
Serial.print(" Sab ");
break;
case 0:
lcd.print("Dom");
Serial.print(" Dom ");
break;
default:
lcd.print("---");
Serial.print(" ---");
break;
}
return r_dia;
}
}
//////////////////////Condicional del Horario 3 //////////////////////////////////
void horario_3(){
lcd.setCursor(15,0);
lcd.print("3");
Serial.print("Horario_3 ");
if ((hora==h1_c3) && (minuto==m1_c3) && (segundo==s1_c3)) activar_timbre();
if ((hora==h2_c3) && (minuto==m2_c3) && (segundo==s2_c3)) activar_timbre();
if ((hora==h3_c3) && (minuto==m3_c3) && (segundo==s3_c3)) activar_timbre();
if ((hora==h4_c3) && (minuto==m4_c3) && (segundo==s4_c3)) activar_timbre();
if ((hora==h5_c3) && (minuto==m5_c3) && (segundo==s5_c3)) activar_timbre();
if ((hora==h6_c3) && (minuto==m6_c3) && (segundo==s6_c3)) activar_timbre();
if ((hora==h7_c3) && (minuto==m7_c3) && (segundo==s7_c3)) activar_timbre();
if ((hora==h8_c3) && (minuto==m8_c3) && (segundo==s8_c3)) activar_timbre();
if ((hora==h9_c3) && (minuto==m9_c3) && (segundo==s9_c3)) activar_timbre();
if ((hora==h10_c3) && (minuto==m10_c3) && (segundo==s10_c3)) activar_timbre();
if ((hora==h11_c3) && (minuto==m11_c3) && (segundo==s11_c3)) activar_timbre();
if ((hora==h12_c3) && (minuto==m12_c3) && (segundo==s12_c3)) activar_timbre();
if ((hora==h13_c3) && (minuto==m13_c3) && (segundo==s13_c3)) activar_timbre();
if ((hora==h14_c3) && (minuto==m14_c3) && (segundo==s14_c3)) activar_timbre();
if ((hora==h15_c3) && (minuto==m15_c3) && (segundo==s15_c3)) activar_timbre();
if ((hora==h16_c3) && (minuto==m16_c3) && (segundo==s16_c3)) activar_timbre();
}#include <LiquidCrystal_I2C.h>
motor
1 /*
3 https://programarfacil.com
4 */
5
7 #include <Servo.h>
10 Servo servoMotor;
11
12 void setup() {
14 Serial.begin(9600);
15
17 servoMotor.attach(9);
18
20 servoMotor.write(0);
21 }
22
23 void loop() {
24
25 // Vamos a tener dos bucles uno para mover en sentido positivo y otro en sentido
26 negativo
35
// Para el sentido negativo
36
for (int i = 179; i > 0; i--)
37
{
38
// Desplazamos al ángulo correspondiente
39
servoMotor.write(i);
40
// Hacemos una pausa de 25ms
41
delay(25);
42
}
43
}
1 /*
3 https://programarfacil.com
4 */
5
6 // Incluímos la librería para poder controlar el servo
7 #include <Servo.h>
10 Servo servoMotor;
11
12 void setup() {
14 Serial.begin(9600);
15
17 servoMotor.attach(9);
18
20 servoMotor.write(0);
21 }
22
23 void loop() {
24
25 // Vamos a tener dos bucles uno para mover en sentido positivo y otro en sentido
26 negativo
35
// Para el sentido negativo
36
for (int i = 179; i > 0; i--)
37
{
38
// Desplazamos al ángulo correspondiente
39
servoMotor.write(i);
40
// Hacemos una pausa de 25ms
41
delay(25);
42
}
43
}