sexta-feira, 3 de julho de 2015

Utilizando o Modulo Sensor de Reconhecimento de Impressão Digital

Nesta postagem iremos mostrar como utilizar o Modulo Sensor de Reconhecimento de Impressão Digital.

Com esse módulo, a adição de detecção e verificação de impressões digitais ao seu projeto fica super simples! Esse módulo faz a captura de imagem, os cálculos, a varredura por detalhes na imagem e a busca no banco de dados (que é capaz de armazenar 1000 entradas) por conta própria, sendo necessária somente a conexão com um sistema com comunicação serial TTL para a tomada de decisão a partir da informação de aprovação ou rejeição da impressão digital lida.

Além de ser um dispositivo de fácil utilização, existe um software bastante intuitivo (que pode ser baixado aqui) para simplificar os testes e o uso do Modulo Sensor de Reconhecimento de Impressão Digital e até mesmo efetuar diretamente o registro de digitais na memória dele.

Primeiramente, iremos falar sobre o software baixado no link acima:
Para realizar a ligação do Modulo Sensor de Reconhecimento de Impressão Digital com o computador, é necessário que ele seja ligado a uma interface Serial do tipo TTL.
Nos notebooks, essa interface deve ser feita através de um hardware específico, como o Cabo USB Serial TTL PL2303HX, conectado em uma porta USB.
Porém, também é possível (e muito mais fácil), utilizar um Arduino para realizar tal interface. Basta programar o mesmo com um código vazio, como o mostrado abaixo:

 //############### ELETRODEX ELETRÔNICA ###############  
 //  
 // Sketch para ignorar o ATmega do Arduino  
 // e conectar diretamente o Sensor de Impressão Digital  
 // ao chip conversor USB-Serial  
 // As Conexões devem ser feitas da seguinte forma:  
 // Módulo Sensor | Arduino  
 //  Preto        |   GND  
 //  Vermelho     |   5v  
 //  Branco       |   D0  
 //  Verde        |   D1  
 void setup() {}  
 void loop() {}  

Confira uma imagem da interface do programa, com destaque em suas principais funções:

Agora teremos uma breve descrição das principais funções do programa:

Em Initialization (destacado em Roxo):
  • Open Device(O): Inicialização do dispositivo. É a primeira coisa que se deve fazer, para estabelecer a comunicação entre o computador e o sensor. Após clicar em Open Device, irá aparecer uma janela solicitando que seja informada a porta COM utilizada pelo sensor.
Em  Image Manage (destacado em Amarelo):  
  • Capture: Captura de impressões digitais, sem gravação. Serve para verificar se o dispositivo está funcionando corretamente e se comunicando com o computador (a janela do sensor pisca em vermelho quando o mesmo está ativo).
  • Con Capture: É a realização dessa ação de maneira repetitiva.
Em Enroll (destacado em Verde):
  • Enroll: Captura de impressões digitais, com a gravação das mesmas na memória do dispositivo. Cada impressão é associada a um número. 
  • Con Enroll: É a realização dessa ação de maneira repetitiva. 
 Note que a imagem da impressão digital cadastrada somente irá ser mostrada se a caixa "Preview" estiver devidamente marcada. 

Em Match (destacado em Azul): 
  • Match: Confere se a próxima impressão digital é compatível com o registro selecionado (deve-se selecionar um, no campo Address)
  • Search: Confere se a próxima impressão digital é compatível com qualquer um dos registros armazenados.
  • Con Search: Realiza a ação acima de maneira repetitiva
  • Quick Search: Tem a mesma função do botão Con Search
Em Template Database (destacado em Vermelho):
  • Empty: Apaga TODAS as impressões digitais registradas.
  • Delete: Apaga somente a impressão digital selecionada.
Agora vamos falar sobre a utilização do Modulo Sensor de Reconhecimento de Impressão Digital em conjunto com o Arduino.

Primeiramente, é necessário baixar a biblioteca para interfacear o Arduino com o sensor.
(A biblioteca pode ser baixada aqui, mas também está disponível no site da Adafruit.)

Uma vez baixada e instalada, a biblioteca possui seis Sketches de exemplo, que serão discutidos a seguir: (em todos os exemplos constam quais as ligações a serem efetuadas entre o Arduino e o Modulo Sensor de Reconhecimento de Impressão Digital)

  1.  blank, que já foi mostrado acima e serve para realizar a ligação direta entre o Modulo Sensor de Reconhecimento de Impressão Digital e o conversor USB-Serial do Arduino, possibilitando a interface com o programa mostrado anteriormente. 
  2. delete, que serve unicamente para apagar a impressão digital do endereço informado pelo usuário. Assim que o programa inicia, é solicitado que o usuário informe o número da digital que deseja apagar. 
  3. enroll, que é o Sketch utilizado para armazenar as impressões digitais na memória do dispositivo. Quando executado, o programa solicita ao usuário que informe o endereço para a alocação dos dados da impressão digital analisada. 
  4. fingerprint, que verifica se alguma das impressões digitais armazenadas coincide com a que está sendo analizada no momento. Quando executado, o programa aguarda até que o usuário coloque o dedo no sensor e analisa se a impressão digital está armazenada no banco de dados. Se a impressão digital constar no sistema, ele retorna uma mensagem, informando qual posição no banco de dados ela ocupa e qual o grau de confiabilidade da leitura (quanto maior o número informado, melhor). Caso a impressão digital não conste no banco de dados, o programa simplesmente irá ignorá-la, não retornando nenhuma informação. 
  5. leo_passthru, que possui a mesma finalidade do blank, porém para o Arduino Leonardo 
  6. show_fingerprint_templates que mostra no Monitor Serial o padrão utilizado para o armazenamento das impressões digitais no sensor.


IMPORTANTE!!
  •  Sempre que for utilizado o monitor serial em conjunto com um dos Sketches acima, a caixa de seleção destacada em vermelho na imagem abaixo deverá sempre estar mostrando a opção "Nova-linha".

Confira abaixo abaixo algumas informações sobre ele:
Material: Plástico + componentes eletrônicos
Frequência de operação: 433Mhz/868Mhz/915Mhz
Sensibilidade: -100dBm 
Tensão de operação: 1.9~3.6V,
Taxa de operação: 50Kbps,
Tensão de Alimentação: DC 3.6~6.0V 
Tamanho do arquivo de caractere: 256 bytes
Tamanho do template: 512 bytes
Capacidade de armazenamento: 1000 impressões digitais
Tempo de busca: < 1 second
Grau de Reconhecimento em Falso-Positivo (False Acceptance Rate - FAR) < 0.001% 
Grau de Reconhecimento em Falso-Negativo (False Rejection Rate - FRR) < 1.0% (security level: 3)
Tensão: 3.6-6.0V DC via USB
Corrente de operação: < 120mA
Tensão de Pico: < 140mA
Dimensões da janela do sensor: 14 x 18mm
Taxa de transmissão de dados: UART: (9600×N)bps (N=1~12, N padrão 6, =57600bps)
Temperatura ambiente para operação: -20 a 50°C
Umidade Relativa: 40%RH to 85%RH (sem condensação)

Conte-nos suas experiências utilizando os produtos adquiridos em  nossa loja!
Até o próximo artigo!

Nenhum comentário:

Postar um comentário