Este projeto consiste no desenvolvimento de um protótipo de sistema embarcado de controle de acesso a ambientes, capaz de autenticar usuários via reconhecimento facial, biometria (impressão digital) e senha numérica. A arquitetura do hardware é centrada no microcontrolador ESP32-WROOM-32U, responsável pelo gerenciamento de periféricos (teclado, display OLED, relé e leitor biométrico) e pelo armazenamento de logs de acesso em cartão SD. O reconhecimento facial é processado externamente por um módulo inteligente (Single Board Computer/TV Box com Linux Armbian), que executa algoritmos de visão computacional em Python e comunica-se com o controlador principal via interface Serial (UART). Vídeo do protótipo final: https://www.youtube.com/watch?v=7OTgbEgAXRU&list=PLtn4Sv8Hu2Zzf-eZot-XWZFwP5ZhO-jWc.
(Veja o código do Módulo de Reconhecimento Facial aqui
O sistema foi desenvolvido como Trabalho de Conclusão de Curso (TCC) em Engenharia de Controle e Automação no CEFET-MG (Campus Leopoldina), sob a orientação do Prof. Matusalém Martins Lanes.
(Protótipo final)Autora: Fernanda Souza Coimbra Machado
Orientador: Prof. Matusalém Martins Lanes
- Autenticação:
- Identificador + Senha: Via teclado matricial 4x4.
- Biometria: Leitura de impressão digital (Sensor DY50).
- Reconhecimento Facial: Integração com módulo externo (TV Box ) via comandos seriais.
- Gestão de Usuários:
- Cadastro de novos usuários (com captura de biometria e face).
- Exclusão de usuários.
- Níveis de acesso: Usuário Comum (apenas acesso) e Usuário Master (acesso + gestão).
- Armazenamento e Logs:
- Dados salvos na memória Flash do ESP32 (SPIFFS).
- Backup automático e registros de logs de acesso (data/hora) em Cartão SD.
- Interface: Feedback visual via Display OLED e mensagens de status.
- Hardware:
- Escolha dos componentes do sistema.
- Construção da Placa de Circuito Impresso (PCI)
- Software:
- Definição das funcionalidades do sistema.
- Contrução dos fluxogramas dos possíveis estados do sistema.
- Definição das tecnologias utilizadas.
- Testes de bancada
O projeto da Placa de Circuito Impresso (PCI) integra os seguintes componentes:
- Microcontrolador: ESP32-WROOM-32U.
- Entrada:
- Teclado Matricial 4x4 com expansor I2C (PCF8574).
- Leitor Biométrico DY50 (AS611).
- Saída/Atuadores:
- Display OLED 2.42" (Driver SSD1309).
- Relé para acionamento da Fechadura Elétrica.
- Armazenamento: Módulo Cartão SD (Interface SPI).
- Alimentação: Fonte 12V.
Desenvolvido em C++ utilizando o PlatformIO (VS Code) e framework Arduino. Principais bibliotecas:
FS.heSPIFFS.h(Sistema de arquivos).Adafruit Fingerprint Sensor Library(Biometria).Wire.h(Comunicação I2C).Wifi.h- Bibliotecas próprias para modularização:
Biometria.h,Display.h,Teclado.h, entre outras.
O ESP32 atua como mestre, controlando o fluxo de autenticação.
- Fluxograma Geral do Sistema
/src: Código fonte principal (main.cpp)./lib: Bibliotecas auxiliares desenvolvidas para o projeto./include: Cabeçalhos.platformio.ini: Configurações do ambiente de compilação.
O protótipo atingiu os objetivos propostos, integrando com sucesso três métodos de autenticação: reconhecimento facial, biometria (impressão digital) e senha numérica. A arquitetura de hardware, centrada no ESP32 e na comunicação serial com a TV Box, mostrou-se adequada para gerenciar os periféricos e o armazenamento de dados. No entanto, foram identificadas limitações importantes a serem melhoradas em trabalhos futuros:
- Reconhecimento Facial: O sistema reconheceu um usuário cadastrado, através de uma foto, e destrancou a porta. O sistema apresentou um tempo elevado para a autenticação por reconhecimento facial (cerca de 12 segundos) devido às limitações de processamento da TV Box.
- Biometria: Embora mais rápida, demonstrou dificuldade de leitura dependendo do posicionamento ou umidade do dedo
(Veja o código do Módulo de Reconhecimento Facial aqui










