Menu Navegação



Logar
Usuario:
Senha:

sábado, 9 de setembro de 2017

Projeto controle de acesso por senha











Material Utilizado:

  • 01 Placa Arduino Uno
  • 01 Protoboard
  • 01 LCD 16x2
  • 01 Buzzer
  • 01 Servo Motor
  • 01 Módulo de comunicação I2C
  • Jumpers
  • 01 Potenciômetro de 10K
Código

#include <Keypad.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
 #include <Servo.h> 

Servo motor1;
const byte numRows= 4; //número de linhas no teclado
const byte numCols= 3; //Número de colunas no teclado
int position = 0;
const int buzzer = 9;  
const int duration = 200; 
int Led_vermelho = 10;
int Led_verde = 11;
char* secretCode = "2468";
int fechadura = 13;
int contador =0; 
char senha[ ] = {'0','1','0','2','0','3','\0'};
char palavra[ ] = {'0','0','0','0','0','0','\0'};
//Keymap define a tecla pressionada de acordo com a linha e colunas tal como aparece no teclado
char keymap[numRows][numCols]= 
{
{'1', '2', '3', }, 
{'4', '5', '6', }, 
{'7', '8', '9', },
{'*', '0', '#', }
};
 
//Código que mostra as conexões do teclado para os terminais arduino
byte rowPins[numRows] = {8,7,6,5}; 
byte colPins[numCols]= {4,3,2};
 
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);

void setup()
{
  motor1.attach(12); 
  digitalWrite(fechadura, LOW);
  lcd.begin(16,2);
  lcd.clear();
  lcd.print("Inicializando..");
  delay(2000);
  lcd.clear();
  lcd.print("Digite a Senha:");
  motor1.write(0);
}
void loop()
{
  char key = myKeypad.getKey();
  if (key)
  {
  lcd.setCursor(0,0);
  lcd.print("Digite a senha: ");
  lcd.setCursor(contador, 1);
  lcd.print(key);



  delay(500);
  palavra[contador] = key;
  contador++;
  if (contador == 6 )
    {
  palavra[contador] = '\0';
  if((palavra[0] == senha[0]) &&(palavra[1] == senha[1]) && (palavra[2] == senha[2]) && (palavra[3] == senha[3]))
  
  {
     lcd.clear();
     lcd.print("Senha Correta !");
     delay (600);
     lcd.clear();
         tone(buzzer,2500);
delay(100);
tone(buzzer,900);
delay(100);
noTone(buzzer); 
           
           pinMode(Led_verde,OUTPUT);
          
           digitalWrite(Led_verde,HIGH); //liga Led verde
           lcd.print("Porta Aberta");
 
          motor1.write(180); 
           delay(400);
           delay(6000);
           
           digitalWrite(Led_verde,LOW); //desliga Led verde
           lcd.clear();
           lcd.print("Porta Fechada");
           motor1.write(0); 
           delay(400);
           delay(1000);
           
           contador = 0;
     lcd.clear();
     lcd.print ("Digite Senha: ");
     digitalWrite(fechadura, HIGH);
     delay(1500);
     digitalWrite(fechadura, LOW);
      }
     else
     {lcd.clear();
     lcd.print("Senha incorreta!");
 pinMode(Led_vermelho,OUTPUT);
           digitalWrite(Led_vermelho,HIGH); //liga Led vermelho
tone(buzzer,300);
delay(500);
noTone(buzzer);
delay(500);
tone(buzzer,300);
delay(100);
noTone(buzzer);
delay(500);
            
           delay(2000);
     digitalWrite(Led_vermelho,LOW); //desliga Led vermelho
           contador = 0;
     lcd.clear();
     lcd.print("Digite a Senha: ");
     digitalWrite(fechadura, LOW);
     
     }
    }
}
}

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial

Criação: Html Apache com PHP e Linguagem MySQL - © Copyright 2000 - 2010, Carlos Alberto dos S. Filho