Leitor de impressões digitais no Arduino

No nosso Automação no Parque especial de Carnaval, um ex-aluno, Maurício, agora estagiário da Simova após minha indicação, apareceu com um leitor de impressões digitais para que a gente o fizesse funcionar conectado ao Arduino. O dispositivo é esse aqui. Abaixo, algumas imagens do dito na nossa "bancada sabática".





A conexão do bicho é de uma simplicidade nauseabunda, como diria um antigo professor de matemática do COLTEC.

O bicho se comunica via serial, então basta vc conectá-lo com o Arduino pelos pinos 2 e 3. Dois outros pinos são para alimentação, 5 V.

Ele funciona da seguinte forma: primeiro vc cadastra nele as impressões a serem validadas. Depois, em modo "consulta", ele mesmo valida a impressão coletada, fornecendo ao Arduino o código da impressão lida, caso seja válida, ou um código de erro.

E o mais legal é que vem com uma lib muito bem feita para lidar com ele. Esta está disponível aqui. Essas coisas é que fazem com que eu realmente goste de trabalhar com a plataforma Arduino: o conceito de libraries, por exemplo.

Na biblioteca tem um programa prontinho prá cadastrar as suas impressões digitais, onde vc fornece um número para cada uma delas e em seguida, coloca o dedo no sensor para que o mesmo possa armazená-la em seu "banco de dados". Em seguida, o "pograminha" pede para vc retirar o dedo e colocar novamente, para que ele possa validar a impressão armazenada.

O fabricante diz que o índice de "falso positivo" (aceitar um "dedo" não cadastrado) é inferior a 0,001%, e o de falso negativo, 1%. Ou seja, é muito seguro.

E, claro, na biblioteca tem exemplos diversos sobre como ler e validar as impressões armazenadas, bem como zerar o banco.

Abaixo, um vídeo do programa de cadastro de dedinhos funcionando. Abracadabraço!







