Como fazer o sistema de segurança doméstica usando Arduino Uno

Como fazer o sistema de segurança doméstica usando Arduino Uno
Arduino é a plataforma mais favorável para criar projetos diferentes que estão relacionados principalmente aos dispositivos que são comumente usados ​​em nossa rotina de vida diária. Da mesma forma, também podemos aprender o funcionamento dos circuitos usando a plataforma Arduino. Nesse contexto, fizemos um sistema de segurança usando o Arduino Uno.

Criando um sistema de segurança doméstico usando Arduino Uno

O sistema de segurança é sempre baseado em algum tipo de autorização e que a autorização pode estar na forma de código de aprovação, impressão digital, reconhecimento de voz e reconhecimento facial. Neste projeto, projetamos um sistema de segurança que usa uma senha para a autorização. A seguir, são apresentados os componentes que usamos para fazer um sistema de segurança.

  • Arduino Uno
  • Pão de pão
  • Conectando fios
  • Teclado de membrana 4 × 4
  • Visor de cristal líquido de 16 × 2 (LCD)
  • Módulo RGB

A imagem para o esquema de criar um sistema de segurança doméstico usando o Arduino S Postado abaixo:

Conjunto de hardware para criar o sistema de segurança doméstico

Para montar o hardware, conectamos os componentes de tal maneira que, antes de tudo, colocamos o LCD e o potenciômetro na placa de ensaio. Além disso, publicamos uma imagem abaixo para a montagem do hardware para o sistema de segurança.

Os fios marrons interagem o LCD com o Arduino, e os fios azuis conectam o teclado ao Arduino e para ajustar o brilho 0F O LCD O fio amarelo conecta o potenciômetro com LCD.

Usamos o módulo RGB para exibir o status da autorização quando a senha é inserida e a cor dos fios mostra a cor dos LEDs usados ​​para indicação.

Código Arduino para o sistema de segurança doméstica

O código Arduino compilado para o sistema de segurança doméstica é fornecido abaixo:

#include // Definindo a biblioteca para LCD
#include // Definindo a biblioteca para o teclado
LiquidCrystal LCD (A1, A0, 5, 4, 3, 2); // pinos Arduino para LCD
#define senha_length 9 // Definindo o comprimento da senha
char userInput [senha_length];/*string para armazenar a entrada do usuário*/
char mestre [senha_length] = "1234"; /*Salvando a senha correta*/
Char CustomKey; // Esta variável mantém a entrada de teclas de cada tecla pressionada
BYTE PressCount = 0;/* Para armazenar o balcão pela quantidade de vezes que as chaves são pressionadas*/
Const Byte linhas = 4; // Definindo número de linhas
const byte cols = 4; // Definindo número de colunas
int led = a2; // pino Arduino para LED verde
int led2 = a3; // pino Arduino para LED vermelho
Char Keys [linhas] [cols] = // atribuindo valores às teclas do teclado

'1', '2', '3', 'a',
'4', '5', '6', 'b',
'7', '8', '9', 'C',
'*', '0', '#', 'd'
;
// a chave C é usada para limpar e uma chave é usada para inserir a senha
byte rowpins [linhas] = 13,12,11,10; // pinos Arduino para fileiras de teclado
byte colpins [cols] = 9,8,7,6; // pinos Arduino para colunas do teclado
Keypad CustomKeypad = teclado (MakeKyyMap (chaves), rowpins, colpins, linhas, cols); // mapeando os valores para as respectivas chaves do teclado
Void Setup ()
LCD.começar (16,2); // inicializando as dimensões do LCD
LCD.setCursor (0,0); // definindo o local para que os dados sejam exibidos
LCD.print ("Arduino Home"); // dados a serem exibidos
LCD.setCursor (0,1); // definindo o local para os dados a serem exibidos
LCD.print ("sistema de segurança"); // dados a serem exibidos
atraso (2000); // tempo para o qual os dados serão exibidos
LCD.claro (); // limpando o LCD
pinmode (LED, saída);
pinmode (LED2, saída);
DigitalWrite (LED2, baixo); // atribuindo baixo estado ao LED vermelho

