Leitor biométrico com Arduino (AS606 e similares)

O wiring é estranho, mas esse dispositivo armazena até 1.000 digitais, o que não é nada mal para um dispositivo de baixo custo. Mas se estiver utilizando outro modelo, o requisito mínimo para que o artigo lhe sirva é saber quais os fio VCC, GND, TX e RX. Vejamos agora como configurar um leitor biométrico com Arduino, no primeiro artigo dessa série.

Aplicações do leitor biométrico com Arduino

O mais comum é utilizar o leitor biométrico em portarias, mas pode ser utilizado para outros fins, como desbloqueio de tela no Linux, utilizando recursos da libpam. Já fiz algo parecido com o Google Authenticator como você pode ver nesse artigo.

Também podemos fazer um tipo de cofre que abre apenas por autenticação biométrica (ou 2FA), o que seria bastante válido para guardar armas, documentos importantes e celulares sem um sistema de bloqueio confiável para que sua esposa/namorada não o acesse.

Em um próximo artigo relacionado devo fazer algo com autenticação, mas também pretendo criar um case com display para comportar um Arduino, ESP8266 ou ESP32 e fonte. Dá quase um produto, hum?

Nesse artigo veremos um código modificado utilizando a biblioteca da Adafruit para utilizar com esse leitor biométrico.

Wiring do leitor biométrico AS606

Baseie-se na imagem abaixo, ainda que os fios que acompanharem seu leitor biométrico sejam de cores diferentes. Mas lembre-se; esse wiring é do AS606, outros modelos variam.

O vermelho é GND, o verde vai no 5V, o amarelo vai no pino 8 e o preto vai no pino 9.

Onde comprar o leitor biométrico AS606?

Esse leitor está disponível na Saravati, com link direto para o produto aqui. Recomendo a compra, a loja é parceira já há algum tempo e os produtos sempre são de qualidade.

Código para o leitor biométrico AS606

Antes, não se esqueça de baixar a biblioteca da Adafruit. Basta ir ao gerenciador de bibliotecas na IDE do Arduino e pesquisar por fingerprint. Aparecerão ao menos 3 bibliotecas, mas a que comprovadamente funcionará para esse leitor é o da Adafruit. Mas não usei os códigos de exemplo, eles não funcionarão.

Código para cadastro

Coloquei um sketch de exemplo no repositório git do blog. Para esse artigo especificamente, o link é esse.

Se quiser dar uma vasculhada nos repositórios do blog, clique aqui.

No exemplo, utilizei o Arduino Leonardo, mas não usei hardware serial, de modo que o código deve servir para qualquer um, apenas modificando os pinos declarados na linha 10:


SoftwareSerial mySerial(8,9);

Repare que a velocidade na serial com o dispositivo é 57600. Do lado do Arduino com o computador, fica a seu critério.

O registro da impressão digital não foi muito simples, tive que fazer diversas vezes até perceber que no registro era bom manter o dedo firmemente posicionado para fazer a validação. Daí cadastrei 3 dedos para confirmar e, realmente, o cadastro depende desse bom posicionamento do dedo na entrada e reentrada.

Leitor biométrico com Arduino

Código para leitura

Para ler é mais suave. Abra o sketch de exemplo Adafruit_FingerPrint > FingerPrint e grave-o no Arduino, lembrando de ajustar os pinos utilizados no software serial previamente.

Leitor biométrico com Arduino

Próximo artigo relacionado

Esse artigo foi só para fazer a configuração, assim focamos nos projetos com esse leitor biométrico invés de misturar os assuntos. No próximo artigo relacionado pretendo fazer autenticação em 2 fatores, ou talvez 3, além de agregar os códigos para termos todos os recursos em um mesmo sketch.

Também pretendo fazer o (já citado) case para comportar um sistema completo, inclusive uma placa com relé e talvez até rádio LoRa para avançarmos um pouco nas ideias.

É só acompanhar!

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.