Como usar o leitor RFID com ESP8266

RDIF RDM6300 com ESP8266 NodeMCU

Hoje vamos mostrar como usar o leitor RFID com ESP8266, mais especificamente o Leitor RFID RDM6300 125KHz, que já mostramos anteriormente no post Módulo RFID RDM6300 com Arduino.

O RDM6300 é um leitor RFID que opera na frequência de 125 KHz, muito comum em tags e chaveiros RFID usados em controles de acesso como portões, catracas, alarmes, etc.

No post sobre o uso do RDM6300 com Arduino algumas pessoas me escreveram recentemente com dúvidas sobre o uso deste leitor com o ESP8266, e creio que o problema seja mais de nomenclatura dos pinos dentro do programa (relação dos pinos na IDE com a GPIO do NodeMCU) do que exatamente com a biblioteca ou o programa em si.

O leitor RFID RDM6300

Apenas recapitulando sobre o RDM6300, ele é um leitor RFID que se comunica com o microcontrolador usando interface serial, o que facilita a conexão do mesmo em placas como Arduino, ESP8266, ESP32 e Raspberry Pi. Abaixo temos a pinagem do módulo:

A alimentação pode ser feita usando-se qualquer um dos pinos Vcc e GND, ok?

Configuração da IDE Arduino para o NodeMCU

Para incluir a placa ESP8266 NodeMCU na IDE Arduino, acesse o menu Arquivo e em seguida Preferências. No campo URLs Adicionais para Gerenciadores de Placas preencha com o seguinte endereço:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Clique em OK para continuar. No menu Ferramentas -> Placa -> Gerenciador de Placas procure por esp8266 by ESP8266 Community e clique em Instalar:

Com isso o NodeMCU irá aparecer na sua lista de placas disponíveis. Para utilizar o NodeMCU com a IDE Arduino, selecione NodeMCU 1.0 na lista:

Vamos agora montar o circuito para os testes.

Circuito RD6300 e módulo ESP8266 NodeMCU

Para montar o circuito, vamos usar os pinos marcados no ESP8266 NodeMCU como D6 e D7, que no programa são identificados como pinos 12 e 13.

Um led está conectado na porta D2, e servirá para sinalizar que a leitura da tag RFID foi feita corretamente. O “retângulo” laranja na parte inferior da imagem é a antena do leitor, que nesse módulo é externa.

Programa leitor RFID com ESP8266

Infelizmente ainda não é possível instalar a biblioteca a partir da IDE do Arduino, então o processo deve ser feito manualmente. Baixe a biblioteca RDM6300, descompacte e coloque na pasta Libraries da IDE.

Dúvidas na instalação da biblioteca? Confira o post Como instalar uma biblioteca na IDE Arduino.

O programa usa a biblioteca SoftwareSerial pra emular uma serial nos pinos digitais D6 e D7 (GPIO 12 e 13), de forma semelhante ao que fizemos nos testes do RDM6300 com Arduino.

//Programa: Leitor RFID RDM6300 com ESP8266 NodeMCU
//Autor: Arduino e Cia

#include <SoftwareSerial.h>
#include <RDM6300.h>

//Inicializa a serial nos pinos 12 (RX) e 13 (TX) 
SoftwareSerial RFID(12, 13);

//Configura o led na porta digital D2
int Led = 4;

uint8_t Payload[6]; // used for read comparisons

RDM6300 RDM6300(Payload);

void setup()
{
  //Define o pino do led como saida
  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 RDM6300");
}

void loop()
{
  //Apaga o led
  digitalWrite(Led, HIGH);
  
  //Aguarda a aproximacao da tag RFID
  while (RFID.available() > 0)
  {
    
    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();
      
      //Aciona o led
      digitalWrite(Led, LOW);
    }
  }

  //Aguarda 2 segundos e reinicia o processo
  delay(2000);
}

Após carregar o programa, talvez seja necessário pressionar o botão RST (RESET) do ESP8266 NodeMCU para que o programa seja corretamente executado.

Com o programa carregado, basta aproximar a tag da antena e o led irá acender durante 2 segundos. Se você não tem um led ou deseja apenas testar o módulo, pode acompanhar o resultado também pelo Serial Monitor, onde a ID da tag é mostrada:

Gostou? Confira outros posts usando módulo RFID aqui mesmo no Arduino e Cia!

5/5 - (1 voto)

Related posts

Diferença entre os módulos bluetooth HC-05 e HC-06

by Arduino e Cia
10 anos ago

Enviando mensagens MQTT com módulo ESP32

by Arduino e Cia
6 anos ago

Como usar o NodeMCU ESP8266 com display Oled I2C

by Arduino e Cia
7 anos ago
Sair da versão mobile