
Um sistema avançado de controle de acesso implementado em FPGA, com múltiplos recursos de segurança e configuração personalizável através de um teclado matricial.
- Recursos Principais
- Arquitetura do Sistema
- Estrutura de Arquivos
- Dependências e Ferramentas
- Instalação e Execução
- Como Utilizar
- Documentação Técnica
- Como Contribuir
- Autores
- Licença
🔑 Acesso Multi-PIN: Suporte para até 4 PINs de usuário, além de um PIN mestre.
⚙️ Modo de Configuração: PIN mestre permite personalizar todas as funções do sistema.
⏱ Temporizadores: Travamento automático e alerta de porta aberta configuráveis.
🚨 Sistema Anti-intrusão: Bloqueio progressivo do teclado após tentativas de acesso inválidas.
🔄 Reset de Fábrica: Restauração segura das configurações originais de fábrica.
O projeto é modular, centrado em uma máquina de estados principal que gerencia os modos de operação e configuração.
- Entradas:
- Teclado matricial 4x4 para entrada de senhas e comandos.
- Sensor de porta para detectar se a porta está aberta ou fechada.
- Botão de reset para restauração do sistema.
- Saídas:
- Display de 7 segmentos com 6 dígitos para feedback visual.
- LEDs de status (travado, destravado, erro).
- Buzzer para alertas sonoros.
A estrutura do projeto está organizada da seguinte forma:
/
├── docs/ # Documentação, diagramas e vídeos
├── modules/ # Módulos SystemVerilog reutilizáveis
│ ├── main/ # Módulos principais da máquina de estados
│ └── utils/ # Módulos de suporte e drivers
├── project/ # Projetos do Quartus para cada módulo e para o sistema completo
└── README.md # Este arquivo
- Clone o repositório:
git clone https://github.com/marcovins/fpga-doorlock-system.git
- Abra o projeto no Quartus:
- Navegue até a pasta
project/fechaduratop/
. - Abra o arquivo de projeto
fechaduratop.qpf
.
- Navegue até a pasta
- Compile o projeto:
- Inicie a compilação (Processing > Start Compilation).
- Grave na FPGA:
- Conecte a placa DE1-SoC ao computador.
- Use o programador (Tools > Programmer) para carregar o arquivo
.sof
gerado emproject/fechaduratop/output_files/
.
🔓 Modo de Operação Normal
- Inserir PIN: Digite um código de 4 dígitos.
- Confirmar: Pressione
*
para validar. - Acesso Concedido: O LED verde acende e a porta é destravada pelo tempo configurado.
- Acesso Negado: O LED vermelho pisca e o buzzer soa.
🛡️ Proteção Automática
- Após 3 tentativas de senha incorretas, o sistema é bloqueado temporariamente.
- O tempo de bloqueio aumenta a cada nova falha (10s, 20s, 30s).
⚙️ Modo de Configuração (Acesso com PIN Mestre)
- Entre no modo de configuração inserindo o PIN Mestre e pressionando
*
. - Use o teclado para navegar pelas opções do menu:
- 1: Ligar/Desligar o buzzer.
- 2: Configurar tempo do alerta de porta aberta (5-60s).
- 3: Ajustar tempo de autotravamento (5-60s).
- 4: Gerenciar PINs de usuário (adicionar, remover, alterar).
- Pressione
#
para cancelar ou voltar ao menu anterior.
🔄 Reset de Fábrica
- Mantenha o botão de reset pressionado por 5 segundos.
- Os displays piscarão e um som será emitido, indicando que as configurações padrão foram restauradas.
Assista ao vídeo de demonstração do sistema em funcionamento:
Demonstração da Fechadura EletrônicaArquivo | Descrição |
---|---|
📄 Projeto - PSD - Fechadura Eletrônica.pdf | Especificação funcional completa do sistema. |
📄 diagrama operacional.pdf | Fluxograma do modo de operação normal. |
📄 diagrama setup.pdf | Fluxograma do modo de configuração. |
Contribuições são bem-vindas! Se você tem ideias para melhorias ou encontrou algum problema, sinta-se à vontade para abrir uma Issue ou enviar um Pull Request.
![]() Marcos Belo |
![]() Jefferson Amorim |
|
|
Este projeto está distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.