Comentários

  1. onde vc comprou o leitor biometrico.. help ?

    ResponderExcluir
    Respostas
    1. Eu não comprei, é de um amigo. Na SparkFun tem, no Brasil nunca vi.

      Excluir
  2. Boa noite,

    eu estou fazendo um trabalho com leitor biométrico, teria como vcs me passarem o contato para poder pegar algumas dicas. Meu e-mail danielfabris2003@yahoo.com.br, se poderem me mandar o programa pra mim tester aqui, eu ja tenho o Arduino UNO e o leitor biométrico que nem o de vcs. Desde já obrigado.

    ResponderExcluir
    Respostas
    1. Anônimo,

      Eu usei para testar os programas que baixei do site da Adafruit, no texto acima tem um link. Aqui tem um tutorial: http://learn.adafruit.com/adafruit-optical-fingerprint-sensor
      Eu prefiro que vc poste suas dúvidas aqui, assim elas podem servir a mais gente, mas vou enviar um email para vc para que vc tenha o meu, se preferir entrar em contato diretamente.

      Excluir
  3. Mas e ai se eu quiser criar um aparelho que trave ma catraca.Como usaria o Arduino nele?Esse aparelho necessita de um pc né,se eu junto com Arduino ligasse aquele mini pc programado

    ResponderExcluir
    Respostas
    1. Não, esse leitor não precisa do PC. Só usei o PC porque queria que os resultados fossem mostrados, e o PC é o jeito mais fácil de fazer isso. Poderia ter ligado um display de LCD direto no Arduino e uma bateria, aí não precisaria do PC. Para travar uma catraca, vc só precisa do Arduino, do sensor e de um mecanismo de trava a ser acionado pelo Arduino.

      Excluir
  4. ola se eu quiser abrir uma porta com o leitor biométrico que reconhece só a minha digital ou de quem escolher usando o Arduíno ?

    ResponderExcluir
  5. Já que é possível abrir uma porta como eu poderia fazer isso Mauro? Você poderia me ajudar?

    ResponderExcluir
    Respostas
    1. Para abrir uma porta vc teria que ter uma fechadura acionada eletricamente (em casa de material de construção ou de material elétrico vc acha). Aí tem que construir um circuito de potência que comande essa fechadura, sendo que o circuito depende do tipo de fechadura.

      Excluir
  6. vc venderia este kit pronto ? Obrigado

    talesgc@gmail.com

    ResponderExcluir
    Respostas
    1. Vendo sim, só preciso de detalhes da sua necessidade para passar um orçamento.

      Excluir
  7. Olá, estou trabalhando em um projeto com esse leitor e arduíno. Já fiz algumas coisas, mas não tô conseguindo limpar a memória do sensor, porque já cadastrei algumas digitais, mas queria apagar tudo. Se vc puder me ajudar, ficarei muito grata.

    ResponderExcluir
    Respostas
    1. Stéphanie, eu tb vou iniciar os trabalhos com este sensor. Qual a sua idéia inicial?

      Excluir
  8. Já encontrei a solução em na própria biblioteca, rsrsr...foi mal...:-D

    ResponderExcluir
    Respostas
    1. Stéphanie, só agora vi a sua primeira mensagem. Foi bom assim, aí não tirei a sua glória de descobrir sozinha! :)
      Fique com o crédito então.

      Excluir
    2. Obrigada!! Porém, agora tenho outro problema que gostaria de saber se vc pode me ajudar. O seguinte é esse: Eu ja consigo cadastrar digitais(inclusive digitando números), reconhecer, zerar a memória, e etc, em apenas um código que juntei, mas estou querendo fazer os cadastros de forma automática a para isso preciso do último enderenço que foi armazenado digitais. Não estou conseguindo obter esse enderenço. Já testei todas as funções da biblioteca e todas me retornam zero. Infelizmente não estou sabendo o que fazer ainda. Espero que possa me ajudar!

      Excluir
    3. Boa noite estou com o mesmo projeto e nao consigo incluir a parte de excluir ID quando tento da erro pode me mandar a parte que voce escreveu na biblioteca...
      Grato walter

      Excluir
    4. Eu não fiz a parte de exclusão, na realidade só fiz uma pequena brincadeira com o sensor. Não tenho um deles, era emprestado.

      Excluir
  9. gostaria de saber qual a media d quantidade de impressões que o sensor suporta armazenar, desde já agradeço.

    ResponderExcluir
    Respostas
    1. Oziel, 162, conforme li aqui: http://www.adafruit.com/products/751

      Excluir
  10. Boa tarde, pretendo criar uma fechadura com acionamento biométrico e em seguida produzir um artigo sobre o assunto, mas para isso preciso muito de sua ajuda, eu não possuo cartão de crédito internacional, gostaria que me fizesse um orçamento deste kit, também vou precisar de um servo motor mas isso depois eu consigo, desde já agradeço!!! (raphnitro@hotmail.com)

    ResponderExcluir
    Respostas
    1. Amigo, eu não vendo equipamentos. Tenho uma amigo que vende, euclas@gmail.com, pode ser que ele consiga para vc.

      [] e obrigado por passar por aqui. Qquer coisa que precisar m em termos de de automação (que não for venda de equipamento, rere), é só dizer.

      Excluir
  11. Olá Mauro, eu vou iniciar os trabalhos com este mesmo sensor. Gostaria de saber quais outras opções voce já realizou com este sensor. Obrigado!

    ResponderExcluir
    Respostas
    1. Eu fiz o básico, cadastrar impressões e validá-las. O que vc tem em mente?

      Excluir
  12. como é o nome do leitor biometrico?

    ResponderExcluir
  13. ei mauro vou iniciar um trbalho de tcc e gostaria de saber como fazer para abrir um portão com o arduino e o leitor biométrico?

    ResponderExcluir
    Respostas
    1. Bom, primeiras perguntas: que tipo de portão? Como ele é aberto/fechado hoje?

      Excluir
  14. Olá, Vc disse que pode vender o kit pronto
    favor entre em contato pelo mateusrossini@yahoo.com.br
    para conversa-mos melhor

    ResponderExcluir
  15. Ola amigo estou desenvolvendo um projeto de controle de acesso biometrico no arduino,ja consegui fazer o programa em C ,para ler impressao ja cadastrada,para cadastrar,... `e ai que ta o problema, usei como exemplo uma biblioteca de teste e ela so da a opcao de cadastrar ate 4 usuarios,nao tem a opcao de deletar e nem incluir usuario master, gostaria de saber se pode me ajudar:
    O leitor biometrico `e um GT-511C3 Fingerprint Scanner

    ResponderExcluir
    Respostas
    1. Walter, vc usou essa lib? https://github.com/sparkfun/Fingerprint_Scanner-TTL/tree/master/FPS_GT511C3

      Eu dei uma olhada no código fonte e lá tem opções de deleção.

      Excluir
    2. Ola amigo grato pela sua atencao mas poderia me mandar um exemplo para incluir na biblioteca pois so da erro quando tento incluir

      Excluir
  16. Ola,
    Já usei o GT511C3 em um projeto junto com o arduino UNO e funcionou perfeitamente.
    Porém não consigo utilizar a biblioteca FPS_GT511C3 no Arduino DUE pelo motivo do SoftwareSerial.h.
    É possível usar as portas serias do Hardware ao invés do SoftwareSerial?
    Como mudar as bibliotecas?

    Desde já agradeço.
    Obrigado.

    ResponderExcluir
    Respostas
    1. Olha, eu não manjo de Arduino Due, nunca tive um em mãos. Uma coisa que eu sei é que ele opera a 3.3V, o que pode ser uma limitação na conexão com o leitor.

      Excluir
  17. mauro iremos fazer um portao usando o leitor biometrico e arduino, lcd queremos uma ajuda sua como obter o codigo fonte (maykon vicente) aqui.

    ResponderExcluir
    Respostas
    1. Wellington, no post acima tem um link para a lib que usei. Lá tem exemplos, e eu usei um desses para testar.

      Excluir
  18. Bom dia Mauro, estou tentando fazer um projeto tipo esse mas no meu caso o banco de dados serve pra acumular pontos das pessoas q usarem o leitor biométrico... Muitas dúvidas sobre o assunto já q não domino essa parte de banco de dados no arduino... O trabalho foi publicado? Queria ver a parte teória...help me *--*

    ResponderExcluir
    Respostas
    1. Júh,

      O trabalho foi publicado, é esse aí de cima... ;)
      Se vc se refere aos fontes que utilizei, eles estão num link no texto, que reproduzo aqui:https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

      Para vc armazenar dados no Arduino existem algumas maneiras. Ele tem uma memória não volátil (que não apaga qdo desliga-se o Arduino), mas ela é muito pequena, não deve dar para vc fazer o que quer.

      Uma outra opção é gravar num cartão SD. Existem extensões para conectar ao Arduino e ler/gravar dados nos cartões, que podem então ter gigas de tamanho.

      Uma terceira é manter um PC ligado ao Arduino, que enviaria os dados para ele via USB. Nesse caso o banco ficaria no PC. A conexão poderia ser feita de outras formas, via cabo de rede (RJ45) ou via WiFi.


      Excluir
  19. Boa Tarde Mauro, então gostaria de saber se com esse leitor biometrico, eu consigo conectá-lo em um pic e desenvolver um código, ou ele só funciona com o arduíno?
    Tenho uma idéia de um projeto de reconhecimento de digitais atraves de um banco de dados, para um acionamento.

    ResponderExcluir
    Respostas
    1. Ele vai funcionar bem também com PIC, sen dúvida.
      Porque vc quer usar PIC em vez do Arduino em seu projeto?

      Excluir
    2. Cara me manda um email, para allanandroidsp@gmail.com, ae te passo as informações sobre o meu projeto, e agente mantém o contato.

      Excluir
  20. Olá Mauro, o meu nome é Fernando. Gostei do seu projeto, vou usar algo parecido em meu tcc de engenharia. Gostaria de tirar algumas dúvidas: pelo que você comentou, com o código certo é possível que eu grave no leitor a digital a ser considerada no processo de identificação. Quantas identificações ele armazena? (Sem que eu precise usar outra memória). Você teria um link de fornecedor do leitor, datasheet? Muito obrigado.

    ResponderExcluir
    Respostas
    1. Fernando, aí entre as perguntas acima eu já respondi quantas identificações ele consegue armazenar.
      E no primeiro parágrafo do post tem um link para as bibliotecas do sensor, onde tem o nome dele. Com isso vc deve achar datasheet, e no link tem exemplos.

      [] e boa sorte com seu tcc,

      Mauro Assis

      Excluir
  21. Boa tarde Mauro!

    Sou estudante de Sistemas de Informação, e pretendo desenvolver algo para controle de ponto de funcionários. Seria possível fazer isto a partir do Arduino e este leitor?

    ResponderExcluir
    Respostas
    1. Sim, seria.
      Você só teria que bolar como guarda o banco de dados dos funcionários. Pode ser num PC ligado ao Arduino+sensor, pode ser num cartão SD ligado ao Arduino etc.

      Excluir
    2. Ah sim! E Mauro, para adquirir este sensor.. o que devo fazer?

      Excluir
  22. Mauro boa tarde man sou estudante de SI porem to fazendo um projeto de ponto biométrico sou novo em arduino dai tipo to com as bibliotecas aqui tudo certinho rodando porem como eu guardo essas leituras em um banco por exemplo e tipo como eu falo para quele busque do banco de dados essas leituras ou ate mesmo tem como eu fazer ele ir para um Array ??

    Tipo eu coloco o nome da pessoa + a digital ele guarda num array dai quando for pesquisar ele pesquisa nesse array e me confirma preciso disso :'( sendo que se eu conseguir manda para o banco de dados é bem melhor :D

    Tenho um Arduino UNO+o Leitor biometrico Fingerprint (igual ao da foto)

    ResponderExcluir
  23. Mals pelo nome ai mas meu Nome é Edson Lima é pq usei o Blog de minha mãe ^^

    ResponderExcluir
  24. Você conhece alguma loja aqui no Brasil onde eu possa comprar?

    ResponderExcluir
  25. Olá gostaria de saber se esse sistema necessita de um computador continuamente, ou só para configuralo? pois tenho ideia de utilizar ele em um projeto, e quantos digitais podem ser gravadas?

    ResponderExcluir
    Respostas
    1. Não, não precisa. Tem que montar um esquema legal para cadastrar um funcionário novo, vc pode colocar um ou dois botões e um display LCD.

      Não me lembro, umas 200 acho.

      Eu uso na minha empresa já tem uns 3 anos e funciona muito bem.

      Excluir
  26. E como faço pra acessar essa biblioteca?
    Boa tarde amigooo!!

    ResponderExcluir
  27. Olá alguém poderia mi ajudar pois quando vou fazer o upload do programa no arduino 1.5.1 da este erro

    show_fingerprint_templates:23: error: 'Adafruit_Fingerprint' does not name a type
    show_fingerprint_templates.ino: In function 'void setup()':
    show_fingerprint_templates:31: error: 'finger' was not declared in this scope
    show_fingerprint_templates.ino: In function 'uint8_t uploadFingerpintTemplate(uint16_t)':
    show_fingerprint_templates:53: error: 'finger' was not declared in this scope
    show_fingerprint_templates:55: error: 'FINGERPRINT_OK' was not declared in this scope
    show_fingerprint_templates:58: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope
    show_fingerprint_templates:70: error: 'FINGERPRINT_OK' was not declared in this scope

    ResponderExcluir
    Respostas
    1. mauricio,

      Tem que instalar a biblioteca da Adafruit. No texto tem o link.

      Excluir
  28. Boa noite Mauro! Tava procurando algo sobre leitor biométrico e arduino e acabei entrando aqui no seu blog. Primeiramente parabéns pelo projeto. Segundo, gostaria de saber se esse leitor pode ser usado para criar um ponto eletrônico, onde funcionários irão bater o ponto e um programa vai verificar e armazenar em um arquivo de Log os horários que cada funcionário bateu o ponto. Tava pensando em fazer isso usando um Shield Ethernet e fazer um serviço na nuvem para gerência das informações. O que pode me dizer a respeito dessa ideia. Agradeço desde já!

    ResponderExcluir
    Respostas
    1. Viável é, só não sei se é legal, quer dizer, não sei se o governo exige algum tipo de homologação para valer como ponto eletrônico.

      Excluir
  29. Olá Mauro! Tenho interesse em fazer um armário guarda-volumes com 8 portas de uso rotativo, controladas por biometria. Seria um cadastro novo a cada momento, liberando a primeira porta disponível e abrindo somente com a biometria cadastrada. Após o uso, com a retirada do volume, limpa essa memória temporária da biometria e libera o armário para novo uso. Conseguiria desenvolver essa solução? Se sim, favor entrar em contato: 62 8231-0333 (tim / whatsapp) Grato.

    ResponderExcluir
  30. Boa tarde!
    Preciso de ajuda, estou no Nono Semestre de Engenharia Elétrica, portanto eu e meu grupo estamos elaborando nosso TCC. Escolhemos criar um controlador de Acesso utilizando como interface de comunicação e possibilidade de criar logicas, o Arduíno. Durante as pesquisas encontramos o tutorial aqui do Garagem que era exatamente oque queríamos, um controlador de acesso por Biometria que pudesse ser projetado utilizando o Arduíno. Como já possuíamos o Arduíno compramos apenas o Scanner, Agora não consigo fazer Funcional.
    Fiz a montagem creio que corretamente, estou utilizando a Sketc deste tutorial, já fiz as alterações das entradas e saídas e add a biblioteca do Scanner no Arduíno, porem nada, nem o Scanner acende a luz azul e não indica informação alguma no LCD.
    Gostaria de saber se alguém já utilizou esta Scanner com Arduíno Mega, ou teve esta mesma dificuldade que talvez tenha encontrado a solução e possa me ajudar?

    ResponderExcluir
  31. Muito bom.
    o cadastro das digiais e autoincrement, ou seja e gerado id automaticamente

    ResponderExcluir
  32. Bom dia, sou nova no ramo e queria saber o que é necessário para fazer o leitor funcionar. Creio que a instalação esteja correta, mas não dá sinal de vida, tem que adicionar algo ou o módulo está realmente queimado?

    ResponderExcluir
  33. Bom dia , queria muito saber . Sei que esse leitor biometrica trabalho com no máximo 162 digitais , mas preciso que ele trabalhe com 500 digitais com o computador ligado . Como faço pra usar só o banco do meu software? Me ajude porfavor.o radionovela seria somente uma ponto.

    ResponderExcluir
    Respostas
    1. Luiz, infelizmente não posso te ajudar, em todos os projetos que fiz 150 impressões foram mais que suficientes.

      Excluir
    2. Luiz, infelizmente não posso te ajudar, em todos os projetos que fiz 150 impressões foram mais que suficientes.

      Excluir
  34. Mauro por favor entre em contato comigo, estou fazendo meu tcc e preciso de umas dicas, qualquer coisa negociaremos preços.
    murilo.barco@hotmail.com

    ResponderExcluir
  35. oi, eu estou começando com a leitura biométrica e queria poder pesquisar a biometria em um banco de dados sql, seria possível???

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte III

Dividindo um programa (sketch) do Arduino em mais de um arquivo

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I