Music

ads header

quarta-feira, 27 de maio de 2026

Como fazer leitura NFC com ESP32

0
ESP32 Conectado a um Módulo NFC
ESP32 conectado a um módulo NFC para leitura de tags.

Fala galera! QuemNeveredeu aqui, e hoje vou compartilhar um projeto que eu samei recentemente com um dos meus chips favoritos: o ESP32. Além de Wi-Fi e Bluetooth, descobri que fazer leitura NFC com ele também é possível e relativamente simples. Vamos ver como transformar seu ESP32 em um leitor NFC!

Neste tutorial, você vai aprender a configurar um módulo NFC com o ESP32, ler informações de tags NFC, entender o código por trás do projeto, e até recebe algumas dicas para aplicativos práticos. Não precisa ser um guru em programação ou eletrônica, mostrarei cada passo de forma detalhada!

Antes de começarmos, é importante mencionar que o ESP32 não tem suporte NFC nativo como alguns outros microcontroladores. No entanto, podemos usar módulos NFC externos para alcançar esse objetivo. O mais comum é o PN532, que suporta vários protocolos de NFC.

💡 O que é NFC?

NFC (Near Field Communication) é uma tecnologia de comunicação de curto alcance que permite a troca de dados entre dispositivos sem necessidade de visão direta ou contato físico, desde que estejam a uma distância de cerca de 10 cm um do outro. É amplamente usado em pagamentos móveis, troca de dados, e identificação.

Ilustração da Tecnologia NFC
Tecnologia NFC em ação: troca de dados a curta distância.
🧰 O que você vai precisar

Aqui está a lista de componentes necessários para o projeto:

ComponenteOnde comprarPreço médio
ESP32 (WEMOS D1 ou equivalente)ChinaBangGood, AdafruitR$ 50-R$ 100
Módulo NFC PN532Ebay, AmazonR$ 20-R$ 40
Cabo de interface (I2C ou SPI)Incluído com o módulo-
Breadboard e fios de jumperLojas de eletrônicos locaisR$ 10-R$ 20
Fonte de alimentação para ESP32Incluído ou separadoR$ 10-R$ 20
⚙️ Passo 1 — Configurando o Ambiente de Desenvolvimento

1. **Instale a placa ESP32** no Arduino IDE ou use o PlatformIO no VSCode. 2. **Instale a biblioteca PN532** via Library Manager (pesquise `PN532` e instale a versão mais recente). 3. **Conecte o módulo NFC** via I2C (ou SPI, se preferir, mas I2C é mais simples para começar): - **SCL** para **22** (SCK para SPI), - **SDA** para **21** (MOSI para SPI), - **VCC** para **3.3V**, - **GND** para **GND**.

Conexão ESP32 com Módulo NFC
Conexão básica via I2C. Ajuste selon a documentação do seu módulo.
📶 Passo 2 — Escrevendo o Código Básico para Leitura NFC

#include <PN532.h>

// Configuração I2C
#define PN532_SCK  22
#define PN532_MOSI 19
#define PN532_MISO 23
#define PN532_SS   18
#define PN532_IRQ  17
#define PN532 말을 9

PN532 nfc(PN532_SCK, PN532_MOSI, PN532_MISO, PN532_SS, PN532_IRQ, PN532قول);

void setup() {
  Serial.begin(115200);
  if (!nfc.begin()) {
    Serial.println("Erro ao inicializar o módulo NFC. Verifique a conexão.");
    while (1);
  }
  // Opcional: Desbloqueia o cartão para escrita se necessário
  // uint8_t key[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  // nfc.auth3(2, key, 0x55);
}

void loop() {
  if (nfc.isReady()) {
    Serial.println("Módulo NFC pronto.");
    if (nfc.readPassiveTargetID(PN532_TAG_TYPE_ANY, myuhl, &rwa)) {
      Serial.print("UID: "); Serial.println(myuhl[_uidLen-1], HEX);
      // Adicione lógica aqui para lidar com a tag lida
      delay(1000); // Pausa para evitar leituras repetidas
    }
  } else {
    Serial.println("Aguarde... Módulo NFC não detectado.");
    delay(1000);
  }
}
🔌 Passo 3 — Testando a Leitura de Tags NFC

1. **Carregue o código** no seu ESP32. 2. **Verifique o Monitor Serial** para ler o UID da tag NFC quando colocada perto do módulo. 3. **Ajuste a sensibilidade** do módulo (se necessário) para melhor desempenho.

🔍 Passo 4 — Adicionando Lógica para Diferentes Tipos de Tags

Depois de ler o UID, você pode adicionar condicionais para executar ações específicas baseadas no tipo de tag ou no seu UID. Por exemplo, ligar um LED conectado a um pin do ESP32 quando uma tag específica for detectada.


if (myuhl[uidLen-1] == 0x12 0x34) { // UID da tag desejada
  digitalWrite(LED_PIN, HIGH); // Ligar LED
} else {
  digitalWrite(LED_PIN, LOW);  // Desligar LED
}
🛠️ Passo 5 — Projeto Avançado: Escrevendo Dados em Tags NFC

Para escrever dados, use a função `nfc.writeBlockNUber()` após autenticar a tag. Lembre-se, nem todas as tags suportam escrita.


uint8_t block[] = {0x01, 0x02, 0x03, ...}; // Dados a serem escritos
nfc.writeBlockNumber(blockNumber, block);
💡 Dica Arcade Maker: Use um aplicativo de NFC no seu smartphone para testar e escrever tags antes de integrar com o ESP32, facilitando o debug.
Atenção: Sempre verifique a compatibilidade da tag NFC com o módulo PN532 e o ESP32. Alguns tipos de tags podem não ser suportados.
Explorando Mais Funcionalidades do PN532

O módulo PN532 suporta más funções como emulação de tag, leitura de cartões de contato, e até autenticação de dois fatores. Explore a documentação para mais ideias de projetos!

🚀 Dicas extras para o seu projeto

✅ **Alimentação:** Certifique-se de que a fonte de alimentação possa atender ao pico de corrente do módulo NFC. ✅ **Interferência:** Mantenha o módulo NFC longe de fontes de interferência eletromagnética. ✅ **Segurança:** Para aplicações críticas, implemente criptografia para os dados transmitidos.

🕹️ Já testou NFC com ESP32 no seu projeto?

Compartilhe suas experiências, dicas, ou perguntas nos comentários abaixo! Se você gostou, não se esqueça de compartilhar o post com a comunidade maker!

Tags: ESP32, NFC, PN532, Leitura de Tags, IoT, Maker, Eletrônica
Author Image
AboutAlexandre Paixao

Soratemplates is a blogger resources site is a provider of high quality blogger template with premium looking layout and robust design

Nenhum comentário:

Postar um comentário