Void Loop ()
LCD.setCursor (0,0); // definindo o local para que os dados sejam exibidos
LCD.print ("Digite a senha:"); // pedindo inserir a senha
CustomKey = CustomKeypad.waitforKey (); // esperando o usuário inserir a senha
if (CustomKey != NO_KEY && CustomKey != 'C' && CustomKey != 'A') /* Se a chave diferente da função clara e igual à função for pressionada* /

UserInput [PressCount] = CustomKey;/ * Conte as teclas com os valores inteiros pressionados */
LCD.setCursor (PressCount + 4, 1); /*Definindo o local onde a senha será exibida no LCD*/
LCD.imprimir("*"); // exibindo o asterisco contra cada chave de senha
PressCount ++; // incremento um na contagem de senha que é 4

caso contrário, se (customKey == 'c') // se a chave com função clara c for pressionada

LCD.claro (); // então limpe o LCD
apagar os dados();

caso contrário, se (customKey == 'a') /* se a tecla for pressionada e a contagem de senha for menor que 4, limpe o LCD e exiba senha inválida* /

LCD.claro();
LCD.setCursor (0,0);
LCD.print ("senha inválida!"); // exibe é uma senha inválida
Atraso (2000);
apagar os dados();

if (pressCount == 4) / *Se a senha do valor 4 for inserida, corresponda à entrada do usuário com a senha dada * /

LCD.claro();
espere aqui(); // função que exibe a senha no asterisco


vazio waithere ()
LCD.setCursor (0,0);
LCD.print ("Digite a senha:");
LCD.setCursor (0,1);
LCD.imprimir(" ****");
CustomKey = CustomKeypad.waitforKey (); // Aguardando o usuário pressionar a tecla igual à
if (CustomKey != NO_KEY && CustomKey == 'A') /*Se a tecla Enter for pressionada, o programa corresponderá à senha inserida pelo usuário* /

LCD.claro();
LCD.setCursor (0,0);
se (!STRCMP (UserInput, Master)) // A entrada do usuário é comparada e conceda o acesso

LCD.setCursor (0,0);
LCD.impressão ("Acesso concedido");
DigitalWrite (LED, High); // Ligue o LED verde
atraso (1000);
apagar os dados();

caso contrário, se (strcmp (userInput, mestre)) /*se a senha não for correspondente, negue o acesso* /

LCD.setCursor (0,0);
LCD.impressão ("Acesso negado");
DigitalWrite (LED2, alto); // Ligue o LED vermelho
Atraso (2000);
apagar os dados();


/* Condições para cada tecla pressionada no teclado para cada tecla que não seja limpa e digite a função de espera aqui é usada para exibi -la no LCD*/
if (CustomKey != NO_KEY && CustomKey == 'C')

LCD.claro();
apagar os dados();

if (CustomKey != NO_KEY && CustomKey == '0')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '1')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '2')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '3')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '4')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '5')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '6')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '7')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '8')

espere aqui();

if (CustomKey != NO_KEY && CustomKey == '9')

espere aqui();


// função atribuída à chave C do teclado para limpar o LCD
void cleardata ()
while (PressCount != 0)

UserInput [PressCount--] = 0; // diminui o valor inserido para zero
DigitalWrite (LED, Low);
configurar(); // chamando a função de configuração para reiniciar o programa

Demos a senha no código e o programa simplesmente pega a entrada do usuário e corresponde à senha. Este programa verifica a senha de duas maneiras, uma verificando o comprimento da senha e, em seguida, corresponde às duas senhas salvas na string.

Se as senhas estiverem corretas, o programa fornecerá o acesso e ligará o LED verde, enquanto se a senha estiver incorreta, ela negará o acesso e o LED vermelho ligará.

Implementação de hardware do sistema de segurança doméstica usando Arduino Uno

A imagem postada abaixo mostra o início do código Arduino para o sistema de segurança doméstica. Além disso, publicamos as imagens do código Arduino na mesma sequência em que o código é executado.

Na figura abaixo, o código está solicitando a senha e demos a senha usando o teclado.

Em seguida, pressionamos a chave A no teclado para inserir a senha e a senha está correta, então o LED verde está ativado, o que significa que o acesso é concedido.

Da mesma forma, se a senha não estiver correta, o LED vermelho girará, o que significa que a autorização não é dada.

Conclusão

Para fazer projetos para iniciantes ou avançados, a plataforma Arduino será uma ótima opção, pois permite aos usuários criar circuitos da maneira mais fácil. Há uma grande variedade de projetos faça você mesmo que podem ser feitos usando Arduino. Um sistema de segurança doméstico é feito neste artigo, um teclado é usado para obter a senha em que o módulo RGB é usado para indicação do acesso.