Arduino Nano ESP32 - RFID

Este tutorial mostra como usar o Arduino Nano ESP32 com o leitor RFID/NFC RC522 para ler as informações de uma tag RFID/NFC.

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×RFID/NFC RC522 Kit (reader + tags)
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Módulo RFID-RC522

Pinagem

Pinagem do módulo RFID-RC522

O módulo RFID-RC522 tem 8 pinos, e alguns pinos são compartilhados entre três interfaces de comunicação: SPI, I2C, UART. Apenas um modo de comunicação pode ser usado por vez. Os pinos são:

  • Pino GND: conecte este pino ao GND (0V)
  • Pino VCC: conecte este pino ao VCC (3.3)
  • Pino RST: é um pino de reset e desligamento. Quando este pino vai para nível baixo, o desligamento forçado é ativado. Na borda de subida, o módulo é reiniciado.
  • Pino IRQ: é um pino de interrupção que pode alertar o Arduino Nano ESP32 quando uma tag RFID entra em sua faixa de detecção.
  • Pino MISO/SCL/TX: funciona como:
    • Pino MISO se a interface SPI estiver ativada
    • Pino SCL se a interface I2C estiver ativada
    • Pino TX se a interface UART estiver ativada.
  • Pino MOSI: funciona como MOSI se a interface SPI estiver ativada.
  • Pino SCK: funciona como SCK se a interface SPI estiver ativada
  • Pino SS/SDA/RX: funciona como:
    • Pino SS se a interface SPI estiver ativada
    • Pino SDA quando a interface I2C estiver ativada
    • Pino RX quando a interface UART estiver ativada.

    ※ Nota:

    • A ordem dos pinos pode variar de acordo com os fabricantes. SEMPRE use os rótulos impressos no módulo. A imagem acima mostra a pinagem dos módulos do fabricante DIYables.
    • O módulo RFID-RC522 funciona com 3.3V. Não conecte o pino VCC do módulo RFID-RC522 a 5V. 5V pode queimar o módulo RFID-RC522.
    • Este tutorial usa a interface SPI para a comunicação entre o Arduino Nano ESP32 e o módulo RFID-RC522.

Diagrama de Ligação

Diagrama de ligação do Arduino Nano ESP32 com RFID RC522

This image is created using Fritzing. Click to enlarge image

A tabela de ligação entre o Módulo RFID/NFC RC522 e o Arduino Nano ESP32

RFID/NFC RC522 Arduino Nano ESP32
SS → D10
SCK → D13
MOSI → D11
MISO → D12
IRQ não conectado
GND → GND
RST → D5
VCC → 3.3V

Código RFID/NFC para Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN D10 // Arduino Nano ESP32 pin connected to RC522's SS pin #define RST_PIN D5 // Arduino Nano ESP32 pin connected to RC522's RST pin MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 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 UID 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

  • Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Abra o Library Manager clicando no ícone Library Manager na barra de navegação à esquerda do Arduino IDE
  • Digite “MFRC522” na caixa de busca e procure a biblioteca de GithubCommunity
  • Instale a biblioteca clicando no botão Install.
Biblioteca MFRC522 do Arduino Nano ESP32
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
  • Abra o Serial Monitor no Arduino IDE
Como abrir o Serial Monitor no Arduino IDE
  • Aproxime várias tags RFID/NFC do módulo RFID-RC522
  • Veja o UID impresso no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Tap an RFID/NFC tag on the RFID-RC522 reader RFID/NFC tag Type: MIFARE 1KB UID: 2B B8 59 B1 RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 15 75 46 7A 2C 5B 7E
Ln 11, Col 1
Arduino Nano ESP32 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!