0

Como utilizar o módulo leitor RFID RC522 com Arduino

A identificação por radiofrequência ou RFID “Radio Frequency Identfication”, é um sistema sem fios que armazena e recupera dados remotamente e de forma automática. Estes dados armazenam-se em cartões, etiquetas e chaveiros RFID.

As etiquetas RFID são uns pequenos dispositivos fáceis de aderir a qualquer objeto. Estas etiquetas ou “tags” em inglês, têm no seu interior uma antena de radiofrequência e um chip digital minúsculo com memória, que lhe permite responder a pedidos de um módulo emissor-recetor RFID.

 

A vantagem fundamental desta tecnologia com respeito a outras é que necessita de contacto visual direto para transmitir os dados, como ocorre por exemplo com a transmissão por infravermelhos.

NOTA: Existem dois tipos de etiquetas RFID, as passivas e as ativas. As passivas podem responder a pedidos sem necessidade de alimentação externa, enquanto que as ativas precisam de uma fonte de alimentação como por exemplo uma pilha ou uma bateria.
O Módulo leitor RFID-RC522 controla-se através do protocolo SPI, é compatível com Arduino e com quase todos microcontroladores ou cartões de desenvolvimento e além disso utiliza um sistema avançado de modulação para todo tipo de dispositivos passivos de 13.56 Mhz.

Neste tutorial vamos aprender a ler o código de identificação de uma etiqueta RFID para compará-lo com um valor predeterminado, sé o valor for igual ao que temos como referência mostramos uma mensagem de bem vindo e se não, mostramos uma mensagem de alerta.

 

Montagem e ligações

Para ligar o módulo leitor RFID-RC522 com Arduino UNO vamos fazer 7 ligações,os pinos de ligações do módulo estão serigrafiados na placa por isso apenas tem que seguir esta tabela:

 

 

Quando ligados todos os terminais ficaria assim:

Sketch de ensaio

Para usar este sketch de ensaio, precisamos de instalar uma livraria que nos vai facilitar muito o trabalho. Trata-se da livraria RC522-RFID de Paul Kourany, tem-se que descarregar e copiar a pasta livrarias da nossa instalação do IDE de Arduino (Geralmente C:\Arquivo de programa\Arduino\livrarias\

DESCARREGAR LIVRARIA RC522_RFID

Uma vez descarregada e instalada a livraria, podemos fazer upload deste sketch no Arduino, está comentado para que seja fácil de entender:

 

#include <spi.h>    //Carregamos a livraria SPI incluida no IDE de Arduino
#include <RC522_RFID.h>   //Carregamos a livraria RC522_RFID de Paul Kourany

#define SS_PIN 10   // Declaramos o pino SDA do Arduino
#define RST_PIN 9   // Declaramos o pino RST do Arduino
RFID rfid(SS_PIN, RST_PIN);   //Iniciamos o objeto RFID

String cardID;      //Declaramos uma variável de tipo string 
                    //para armazenar o valor dos dados obtidos da
                    // etiqueta RFID

void setup() { 
Serial.begin(9600); //Iniciamos a comunicação serie para ler as respostas do módulo
SPI.begin();        //Iniciamos a comunicação SPI
rfid.init();        //Iniciamos o objeto RFID
}

void loop() {
check_for_card();   //Comprovamos em laço se há um cartão perto do leitor chamando a função check_for_card()
}

void check_for_card()
{
 if (rfid.isCard()) {   //Se há um cartão perto do leitor...
   Serial.println("Se há um cartão perto do leitor"); //Mostramos uma mensagem pelo monitor serie
   if (rfid.readCardSerial()) {     //Lemos a ID do cartão
      cardID = String(rfid.serNum[0]) + String(rfid.serNum[1]) + String(rfid.serNum[2]) + String(rfid.serNum[3]) + String(rfid.serNum[4]);  //Le damos una formato de cadena de carácteres
      Serial.println(cardID);  //Mostramos no monitor série
      if (cardID == "4272516342312" || cardID == "4426315511437"){   //Se a ID é alguma detas 2...
        Serial.println("O cartão é válido");  //O cartão é válido!
      }else{   //Em caso contrario...
        Serial.println("O cartão é inválido"); //O cartão não é válido!
      }
   rfid.halt();  //Finalizamos o objeto RFID
   delay(1000);  //Pausa de 1 segundo para dar tempo a finalizar todas as ordens
   } 
}
}

 

Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.

Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.

Não se esqueçam de fazer like na nossa Página no Facebook.

Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?

Comments

Comentários

Jaime Mota

Deixar uma resposta