- Componentes necessários:
- Módulo sensor de impressão digital com Arduino:
- Explicação de trabalho:
- Explicação do circuito:
- Explicação do programa:
A segurança é uma grande preocupação em nossa vida cotidiana, e as travas digitais se tornaram uma parte importante desses sistemas de segurança. Existem muitos tipos de sistemas de segurança disponíveis para proteger nosso lugar. Alguns exemplos são sistema de segurança baseado em PIR, sistema de segurança baseado em RFID, sistema de bloqueio digital, sistemas de biomatriz, bloqueio de código eletrônico. Neste post, faremos a interface de um módulo sensor de impressão digital com o Arduino e construiremos um sistema de segurança biométrica baseado em impressão digital com travamento de porta. A impressão digital é considerada uma das chaves mais seguras para bloquear ou desbloquear qualquer sistema, pois pode reconhecer qualquer pessoa de forma única e não pode ser copiada facilmente.
Componentes necessários:
- Arduino Uno
- Módulo de impressão digital
- Botão -4
- LEDs -2
- 1K Resistor -3
- 2.2K resistor -1`
- Fonte de energia
- Fios de conexão
- Caixa de papelão
- Servo Motor -1
- 16x2 LCD -1
- Pão Tábua -1
Módulo sensor de impressão digital com Arduino:
O Módulo Sensor de Impressão Digital ou Scanner de Impressão Digital é um módulo que captura a imagem da impressão digital e a converte no modelo equivalente e os salva em sua memória no ID selecionado (local) pelo Arduino. Aqui, todo o processo é comandado pelo Arduino, como tirar uma imagem da impressão digital, convertê-la em modelos e armazenar a localização, etc.
Neste projeto de sensor de impressão digital Arduino, usamos o módulo de sensor de impressão digital para obter a impressão do dedo ou polegar como entrada no sistema. Aqui estamos usando 4 botões de pressão para registrar / voltar, excluir / OK, para cima e para baixo. Cada chave tem recursos duplos. A tecla de registro é usada para registrar uma nova impressão digital no sistema e também na função posterior. Significa que quando o usuário deseja registrar um novo dedo, ele precisa pressionar a tecla de registro e, em seguida, o LCD pede a ID ou localização onde o usuário deseja armazenar a saída da impressão digital. Agora, se neste momento o usuário não quiser prosseguir, ele / ela pode pressionar a tecla de registro novamente para voltar (desta vez, a chave de registro se comporta como tecla Voltar). Significa que a chave de inscrição tem função de inscrição e retorno. Tecla DEL / OKtambém tem a mesma função dupla, como quando o usuário registra um novo dedo, então ele / ela precisa selecionar o ID do dedo ou localização usando outras duas teclas, nomeadamente UP / MATCH AND DOWN / MATCH (que também tem função dupla), agora o usuário precisa pressionar DEL / OK (desta vez, esta tecla se comporta como OK) para prosseguir com o ID ou local selecionado. As teclas PARA CIMA / PARA BAIXO também suportam a função de correspondência de impressão digital. Confira o vídeo no final para uma demonstração completa.
Aqui também anexamos uma caixa de papelão com um servo motor para atuar como um portão de segurança, que só será aberto quando o sistema ler a impressão digital correta. O LED amarelo indica que a porta está fechada e o LED verde indica que a porta está aberta.
Explicação de trabalho:
Funcionamento desta fechadura do sensor de impressão digitalé fácil. Neste projeto, usamos um portão que será aberto quando colocarmos o dedo armazenado no módulo de impressão digital. Em primeiro lugar, o usuário precisa registrar o dedo com a ajuda de botões / teclas. Para fazer isso, o usuário precisa pressionar a tecla ENROLL e, em seguida, o LCD pede para inserir o local / ID onde o dedo será uma loja. Portanto, agora o usuário precisa inserir o ID (localização) usando as teclas UP / DOWN. Depois de selecionar Localização / ID, o usuário precisa pressionar uma tecla OK (tecla DEL). Agora o LCD pedirá para colocar o dedo sobre o módulo de impressão digital. Agora o usuário precisa colocar o dedo sobre o módulo de impressão digital. Em seguida, o LCD pedirá para remover o dedo do módulo de impressão digital e novamente pedirá para colocar o dedo. Agora o usuário precisa colocar o dedo novamente sobre o módulo de impressão digital.Agora, o módulo de impressão digital pega uma imagem e a converte em modelos e a armazena por ID selecionada na memória do módulo de impressão digital. Agora o usuário pode abrir o portão colocando o mesmo dedo que ele / ela adicionou ou cadastrou no sistema e então pressione a tecla MATCH (tecla UP / Down). Pelo mesmo método, o usuário pode adicionar mais dedos. Confira o vídeo abaixo para uma demonstração completa.
Agora, se o usuário deseja remover ou excluir qualquer um dos IDs armazenados, ele precisa pressionar a tecla DEL, após pressionar a tecla DEL, o LCD irá pedir para selecionar o local, significa selecionar o ID a ser excluído. Agora o usuário precisa selecionar o ID e pressionar a tecla OK (mesma tecla DEL). Agora o LCD informará que o dedo foi excluído com sucesso. Agora o usuário pode verificar se foi excluído ou não, colocando o mesmo dedo sobre o módulo de impressão digital e pressionando a tecla MATCH (tecla para cima / para baixo).
Quando o dedo colocado será válido, o LED verde acenderá por cinco segundos e o portão também abrirá ao mesmo tempo. Após 5 segundos, o portão será fechado automaticamente. O usuário pode personalizar a abertura e o fechamento do portão / porta de acordo com sua necessidade. O servo motor é responsável pela abertura e fechamento do portão.
Explicação do circuito:
O circuito deste Arduino Fingerprint Security System é muito simples e contém o Arduino que controla todo o processo do projeto, botão, buzzer e LCD. O Arduino controla os processos completos.
O botão de pressão é conectado diretamente ao pino D14 (ENROLL), D15 (DEL), D16 (UP) e D17 (DOWN) do Arduino em relação ao aterramento e o LED amarelo é conectado no pino digital D7 do Arduino em relação ao aterramento por meio de um O resistor de 1k e o LED verde são conectados ao D6 do Arduino com o mesmo método. Rx e Tx do Módulo de impressão digital diretamente conectados ao software serial ou digital pino D2 e D3 do Arduino. A alimentação 5v é usada para alimentar o módulo de impressão digital retirado da placa Arduino e o servo motor também é conectado ao pino PWM D5 do Arduino. Um LCD 16x2 é configurado no modo de 4 bits e seus RS, EN, D4, D5, D6 e D7 são conectados diretamente no pino digital D13, D12, D11, D10, D9 e D8 do Arduino.
Nota: aqui D14, D15, D16, D17 são A0, A1, A2, A3 respectivamente.
Explicação do programa:
Em um programa, usamos a Adafruit Fingerprint Sensor Library para fazer a interface do módulo de impressão digital com a placa Arduino. Você pode verificar o Código completo abaixo, ele pode ser facilmente entendido. Aqui, explicamos as principais funções do programa Arduino.
O código abaixo é usado para obter a impressão digital como entrada e agir de acordo com a validação do dedo. Se o dedo for validado, o portão será aberto, caso contrário, permanecerá fechado.
para (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Coloque o dedo"); atraso (2000); resultado interno = getFingerprintIDez (); if (resultado> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Permitido"); lcd.setCursor (0,1); lcd.print ("Gete aberto"); myServo.write (0); atraso (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Portão fechado");
A função void checkKeys () é usada para verificar se a tecla Inscrever ou DEL está pressionada ou não e o que fazer se pressionada. Se a tecla ENROLL pressionada, a função Enroll () é chamada e a tecla DEL pressionada, a função delete () é chamada.
void checkKeys () {if (digitalRead (matricular) == 0) {lcd.clear (); lcd.print ("Aguarde"); atraso (1000); enquanto (digitalRead (inscrever) == 0); Inscrever-se (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Aguarde"); atraso (1000); delet (); }}
A função fornecida é usada para inserir o ID a ser excluído e chamar a função uint8_t deleteFingerprint (uint8_t id) que excluirá o dedo dos registros.
void delet () {int count = 0; lcd.clear (); lcd.print ("Excluir dedo"); lcd.setCursor (0,1); lcd.print ("Local:"); enquanto (1) {lcd.setCursor (9,1); lcd.print (contagem); if (digitalRead (up) == 0) {count ++; if (contagem> 25) contagem = 0; atraso (500); }……………….
A função dada é usada para excluir a impressão digital do registro da ID selecionada.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Aguarde"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Excluído!"); lcd.clear (); lcd.print ("Figer Deleted"); lcd.setCursor (0,1); lcd.print ("Com sucesso"); atraso (1000); } else {Serial.print ("algo errado"); lcd.clear (); lcd.print ("Algo errado"); lcd.setCursor (0,1); lcd.print ("Tente novamente mais tarde"); atraso (2000); return p; }}
A função fornecida é usada para pegar a imagem da impressão digital e convertê-la no modelo e salvá-la por ID selecionado na memória do módulo de impressão digital.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("ID do dedo:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Coloque o dedo"); atraso (2000); enquanto (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
É assim que podemos usar o Arduino com o Módulo Leitor de Impressão Digital para Sistema de Segurança.