Índice:

Fechadura da porta Arduino RFID: 5 etapas (com imagens)
Fechadura da porta Arduino RFID: 5 etapas (com imagens)

Vídeo: Fechadura da porta Arduino RFID: 5 etapas (com imagens)

Vídeo: Fechadura da porta Arduino RFID: 5 etapas (com imagens)
Vídeo: Como abrir sua porta com o cartão do ônibus #ManualMaker Aula 8, Vídeo 2 2024, Julho
Anonim
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta
Arduino RFID fechadura de porta

*** Atualizado em 2010-08-09 *** Eu queria fazer uma maneira fácil e segura de entrar na minha garagem. RFID foi a melhor maneira de destrancar minha porta, mesmo com minhas mãos ocupadas posso destrancar a porta e abri-la! Construí um circuito simples com um chip arduino ATMega 168 básico e um leitor RFID ID-20 para controlar uma fechadura eletrônica. O circuito consiste em 3 partes separadas, um Leitor para ler as etiquetas RFID, um Controlador para aceitar os dados do leitor e controlar a saída do LED RGB e a fechadura elétrica da porta. A fechadura da porta é primeiro instalada em uma porta e testada com uma bateria de 9 V para garantir a instalação correta. Na maioria dos casos, você deseja um circuito normalmente aberto na fechadura da porta ou Fail Secure. Isso significa que a porta permanece trancada quando nenhuma corrente passa por ela. Quando 12vDC é passado através do eletroímã na fechadura da porta, uma placa na fechadura cede e permite que a porta seja aberta livremente. O leitor é colocado do lado de fora da porta e separado do controlador por dentro para que ninguém possa burlar a segurança abrindo o leitor e tentando curto-circuitar o leitor. O controlador recebe dados seriais do Reader e controla o led RGB e a fechadura da porta. Neste caso, coloquei ambos em placas de pão separadas para teste. Aqui está uma visão geral em vídeo do sistema em ação Leia mais para ver como construir um para você! ** Atualização ** Todos os códigos, esquemas e designs de PCBs foram testados e refinados. Eles estão todos postados aqui em 2010-08-09 Vídeo atualizado do sistema final instalado e funcionando.

Etapa 1: peças necessárias

Peças necessárias
Peças necessárias

Aqui está uma lista de peças e links para SparkFun.com, onde os comprei. Este é o conjunto básico de peças que você precisa para construir um arduino e um circuito para ler tags RFID no arduino. Presumo que você já tenha uma placa de ensaio, fonte de alimentação e fios de conexão.

Arduino Stuff

ATmega168 com Arduino Bootloader $ 4,95

Cristal 16MHz $ 1,50

Capacitor de cerâmica 22pF $ 0,25 (x2)

Resistor 10k Ohm 1/6 Watt PTH $ 0,25

Mini interruptor de botão $ 0,35

Saída tripla LED RGB - Difuso $ 1,95

Coisas RFID

Qualquer um destes, 20 tem melhor alcance, 12 é menorRFID Reader ID-12 $ 29,95RFID Reader ID-20 $ 34,95

Leitor RFID Breakout $ 0,95

Cabeçalhos Break Away - Straight $ 2,50

Etiqueta RFID - 125kHz $ 1,95

De outros

Transistor TIP31A (barraca de rádio / loja de eletrônicos local $ 1,50)

A fechadura da porta é do ebay. Falha na porta Controle de acesso seguro Electric Strike v5 NO $ 17,50 (kawamall, bay)

Etapa 2: construir o controlador Arduino

Construir o controlador Arduino
Construir o controlador Arduino
Construir o controlador Arduino
Construir o controlador Arduino
Construir o controlador Arduino
Construir o controlador Arduino

A primeira etapa para construir uma fechadura RFID com um Arduino básico é criar um arduino básico funcional. A maioria dos chips ATMega 168 com pré-flash do Arduino vêm com o programa blink padrão pré-instalado. Conecte um LED à saída digital 13 e verifique se tudo está funcionando.

A parte do hardware deste leitor RFID seria muito simples se usássemos um arduino comum com programador USB integrado. Já que pretendo colocá-lo na parede e não tocá-lo novamente, não quero usar uma placa arduino grande e volumosa de $ 30 quando posso comprar um ATMega 168 de $ 5 e fazer um PCB personalizado muito menor.

Como escolhi fazer um circuito Arduino básico sozinho, preciso de um programador USB-> Serial FDIT externo. Incluí esquemas Eagle do controlador com uma fonte de alimentação construída a partir de um regulador de tensão 7805. Nos testes, usei uma fonte de alimentação de placa de pão.

Para colocar um arduino em funcionamento, tudo o que você realmente precisa é o ATMega168 com o software arduino instalado nele, 2 capacitores de 22pF, cristal de 16 MHz, resistor de 10 k ohms, botão de pressão e uma placa de ensaio. A conexão para isso é bem conhecida, mas incluí todo o esquema do circuito.

O arduino irá acionar 4 saídas, 1 cada para LEDs vermelho / verde / azul e 1 para acionar o TIP31A para enviar 12vDC para a fechadura da porta. O arduino recebe dados seriais em sua linha Rx do leitor RFID ID-20.

Etapa 3: construir o leitor RFID

Construir o leitor RFID
Construir o leitor RFID
Construir o Leitor RFID
Construir o Leitor RFID
Construir o Leitor RFID
Construir o Leitor RFID

Agora que seu pão arduino está instalado e funcionando, você pode montar a parte do leitor RFID do circuito que conterá o ID-10 ou ID-20 e o LED RGB para indicar o status do circuito. Lembre-se de que o leitor estará por fora e separado do controlador por dentro, para que alguém não possa entrar com facilidade.

