Cerradura Con Clave Arduino
Cerradura Con Clave Arduino
h>
#include <Keypad.h>
#include <Servo.h>
Servo servo1;
/*-------------------------------KEYPAD---------------------------------------*/
char keypressed;
char keymap[numRows][numCols]=
};
//Code that shows the the keypad connections to the arduino terminals
/*-------------------------------CONSTANTS------------------------------------*/
/*-------------------------------VARIABLES------------------------------------*/
/*----------------------------------------------------------------------------*/
void setup(){
pinMode(lock,OUTPUT);
lcd.print("Arduino Segurity");
lcd.setCursor(0,1);
lcd.print(":::electronico:::");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
digitalWrite(LEDR,HIGH);
unlockTheDoor();
/********************************FUNCTIONS*************************************/
void unlockTheDoor(){
tempPassword="";
lcd.clear();
i=6;
noTone(buzzer);
digitalWrite(lock, LOW);
while(!checkPassword){
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print("PASS>");
tempPassword += keypressed;
lcd.setCursor(i,1);
i++;
changePassword();
goto lockAgain;
else if (keypressed=='#'){
break;
digitalWrite(LEDV, HIGH);
servo1.write(90);
servo1.write(0);
delay(500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PASSWORD CORRECTO");
lcd.setCursor(0,1);
lcd.print("abriendo pueta");
delay(5000);
digitalWrite(LEDV, LOW);
digitalWrite(LEDR, HIGH);
servo1.write(90);
tempPassword="";
tone(buzzer,500,200);
delay(300);
tone(buzzer,500,200);
delay(300);
goto lockAgain;
void changePassword(){
tempPassword="";
lcd.clear();
i=1;
lcd.setCursor(0,0);
lcd.print("CAMBIAR PASSWORD");
lcd.setCursor(0,1);
lcd.print(">");
if (keypressed != NO_KEY){
tempPassword += keypressed;
lcd.setCursor(i,1);
lcd.print("*");
i++;
tone(buzzer,800,200);
else if (keypressed=='#'){
break;
i=1;
if (password==tempPassword){
storedPassword=false;
tone(buzzer,500,200);
break;
tempPassword="";
tone(buzzer,500,200);
delay(300);
tone(buzzer,500,200);
delay(300);
goto retry;
}
}
String firstpass;
void newPassword(){
tempPassword="";
changedPassword=false;
lcd.clear();
i=1;
while(!storedPassword){
if (doublecheck==0){
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print(">");
else{
lcd.setCursor(0,0);
lcd.print("CONFIRMAR PASSWORD");
lcd.setCursor(0,1);
lcd.print(">");
if (keypressed != NO_KEY){
if (keypressed == '0' || keypressed == '1' || keypressed == '2' || keypressed == '3' ||
tempPassword += keypressed;
lcd.setCursor(i,1);
lcd.print("*");
i++;
tone(buzzer,800,200);
else if (keypressed=='#'){
break;
if (doublecheck == 0){
firstpass=tempPassword;
doublecheck=1;
newPassword();
if (doublecheck==1){
doublecheck=0;
if (firstpass==tempPassword){
i=1;
firstpass="";
lcd.setCursor(0,0);
lcd.print("PASSWORD CAMBIADO");
lcd.setCursor(0,1);
lcd.print("----------------");
storedPassword=true;
tone(buzzer,500,400);
delay(2000);
lcd.clear();
break;
else{
firstpass="";
newPassword();