Agora você também pode usar um PIC16F628a para fazer um controle de acesso RFID!
Esta montagem também é baseada no sketch “AcessControl” do Arduino. O código foi adaptado para funcionar em um microcontrolador sem hardware SPI, como o nosso conhecido PIC16F628a.
Veja o esquema abaixo com as ligações dos componentes:
BREVE DESCRIÇÃO DO CIRCUITO:
O módulo RFID-RC522 realiza toda a operação de comunicação por rádio frequência (13,56 Mhz) com as tags RFID. Uma tag RFID é uma etiqueta eletrônica que pode estar dentro de cartões, chaveiros ou adesivos. O microcontrolador acessa as informações do módulo RFID-RC522 usando o protocolo SPI (Serial Peripheral Interface). Necessita de 5 pinos para funcionar neste protocolo: RESET, MOSI, MISO, SLK E SDA(SS).
Como o PIC16F628A não dispõe de hardware interno com função SPI, nos implementamos por software (bit banging).
No esquema vemos também 2 botões (interruptores): Um para ‘resetar’ o microcontrolador e outro para ‘deletar’. Na operação de ‘deletar’, temos duas formas: Durante o setup e durante o modo normal de funcionamento.
No primeiro modo (setup) serve para apagar todas as tags salvas na EEprom do microcontrolador, incluindo a tag mestre. No segundo modo (deletar em modo normal) serve para apagar somente a tag mestre.
Temos um pino dedicado somente a chavear um transistor cujo coletor está ligado a um relé. Este relé ira ligar e desligar em seus contatos, uma trava elétrica. Esta trava permitirá ou bloqueará o acesso a um determinado ambiente. O modelo da trava deve ser escolhida pelo usuário conforme disponível em sua região. Também deverá providenciar a alimentação correta para ela (níveis de tensão da trava como por ex. 12v ou 110v) conforme sugerido pelo seu fabricante.
Com respeito aos 3 leds, estes sinalizam várias situações para o usuário:
Led azul – indica modo de uso normal (ligado direto) e modo de programação (piscando)
Led vermelho – indica aceso negado (em modo normal) ou cartão deletado (em modo de programação) e acende por 1 segundo.
Led verde – indica acesso permitido (em modo normal) ou cartão gravado na eeprom (em modo de programação) e acende por 1 segundo.
A alimentação do circuito poderá ser feita por uma fonte de 9 volts (DC). A tensão para o módulo RFID-RC522 foi obtida a partir da tensão de 5 volts, simplesmente usando 2 diodos em série. Poderá optar por um chip regulador de tensão de 3v3, se desejar.
COMO USAR ESTA MONTAGEM:
Poderá ser instalado em locais que necessite o acesso somente de pessoas autorizadas. O circuito poderá ser usado como uma simples fechadura eletrônica, no lar ou local de serviço. Após montar o circuito confira todas as ligações. Verifique se existe algum erro na ligação dos componentes. A seguir, baixe a pasta zipada contendo os arquivos desta montagem, no final deste artigo. Grave o arquivo nomeado de ‘AcessRfid_PIC16F628A.hex’ no PIC16F628A. Utilize um gravador de PICs como PicKit2 ou 3. Poderá usar o programador caseiro chamado de ‘Simples Programador PIC‘ postado neste blog para realizar esta programação. Ele funciona em conjunto com o aplicativo WinPic800. Após o PIC16F628A ter sido gravado e instalado no circuito, alimente o circuito com a tensão de 5 volts.
Siga agora os seguintes passos para usar a montagem:
Com o led azul piscando, escolha uma tag (cartão ou chaveiro RFID). Passe a tag bem próxima do módulo RFID-RC522. Ao ser gravada, veremos o led azul parar de piscar e ficar aceso continuamente. Esta primeira tag que foi gravada será a ‘tag mestre’.
Ela será usada para gravar ou deletar outras tags secundárias.
Após gravar a tag mestre, grave as outras tags seguindo os passos abaixo:
1) Passe a tag mestre no modulo RFID-RC522. Começará a piscar o led azul. Isto indica que está em ‘modo de programação’.
2) Passe uma tag que deseja gravar. O led verde indicará acendendo por 1 segundo. Caso ela esteja gravada na EEprom, então será deletada. Neste caso, o led vermelho acenderá por 1 segundo, para indicar que foi removida.
4) Prossiga gravando desta forma as outras tags.
5) Ao termino da gravação destas tags secundárias, passe a tag mestre para finalizar e sair do modo de programação. O led azul então irá parar de piscar e ficará aceso direto (entrou em modo normal).
Para remover o acesso de uma tag siga o abaixo:
1) Passe a tag mestre. Led azul piscando.
2) Passe a tag a ser removida. Deverá acender o led vermelho por 1 segundo.
3) Passe a tag mestre. Led azul acende continuamente.
4) Confira passando a tag removida. Deverá acender o led vermelho por 1 segundo (‘acesso negado’).
Remover todas as tags da EEprom, incluindo a tag mestre:
1) Aperte ambos os botões (‘reset’ e ‘delete’)
2) Solte apenas o botão ‘reset’ e mantenha o botão ‘delete’ apertado. Aguarde até o led vermelho começar a piscar. Solte o botão. E seguida, irá começar a piscar o led azul (sucesso no apagamento).
Cada pessoa autorizada ao acesso do ambiente deverá receber uma tag (um cartão ou um chaveirinho) previamente gravada pelo administrador do sistema de acesso.
Para se ter acesso ao ambiente, basta a pessoa passar sua tag (cartão ou chaveirinho) no módulo RFID-RC522 e terá a liberação da trava da porta. Qualquer tag não cadastrada não liberará acesso e isto será indicado pelo acendimento do led vermelho por 1 segundo (‘acesso negado’).
Neste nosso caso, como a EEprom do PIC16F628A tem apenas 128 bytes, teremos a possibilidade de gravar 30 tags secundárias e uma tag mestre.
Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Protoboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.
Abaixo temos uma pasta zipada para download, com os arquivos desta montagem:
Acess_Rfid_Pic16F628A
Manuais:
PIC16F628A datasheet
tags Mifare datasheet
chip MFRC522 datasheet
WinPic800 Programador para PIC
Curiosidades:
A capacidade de cicatrização do corpo humano
A capacidade de armazenamento do DNA
O bigode do gato
Micro-organismos que comem petróleo
A asa da coruja
A Vida — Teve um Criador?
Outros assuntos:
Será que a Bíblia pode me ajudar se estou tendo pensamentos suicidas?
Por que as pessoas morrem?
Por que a paz mundial parece apenas um sonho?
O que a Bíblia diz sobre a páscoa?
O que a Bíblia diz sobre a Páscoa judaica?
Vídeos:
Como surgiu o universo?
A criação revela o amor de Jeová!
“Eu estava cavando minha própria cova”
Três perguntas mudaram a minha vida
‘Comecei a pensar no rumo que minha vida estava tomando’
Até o próximo artigo!
oi claudio tudo bem
Realizei a montagem em protoboard e funcionou conforme o descrito, vc poderia me informar qual versão do mplab esta usando eu tentei compilar pela versão 3.65 mas esta tando erro, muito obrigado.
CCS C Compiler v3.200. Para usar MPLABX terá que adequar o programa, pois o CCS algumas sintaxes diferentes.