Neste post vamos mostrar como conectar o Leitor RFID RDM6300 125KHz no Arduino e efetuar a leitura da identificação de tags RFID 125KHz.
Esse tipo de módulo pode ser usado para controle de acesso, alarmes, marcadores de ponto, brinquedos e outras aplicações. É o mesmo princípio que usamos nos módulos RFID MFRC522 e PN532 NFC, mostrados anteriormente aqui no blog.
O Leitor RFID 125KHz RDM6300
O módulo RDM6300 é um módulo de leitura de cartões RFID na frequência de 125KHz e utiliza para comunicação a interface serial (UART), que torna a operação desse módulo bastante simples e facilita a conexão com outros equipamentos e microcontroladores que utilizem esse tipo de interface.
Atualizado em 11-08-2020: Confira também a conexão deste leitor no ESP8266 no post Como usar o leitor RFID com ESP8266.
O RDM6300 utiliza alimentação de 5V, e na imagem abaixo podemos ver que ele possui dois pinos Vcc e dois pinos GND:
Fiz alguns testes e verifiquei que podemos alimentar o módulo usando qualquer conjunto desses pinos, portanto tanto faz se você usar o Vcc e GND na parte superior ou na parte inferior.
O pino LED deu um pouco de trabalho para descobrir a função, devido à falta de documentação desse módulo, mas nesse pino você pode ligar o anodo do led, e o catodo ligar ao negativo com a ajuda de um resistor. A função desse led é piscar quando os dados da tag RFID são acessados, mas aparentemente essa piscada é tão rápida (1ms) que não pode ser observada a olho nu. Uma sugestão é usar esse pino led para acionar uma interrupção do Arduino e fazer com que ele emita algum tipo de aviso de leitura.
Na pinagem do lado inferior esquerdo podemos ver o conector para antena externa. Esse tipo de antena facilita os projetos com esse leitor RFID, já que o módulo e demais componentes (como o Arduino) podem ficar separados e protegidos em uma caixa deixando apenas a antena aparente.
Conexão do RFID RDM6300 com Arduino
Nós vamos testar esse módulo com Arduino conectando os pinos RX e TX nas portas digitais 2 e 3, e emulando uma serial nesses pinos usando a biblioteca SoftwareSerial, deixando a serial por hardware (pinos 0 e 1 do Arduino) livre para comunicação com o computador e enviando dados para o serial monitor.
Para alimentação, optei por usar os pinos Vcc e GND superiores, mas como comentei anteriormente você pode usar qualquer um desses pinos para alimentar o módulo.
Programa leitura tag RFID
Para o programa vamos usar a biblioteca RDM6300 que está disponível neste link. Descompacte a pasta e coloque-a dentro da pasta LIBRARIES da IDE do Arduino. A biblioteca SoftwareSerial, usada para emular uma porta serial nos pinos 2 e 3, já está embutida na IDE do Arduino.
//Programa: Leitor RFID RDM6300 //Alteracoes e adaptacoes: Arduino e Cia //Baseado no programa original de Stephane Driussi #include <SoftwareSerial.h> #include <RDM6300.h> //Inicializa a serial nos pinos 2 (RX) e 3 (TX) SoftwareSerial RFID(2, 3); int Led = 13; uint8_t Payload[6]; // used for read comparisons RDM6300 RDM6300(Payload); void setup() { pinMode(Led, OUTPUT); //Inicializa a serial para o leitor RDM6300 RFID.begin(9600); //Inicializa a serial para comunicacao com o PC Serial.begin(9600); //Informacoes iniciais Serial.println("Leitor RFID RDM6300n"); } void loop() { //Aguarda a aproximacao da tag RFID while (RFID.available() > 0) { digitalWrite(Led, HIGH); uint8_t c = RFID.read(); if (RDM6300.decode(c)) { Serial.print("ID TAG: "); //Mostra os dados no serial monitor for (int i = 0; i < 5; i++) { Serial.print(Payload[i], HEX); Serial.print(" "); } Serial.println(); } } digitalWrite(Led, LOW); delay(100); }
O programa é bem enxuto e efetua a leitura da porta serial até que algum cartão seja colocado próximo à antena. Quando isso acontece, o ID da tag é enviada para o serial monitor:
Gostou? Confira outros posts utilizando RFID aqui mesmo no Arduino e Cia!