Sistema de travamento de porta baseado em senha usando Arduino com teclado

Tempo de leitura: 4 minutes

Hoje vamos compartilhar um projeto muito bom com todos os detalhes, como código, circuito e instruções, o nome do projeto é Sistema de fechadura baseado em senha usando Arduino com teclado. este é um projeto muito legal e pode ser usado tanto no mini como em um projeto principal. ou você pode fazer um sistema de fechadura de porta baseado em senha para sua casa também. e você pode usar essa fechadura em seu escritório e em muitos outros lugares. se você comprar a mesma fechadura no mercado, será caro, mas se você quiser ter essa fechadura, pode fazê-lo por meio deste projeto. o que você tem que fazer para fazer este projeto é ler o artigo completo com atenção e seguir todas as instruções. Se você tem um básico de Arduino ou eletrônica, pode fazer isso facilmente, caso contrário, vá para nosso site na seção de blog e vá para o tutorial básico de eletrônica e Arduino.

Neste projeto, você aprenderá como fazer a interface do teclado hexadecimal com o Arduino. Teclado 4×4, também conhecido como teclado hexadecimal. o teclado usa o princípio de matriz para descobrir a tecla pressionada. há um total de 16 chaves, 4 linhas e 4 colunas. e 8 fios de conexão para conectar com o Arduino. não há aterramento e fio VCC para conectar à energia. porque não há componentes eletrônicos dentro do teclado, há apenas a combinação de circuito e fios. o sistema de travamento de porta baseado em senha do projeto, também conhecido como disjuntor baseado em senha. disjuntor significa aqui que quando estiver em conformidade com as condições, o circuito será uma interrupção. então, como este projeto, há também muitos outros projetos de bloqueio de segurança, como o sistema de bloqueio baseado em sensor de impressão digital, também funciona da mesma forma quando o local correto da impressão digital na impressão digital interromperá o circuito. agora vamos falar sobre o funcionamento do sistema.

 

Como funciona o bloqueio do teclado do Arduino?

O sistema contém três dispositivos de entrada, processo e dispositivo de saída. o dispositivo de entrada é o teclado. que enviará todos os dados de entrada para o próximo dispositivo, que é o Arduino. O Arduino funciona aqui como um dispositivo de processamento. há uma matriz de 4×4 dentro do teclado. e existem os 16 circuitos quando pressionamos qualquer tecla, então qualquer um do circuito liga. se pressionarmos a tecla A, o circuito abaixo do botão será ativado e enviará essa informação ao Arduino. antes de pressionar a tecla, todo o circuito é desligado. a linha e a coluna fazem o circuito com a combinação no sistema de fechadura de porta baseado em senha usando Arduino.

quando pressionamos a tecla, o Arduino é notificado de que qual circuito está ativado agora e há um caractere atribuído ao circuito que pode ser mostrado no monitor serial se você tiver algum conhecimento básico, então você pode facilmente observar o caractere no monitor serial . e pode haver erros ocorridos às vezes para obter o caractere certo que você pode resolver facilmente.

este é basicamente um disjuntor baseado em senha definida pelo usuário, onde você precisa criar sua própria senha agora, como você pode inserir a senha primeiro, ele pedirá a você a senha para se inscrever, em seguida, insira o 12345 na senha e agora você pode fazer a sua própria senha e o processo é fornecido aqui. quando pressionamos a tecla, o Arduino obtém o caractere de vez em quando, o caractere será salvo na memória do Arduino e você precisará inserir outros três caracteres para registrar a senha no sistema. e então você pode tornar esta senha a senha atual. isso é muito fácil se você tiver alguma confusão para fazer a senha que lhe daremos o vídeo na última seção do post.

 

Componentes necessários

Arduino Nano
Cabo Arduino nano
LED
Resistor 220 ohm
Relé 5V
Mini Fechadura Solenoide Eletrônica 12v
Zero PCB
Ferro de solda
Fio de Solda
Fio de conexão.
LCD 16×2

e também estão usando uma trava solenóide que será usada após o relé. quando o sistema de bloqueio do teclado obtém a senha correta, o Arduino envia alta no pino mencionado e o relé será aberto e também o bloqueio do solenóide será aberto. aqui estamos usando uma fechadura de solenóide de 12v.

 

Diagrama de circuito do teclado Arduino:

Aqui estamos usando uma fonte de alimentação de 12v para o solenóide e precisamos alimentar o Arduino com a fonte de alimentação de 5v ou podemos usar a mesma fonte, mas para o Arduino, podemos usar um conversor buck. e se você estiver usando uma fonte de alimentação diferente, você precisa comum o pino de aterramento de ambas as fontes. certifique-se de que a alimentação seja desligada durante a conexão. se você tiver qualquer problema, pode nos perguntar na seção de comentários.

