#include <Keypad.h>
#include <RTClib.h>
int buzzer = 11;
int ledverde = 13;
int ledrojo = 12;
int ledblanco = 10;
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
const byte ROWS = 4;
const byte COLS = 3;
char keys [ROWS] [COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins [ROWS] = {8, 7, 6, 5};
byte colPins [COLS] = {4, 3, 2, };
char i[4] = {0,0,0,0};
char key=0;
int j=0;
int cont = 0;
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
pinMode(ledverde, OUTPUT);
pinMode(ledrojo, OUTPUT);
pinMode(ledblanco, OUTPUT);
pinMode(buzzer, OUTPUT);
if (! rtc.begin()) {
Serial.println("RTC no encontrado");
Serial.flush();
abort();
}
}
void printDate(DateTime date)
{
Serial.print(date.day(), DEC);
Serial.print('/');
Serial.print(date.month(), DEC);
Serial.print('/');
Serial.print(date.year(), DEC);
Serial.print('-');
Serial.print(date.month(), DEC);
Serial.print('/');
Serial.print(date.day(), DEC);
Serial.print('/');
Serial.print(date.year(), DEC);
Serial.print('-');
Serial.print(date.year(), DEC);
Serial.print('/');
Serial.print(date.day(), DEC);
Serial.print('/');
Serial.print(date.month(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek [date.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(date.hour(), DEC);
Serial.print(':');
Serial.print(date.minute(), DEC);
Serial.print(':');
Serial.print(date.second(), DEC);
Serial.println();
}
void loop(){
DateTime now = rtc.now();
while (cont < 4) {
key = keypad.getKey();
i[j] = key;
if (key) {
Serial.println("*");
j=j+1;
cont = cont+1;
}
}
//1: 3114
if (i[0] == '3' && i[1] == '1' && i[2] == '1' && i[3] == '4')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Joel Ascolies");
digitalWrite(ledverde, HIGH);
DateTime now = rtc.now();
printDate(now);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//3: 9812
else if (i[0] == '9' && i[1] == '8' && i[2] == '1' && i[3] == '2')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Tony Stark");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//4: 0666
else if (i[0] == '0' && i[1] == '6' && i[2] == '6' && i[3] == '6')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Lucifer Morningstar");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//2: 2221
else if (i[0] == '5' && i[1] == '5' && i[2] == '5' && i[3] == '5')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Bruce Wayne");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
//30: 2312
else if (i[0] == '2' && i[1] == '3' && i[2] == '1' && i[3] == '2')
{
Serial.println("Contraseña correcta, acceso permitido");
Serial.println("Bienvenido Jean-Luc Picard");
DateTime now = rtc.now();
printDate(now);
digitalWrite(ledverde, HIGH);
delay(1500);
digitalWrite(ledverde, LOW);
i [0]=0;
i [1]=0;
i [2]=0;
i [3]=0;
}
else {
Serial.println();
Serial.println("Contraseña incorrecta, acceso denegado");
digitalWrite(ledrojo, HIGH);
tone (buzzer, 880, 3000 );
delay(3000);
digitalWrite(ledrojo, LOW);
noTone;
Serial.println();
}
cont =0;
j=0;
key=0;
}