Arduino UNO R4 - RFID/NFC

Neste guia, vamos aprender a usar a tecnologia RFID/NFC com um Arduino UNO R4. O sistema tem duas partes: um leitor e uma tag. Vamos falar de dois tipos de leitores: o RC522 e o PN532. Este guia vai focar no leitor RC551, e vamos abordar o PN532 em outro guia em breve.

O leitor RFID/NFC RC522, também conhecido como Módulo RFID-RC522, pode:

Este tutorial mostra como ler o UID de uma tag RFID/NFC usando o Arduino UNO R4. Esse é um uso comum deste dispositivo. Mais tutoriais sobre outros recursos virão depois.

Arduino UNO R4 e RFID rc522

Sobre o Módulo RFID-RC522

Pinagem do Módulo RFID-RC522

O RFID-RC522 tem 8 pinos. Alguns pinos são comuns, enquanto outros são usados para três métodos de comunicação diferentes: SPI, I2C e UART. Você pode usar apenas um método de comunicação por vez. Os pinos são:

  • Pino GND: conecte ao GND (0 volts).
  • Pino VCC: conecte ao VCC (3,3 volts).
  • Pino RST: é um pino de reset e desligamento. Se este pino receber um sinal baixo, ele ativa um desligamento forçado. Um sinal de subida reinicia o módulo.
  • Pino IRQ: é um pino de interrupção que avisa o microcontrolador quando uma tag RFID está por perto.
  • Pino MISO/SCL/TX: funciona como MISO no SPI, SCL no I2C e TX no UART.
  • Pino MOSI: funciona como MOSI com o SPI ativado.
  • Pino SCK: funciona como SCK com o SPI ativado.
  • Pino SS/SDA/RX: funciona como SS no SPI, SDA no I2C e RX no UART.
Pinagem do RFID-RC522

※ Nota:

  • A disposição dos pinos pode ser diferente em cada fabricante. Siga sempre os rótulos do próprio módulo. A imagem fornecida é específica do fabricante DIYables.
  • Não conecte o pino VCC ao pino de 5V, pois isso pode danificar o seu módulo.
  • A biblioteca MFRC522 funciona somente no modo SPI. Por isso, este guia usa exclusivamente a comunicação SPI.

Como Funciona o RFID/NFC

O RFID/NFC tem duas partes: um leitor e uma tag.

  • O leitor inclui um módulo de radiofrequência e uma antena que cria um campo eletromagnético de alta frequência.
  • A tag é um dispositivo passivo que não precisa de uma fonte de energia própria. Ela tem um microchip para armazenar e processar informações e uma antena para enviar e receber sinais. A tag guarda informações como o UID (Unique ID) e outros dados.
Sistema RFID NFC com Arduino

Para ler as informações de uma tag, ela precisa estar perto do leitor (não é preciso que esteja à vista). O processo de leitura:

  • O leitor cria um campo magnético que faz os elétrons fluírem pela antena da tag, o que ativa o chip.
  • Em seguida, o chip da tag envia de volta ao leitor as informações necessárias, como um novo sinal de rádio.
  • O leitor capta esse sinal e o converte em dados.
  • O Arduino UNO R4 processa os dados recebidos do leitor.

Diagrama de Ligação entre o Módulo RFID-RC522 e o Arduino UNO R4

O Módulo RFID-RC522 funciona com alimentação de 3,3V, mas os pinos de saída de um Arduino UNO R4 fornecem 5V.

  • Para mais segurança, reduza a tensão de 5V dos pinos do Arduino UNO R4 para 3,3V antes de ligar ao Módulo RC522. Para simplificar e testar, você pode conectar os pinos do Arduino UNO R4 diretamente ao Módulo RC522, mas isso às vezes pode fazer o Arduino UNO R4 não funcionar direito.

Este guia oferece dois diagramas de ligação diferentes, um para cada caso:

  • Como Conectar o RC522 e o Arduino UNO R4 sem um Regulador de Tensão
Diagrama de ligação do RFID RC522 no Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

  • Diagrama de Ligação para Conectar o RC522 ao Arduino UNO R4 com um Regulador de Tensão
Diagrama de ligação do RFID RC522 com tensão regulada no Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

O diagrama de ligação mostra que um par de resistores, de 1kOhm e 2kOhm, é usado para regular a tensão de 5V para 3,3V. Não é preciso ajustar a tensão entre o pino do Arduino UNO R4 e o pino MISO do módulo RC522. No entanto, você precisa regular a tensão entre os pinos do Arduino UNO R4 e os pinos SS, SCK, MOSI e RST do módulo RC522.

Tabela de ligação do Módulo RFID/NFC RC522 e do Arduino UNO R4

RFID/NFC RC522 Arduino UNO R4
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ(not connected)
GND → GND
RST → 5
VCC → 3.3V

Código RFID/NFC para Arduino UNO R4

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // The Arduino UNO R4 pin connected to the SS pin of RC522 module #define RST_PIN 5 // The Arduino UNO R4 pin connected to the RST pin of RC522 module MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap RFID/NFC Tag on reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); //Serial.print("RFID/NFC Tag Type: "); //Serial.println(rfid.PICC_GetTypeName(piccType)); // print NUID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
  • Ligue os componentes conforme o diagrama fornecido.
  • Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 correta (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Vá até o ícone Libraries no lado esquerdo da Arduino IDE.
  • Pesquise por “MFRC522” e localize a biblioteca da GithubCommunity.
  • Clique no botão Install para adicionar a biblioteca MFRC522.
Biblioteca MFRC522 do Arduino UNO R4
  • Copie o código e abra-o na Arduino IDE
  • Clique no botão Upload na Arduino IDE para enviar o código ao Arduino UNN R4
  • Abra o Serial Monitor
  • Encoste algumas tags RFID/NFC no módulo RFID-RC522
  • Confira o UID exibido no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Vídeo

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!