Código Arduino 4 × 4 do teclado

#include <Keypad.h>  
#include<LiquidCrystal.h>  
#include<EEPROM.h>  
#define led A3  
#define buzzer A4  

LiquidCrystal lcd(7,6,5,4,3,2);  

char password[4];  
char pass[4],pass1[4];  

int i=0;  

char customKey=0;  

const byte ROWS = 4; //quatro linhas
const byte COLS = 4; //quatro colunas 

char hexaKeys[ROWS][COLS] = {  
  {'1','2','3','A'},  
  {'4','5','6','B'},  
  {'7','8','9','C'},  
  {'*','0','#','D'}  
};  

byte rowPins[ROWS] = {A0, A1, 8, 9};   //conecte-se às pinagens de linha do teclado
byte colPins[COLS] = {10, 11, 12, 13}; //conectar à pinagem da coluna do teclado

//inicializar uma instância da classe NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);   

void setup()  
{  
  lcd.begin(16,2);  
  pinMode(led, OUTPUT);  
  pinMode(buzzer, OUTPUT);  
  pinMode(1, OUTPUT);  
  //  pinMode(m12, OUTPUT);  
  lcd.print(" CapSistema ");  
  lcd.setCursor(0,1);  
  lcd.print(" Bloqueio do teclado ");  
  delay(2000);  
  lcd.clear();  
  lcd.print("Digite sua senha:");  
  lcd.setCursor(0,1);  
  for(int j=0;j<4;j++)  
  EEPROM.write(j, j+49);  
  for(int j=0;j<4;j++)  
  pass[j]=EEPROM.read(j);  
}  
 
void loop()  
{  
  customKey = customKeypad.getKey();  
  if(customKey=='#')  
  change();  
  if (customKey)  
  {  
    password[i++]=customKey;  
    lcd.print(customKey);  
    beep();  
  }  
  if(i==4)  
  {  
   delay(200);  
   for(int j=0;j<4;j++)  
   pass[j]=EEPROM.read(j);  
   if(!(strncmp(password, pass,4)))  
   {  
     digitalWrite(1, HIGH);  
     digitalWrite(led, HIGH);  
     beep();  
     lcd.clear();  
     lcd.print("Senha aceita");  
     delay(2000);  
     lcd.setCursor(0,1);  
     lcd.print("# .Alterar senha");  
     delay(2000);  
     lcd.clear();  
     lcd.print("Digite a senha:");  
     lcd.setCursor(0,1);  
     i=0;  
     digitalWrite(led, LOW);  
     digitalWrite(1, LOW);  
   } else {  
     digitalWrite(buzzer, HIGH);  
     lcd.clear();  
     lcd.print("Acesso negado...");  
     lcd.setCursor(0,1);  
     lcd.print("# .Alterar senha");  
     delay(2000);  
     lcd.clear();  
     lcd.print("Digite a senha:");  
     lcd.setCursor(0,1);  
     i=0;  
     digitalWrite(buzzer, LOW);  
   }  
  }  
}  
 
void change()  
{  
  int j=0;  
  lcd.clear();  
  lcd.print("Sua atual Senha");  
  lcd.setCursor(0,1);  
  while(j<4)  
  {  
   char key=customKeypad.getKey();  
   if(key)  
   {  
     pass1[j++]=key;  
     lcd.print(key);  
     beep();  
   }  
   key=0;  
  }  
  delay(500);  
  if((strncmp(pass1, pass, 4)))  
  {  
    lcd.clear();  
    lcd.print("Senha errada...");  
    lcd.setCursor(0,1);  
    lcd.print("Melhor sorte novamente");  
    delay(1000);  
  } else {  
    j=0;  
    lcd.clear();  
    lcd.print("Enter New Passk:");  
    lcd.setCursor(0,1);  
    while(j<4)  
    {  
      char key=customKeypad.getKey();  
      if(key)  
      {  
        pass[j]=key;  
        lcd.print(key);  
        EEPROM.write(j,key);  
        j++;  
        beep();  
      }  
    }  
    lcd.print(" Pronto.....");  
    delay(1000);  
  }  
  lcd.clear();  
  lcd.print("Insira o seu passe:");  
  lcd.setCursor(0,1);  
  customKey=0;  
}  

void beep()  
{  
  digitalWrite(buzzer, HIGH);  
  delay(20);  
  digitalWrite(buzzer, LOW);  
}

Antes de enviar o código, você precisa instalar a biblioteca do teclado e estamos fornecendo o link de download, clique no link fornecido abaixo.

Clique aqui para baixar a biblioteca do teclado Arduino.