Para construir isso, vamos enviar 5v / Ground over da placa de pão principal para uma placa de pão secundária na qual estamos construindo o Reader. Envie também 3 fios de 3 dos pinos de saída do Arduino para controlar o LED RGB, um para cada cor. Mais um fio, o marrom nas fotos, será uma conexão serial para o ID-20 se comunicar com a entrada serial Rx do arduino. Este é um circuito muito simples de conectar. Os LEDs obtêm resistores e alguns pontos no ID-20 são ligados ao aterramento / 5v para definir o status correto.

Para facilitar o breadboard, o ID-10 / ID-20 Sparkfun vende uma placa Breakout que permite anexar cabeçalhos de pinos mais longos que são espaçados para caber em uma placa do bread. Esta peça e os cabeçalhos de alfinetes e listados na lista de peças.

O esquema deve ser direto e fácil de seguir.

Etapa 4: Programa

É hora de programar seu Arduino. Isso pode ser um pouco complicado usando um arduino básico, você pode ter que pressionar o botão de reset várias vezes antes e durante a primeira parte do upload. Uma coisa muito importante a lembrar, você receberá um erro de upload se não desconectar temporariamente a linha serial ID-20 da linha Rx do arduino. O ATMega168 possui apenas 1 entrada Rx e a utiliza para fazer o upload do código para falar com o programador. Desconecte o ID-20 durante a programação e conecte-o novamente quando terminar. Usei um programador FTDI que permite programar o arduino via USB com apenas 4 fios. O esquema do controlador mostra uma conexão de cabeçalho de pino para permitir que você conecte um diretamente. Sparkfun também vende esta parte, mas muitos podem já tê-la.

Você pode facilmente fazer o upload do meu código para o seu arduino e nunca olhar para trás, mas qual é a graça disso? Deixe-me explicar a ideia básica de como funciona.

Em primeiro lugar, eu não queria nenhum botão / interruptor / etc externo e não queria reprogramar o arduino toda vez que queria adicionar uma nova placa. Portanto, eu queria usar apenas RFID para controlar a operação do circuito, bem como controlar a fechadura da porta.

O programa acende o LED azul para indicar que está pronto para ler um novo cartão. Quando o cartão é lido, ele decide se é um cartão válido ou não, comparando o que foi lido com uma lista de cartões válidos. Se o usuário for válido, o arduino desliga o LED azul e liga o LED verde por 5 segundos. Ele também liga outra saída alta por 5 segundos. Esta saída é conectada ao transistor TIP31A e permite que o minúsculo arduino controle uma fechadura de porta 12v 300mA muito maior sem ser danificado. Após 5 segundos, a fechadura da porta trava novamente e o LED volta a ficar azul para aguardar a leitura de outro cartão. Se o cartão for inválido, o LED muda para VERMELHO por alguns segundos e volta para Azul para aguardar outro cartão.

É importante que a fechadura da porta funcione mesmo que o arduino perca energia durante a noite ou seja reiniciado. Portanto, todos os IDs de cartão válidos são armazenados na memória EEPROM. O ATMega168 possui 512 bytes de memória EEPROM. Cada placa RFID possui um número de série de 5 Hex Byte e uma soma de verificação de 1 Hex Byte que podemos usar para verificar se não houve erros na transmissão entre o ID-20 e o arduino.

Os cartões válidos são armazenados na EEPROM usando o primeiro Byte como contador. Por exemplo, se houver 3 cartões válidos armazenados, o primeiro Byte na EEPROM seria 3. EEPROM.read (0); = 3. Sabendo disso, e do fato de que cada ID tem 5 bytes de comprimento, sabemos que 1-5 é o cartão um, 6-10 é o cartão 2 e 11-15 é o cartão 3. Podemos fazer um loop que olha através da EEPROM 5 bytes por vez e tenta encontrar o cartão que foi lido pelo leitor.

Mas como podemos adicionar novas placas à EEPROM depois que o circuito for instalado ?? Eu li em um dos cartões RFID que possuo e codifiquei para ser o cartão RFID Master. Portanto, mesmo que toda a EEPROM seja apagada, a placa mestre ainda funcionará. Sempre que um cartão é lido, ele verifica primeiro se é o cartão Master, se não, em seguida, continua a ver se é um cartão válido ou não. Se a placa for a placa mestre, fazemos o arduino entrar em um "modo de programação" onde pisca RGB e espera que outra tag válida seja lida. A próxima etiqueta que é lida é adicionada ao próximo ponto livre na EEPROM e o contador é incrementado em 1 se o cartão ainda não existir na memória EEPROM. O leitor então retorna ao modo normal e aguarda a leitura de um novo cartão.

Atualmente, não programei uma maneira de excluir um cartão, pois os motivos para excluí-lo provavelmente seriam ele foi perdido ou roubado. Como isso provavelmente seria usado com 1 a 10 pessoas, a coisa mais fácil a fazer seria programar um cartão Master Erase que apagará todos os cartões da EEPROM e depois adicioná-los novamente, o que leva apenas alguns segundos. Eu adicionei um código para limpar a EEPROM, mas ainda não implementei esse recurso..

O código é anexado a um arquivo de texto junto com uma cópia da lista de peças.

Etapa 5: expandir

Essas são apenas algumas das coisas legais que você pode fazer com RFID. Você poderia expandir isso muito mais com uma saída de LCD, registrando quem entra e quando, conexão de rede / Twitter, etc. Eu planejo fazer uma versão PCB finalizada deste circuito. Nunca fiz um PCB antes, então ainda estou trabalhando no design e no layout das peças. Depois de concluí-los, irei publicá-los também. Eu encorajo qualquer pessoa a pegar o código que escrevi e modificá-lo para fazer coisas ainda mais legais!

Finalista no Concurso Arduino

Recomendado: