Hoje vamos explorar uma tecnologia fascinante: o RFID. Vamos entender como podemos aplicá-la para controlar uma fechadura eletrônica, e com isso você terá a base para controlar qualquer coisa com RFID.
Neste post vamos mergulhar na programação e implementação prática do controle de fechadura eletrônica utilizando Arduino e RFID.
O que é RFID?
RFID, ou Identificação por Radiofrequência, é uma tecnologia que permite a identificação de objetos através de sinais de rádio. Essa tecnologia é bastante versátil e pode ser encontrada em diversos contextos, desde o varejo até o controle de acesso e rastreamento de animais de estimação.
Como Funciona?
As tags RFID são dispositivos pequenos que podem ser acoplados a objetos ou até mesmo a animais de estimação. Elas emitem sinais de rádio em resposta aos leitores de tags que são e estes sinais de retorno são lidos por leitores RFID. Cada tag possui uma identificação única, que pode conter informações específicas sobre o objeto ou o animal ao qual está associada.
A Figura 1 apresenta diversos tipos de tags e destaca a frequência de cada uma.
Aplicações Práticas
As aplicações do RFID são diversas. No varejo, por exemplo, as tags são utilizadas para controlar o estoque de produtos. Já no controle de acesso, como o caso de fechaduras eletrônicas, as tags são utilizadas para autorizar ou negar o acesso a determinados ambientes.
Como exemplo de um produto podemos citar o SureFeed, Figura 2, um alimentador para gatos e cahorros de pequeno porte que controla a liberação do alimento para o animal que tem a tag RFID específica.
Projeto do Controle de Fechadura Eletrônica
O funcionamento do nosso projeto é relativamente simples: quando uma tag RFID autorizada se aproxima do leitor, o Arduino envia um sinal para o módulo relé, que por sua vez aciona a fechadura, permitindo o acesso.
A Figura 3 apresenta as ligações e todos os componentes do projeto.
O módulo RDM6300 envia os dados lidos da tag por meior de uma única via de comunicação serial. Observe a pinagem do módulo na Figura 4.. No nosso caso usamos o pino 6 do Arduino Nano. O módulo relé utilizado deve ter seu pino D1 conectado ao pino 2 do Arduino Nano. Usamos um diodo em paralelo com a alimentação da fechadura para evitar picos na descarga da solenoide.
Para implementar o controle de uma fechadura eletrônica utilizando RFID, precisamos de alguns componentes básicos:
- Arduino Nano
- Leitor RFID RDM6300
- Módulo Relé 5V
- Fechadura eletrônica
- Tags 225 kHz
- Protoboard
- Fonte de alimentação externa (recomendado: 12V, pelo menos 1A)
Apesar de não ser necessário o uso de uma biblioteca externa para o RDM6300, vamos optar por usar uma, pois vai simplificar muito nosso código. Então antes de partir para a programação é preciso instalar a biblioteca para o RDM6300.
Acesse o link da biblioteca no githut https://github.com/arduino12/rdm6300 e faça o download do código, como apontado na Figura 5.
Em seguida adicione a biblioteca à IDE do Arduino, como mostra a Figura 6.
Programação do Projeto
Com o projeto montado na protoboard e a biblioteca instalada, podemos subir o código para o Arduino.
O código abaixo faz o controle do nosso projeto.
#include <rdm6300.h>
#define RX_RFID 6
#define FECHADURA 2
Rdm6300 rdm;
long tagId = 3672144;
void setup() {
Serial.begin(9600);
rdm.begin(RX_RFID);
pinMode(FECHADURA, OUTPUT);
}
void loop() {
if (rdm.get_new_tag_id()) {
long tag = rdm.get_tag_id();
if (tag == tagId) {
Serial.println(tag);
digitalWrite(FECHADURA, HIGH);
delay(2000);
digitalWrite(FECHADURA, LOW);
} else {
Serial.print("Tag inválida: ");
Serial.println(tag);
}
}
}
Observe que com o uso da biblioteca o código ficou muito enxuto. Algumas considerações:
- Inicialização: a variável Rdm6300 rdm; instancia o módulo e a linha rdm.begin(RX_RFID); inicializa o módulo no pino RX_RFID, que é o 6 do Arudino. O pino da FECHADURA está definido para o 2 e inicializado como OUTPUT.
- Na função loop, temos dois if encadeados. O primeiro usa a função rdm.get_new_tag_id() para verificar se alguma tag se aproximou do leitor. Caso isso seja verdade a linha long tag = rdm.get_tag_id(); lê a tag para a variável tag e se o segundo if verifica se é uma tag conhecida, if (tag == tagId), e assim ativa a fechadura. Caso contrário nós imprimimos na serial o valor da tag inválida.
- Neste exemplo a fechadura é ativada por apenas 2 segundos. Você deve ajustar de acordo com sua necessidade.
- Para encontrar o valor da tag apenas faça o teste com a sua tag e o valor dela aparecerá no monitor serial. Então você poderá copiar o valor e definir na variável long tag lá no início do código.
Considerações Finais
O RFID é uma tecnologia poderosa que pode trazer muitos benefícios em diversas áreas. No entanto, é importante entender suas limitações e considerar aspectos como compatibilidade de frequências e interferências eletromagnéticas.
Você pode encontrar este experimento no meu canal do Youtube.
Gostou do conteúdo? Deixe seu like, compartilhe com seus amigos e não se esqueça de se inscrever para acompanhar todas as novidades. Até a próxima!
Se você tiver alguma dúvida ou quiser compartilhar sua própria experiência, não hesite em deixar um comentário abaixo. E não se esqueça de se inscrever no canal youtube.com/@ricardoteix para mais conteúdos como este. Até a próxima!