PN532 NFC — красный модуль с разводкой V3

PN532 NFC Module, красная плата с разводкой V3; изготовитель и ревизия не подтверждены

Модуль NFC/RFID 13,56 МГц с печатной антенной и выбором SPI, I²C или UART.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает PN532 NFC Module, красная плата с разводкой V3; изготовитель и ревизия не подтверждены

Это распространённый красный модуль на контроллере PN532 для чтения совместимых NFC/RFID-меток. Печатная антенна расположена по периметру, а два DIP-переключателя выбирают интерфейс связи с микроконтроллером. Такое исполнение реально существует: компоновка и обозначения разъёмов совпадают с руководством Elechouse NFC Module V3 и продаваемым модулем ShillehTek V3. По одному виду спереди нельзя подтвердить изготовителя, подлинность или точную ревизию конкретного экземпляра. Поэтому карточка описывает плату с этой разводкой, без приписывания ей бренда Elechouse или Adafruit.

PN532 работает на 13,56 МГц. В примере используется SPI и считывается только UID собственной метки ISO/IEC 14443 Type A, например MIFARE Classic, Ultralight или NTAG2xx. Для запуска не нужна запись в память метки. Поддержка контроллером других режимов NFC не означает, что они реализованы в этом примере; метки 125 кГц и ISO/IEC 15693 сюда не относятся. Дальность зависит от метки, антенны, питания и окружающего металла, поэтому фиксированная дальность для неизвестного исполнения не заявлена.

UID не является секретом и сам по себе не обеспечивает защищённый контроль доступа. Чтение UID не открывает защищённые данные и не заменяет аутентификацию. Работа с телефонами, эмуляция карт и платёжные протоколы требуют отдельного решения. Для эксплуатации сначала подтвердите электрические параметры своей платы; одинаковый цвет и расположение контактов не гарантируют одинаковую схемотехнику.

Схема распиновки

Оригинальная схема SLDV LAB для красного PN532-модуля с разводкой V3. Изготовитель и ревизия экземпляра не установлены; перед подключением сверить питание и маркировку.

Источники: 1, 2, 3, 4. Авторская схема SLDV LAB по фактам документации. RSTO — выход, в SPI-примере оставлен неподключённым.

Фотография модуля

Красный PN532-модуль с разводкой V3, вид со стороны компонентов. Изготовитель и точная ревизия не подтверждены. Показаны четыре реально установленных угловых штыря бокового разъёма; верхний восьмиконтактный ряд не оснащён гребёнкой. Фото не подтверждает электрические допуски неизвестного экземпляра.

Изображение: проект TapTo / Zaparoo; файл добавлен Callan Barrett (wizzo). CC BY-SA 4.0. Изменения SLDV LAB: удалён фон, выполнены кадрирование и пропорциональное масштабирование. Обработанная фотография: CC BY-SA 4.0. Источник: https://github.com/ZaparooProject/zaparoo-hardware/blob/54d37454ff79d0b106218ace01fc7ffdac85e994/assets/images/readers/pn532.jpg . Лицензия: https://creativecommons.org/licenses/by-sa/4.0/ .

Характеристики

Исполнение
Красная плата PN532 с разводкой V3; бренд и ревизия не установлены
Несущая
13.56 МГц
Хост-интерфейсы
SPI, I²C, HSU/UART; в примере SPI
Режим примера
Пассивная ISO/IEC 14443 Type A, чтение UID
Питание и SPI в примере
3.3 В
Антенна
Печатная, по периметру платы
Интерфейс
SPI, I²C, UART
Питание модуля
В примере VCC и SPI работают от 3,3 В. Руководство оригинального Elechouse V3 допускает питание VCC 3,3–5 В; этот диапазон не подтверждает допуски каждой совместимой платы. До подключения сверить продавца и исполнение. На SPI не подавать 5-вольтовую логику.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VCCСтабилизированные 3,3 ВПример для ESP32-DevKitC V4 с ESP32-WROOM-32. Подать питание на один VCC; не объединять независимые источники. Источник должен выдерживать включение RF-поля.
GNDGND ESP32-DevKitC V4 и источникаОбщая земля. Полярность проверять по маркировке своей платы.
SCKGPIO18Тактовый вход SPI модуля.
MISOGPIO19Выход PN532 → вход ESP32.
MOSIGPIO23Выход ESP32 → вход PN532.
SSGPIO27Выбор модуля SPI, активный низкий уровень. На красной плате вывод подписан SS, а не SSEL.
DIP, канал 1 / канал 2OFF / ONРежим SPI согласно таблице HSU/I2C/SPI на этой разводке V3. Переключать при снятом питании; ориентироваться по метке ON на корпусе, а не по направлению на картинке.
IRQНе подключать в этом SPI-примереСигнал запроса прерывания от модуля; пример опрашивает готовность через SPI.
RSTOНе подключатьВ оригинальной схеме V3 это выход RSTOUT_N, индикатор сброса. Не подавать на него сигнал сброса с GPIO: вход RSTPD_N — другой вывод.
SDA / SCLНе подключать в этом SPI-примереБоковой разъём предназначен для I²C; в режиме HSU те же позиции обозначают TXD / RXD. Не смешивать разъёмы разных режимов.

Подходит для ESP32, Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать красный PN532 NFC-модуль с разводкой V3: верхний ряд SCK/MISO/MOSI/SS/VCC/GND/IRQ/RSTO, сбоку GND/VCC/SDA/SCL и два DIP-переключателя. Сначала уточни изготовителя или ссылку продавца, фото обеих сторон, точную плату хоста, среду, тип метки и задачу. Не объявляй неизвестную плату оригинальной Elechouse и не подменяй её Adafruit breakout. Сверь напряжение и маркировку по документам конкретного экземпляра.

Для приведённого SPI-примера на ESP32-DevKitC V4 с ESP32-WROOM-32 используй 3,3 В, SCK=GPIO18, MISO=GPIO19, MOSI=GPIO23 и SS=GPIO27. DIP: канал 1 OFF, канал 2 ON; менять только без питания. IRQ и RSTO не подключены. RSTO в оригинальной схеме V3 — выход RSTOUT_N, а не вход аппаратного сброса.

Дай зависимости Adafruit PN532 1.3.4 и BusIO, минимальный скетч чтения UID ISO14443A с проверкой ответа контроллера и таймаутом, диагностику и порядок проверки. Разделяй возможности PN532 и библиотеки. Не обещай универсальное чтение телефонов и платёжных карт и не используй UID как единственный секрет для доступа.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Среда/API
ESP32-DevKitC V4; Arduino-ESP32 3.3.0; Adafruit PN532 1.3.4

Именно ESP32-WROOM-32. Для C3/C6/S3 и других плат GPIO выбираются заново. Adafruit BusIO — обязательная зависимость библиотеки.

Конструктор
Adafruit_PN532 nfc(27, &SPI);

Аппаратный SPI; название библиотеки не определяет изготовителя самого модуля.

DIP-переключатели SPI
Канал 1=OFF; канал 2=ON

Сверить таблицу на плате V3 и метку ON на корпусе переключателя. Для I²C таблица даёт ON/OFF, для HSU — OFF/OFF.

Инициализация SPI
SPI.begin(18, 19, 23, 27);

Порядок аргументов Arduino-ESP32: SCK, MISO, MOSI, SS.

Инициализация PN532
begin(); getFirmwareVersion(); SAMConfig();

Проверить каждую стадию; чтение прошивки не подтверждает наличие метки.

Чтение
readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &length, 1000)

Таймаут 1000 мс; пример только для ISO14443A. Сообщение false само по себе не различает отсутствие метки и транспортную ошибку.

PN532 V3-layout: UID собственной метки ISO14443A

cpp
#include <Arduino.h>
#include <SPI.h>
#include <Adafruit_PN532.h>
Adafruit_PN532 nfc(27, &SPI);
void stopWith(const char *message) {
  Serial.println(message);
  while (true) delay(1000);
}
void setup() {
  Serial.begin(115200);
  SPI.begin(18, 19, 23, 27);
  if (!nfc.begin()) stopWith("SPI init failed");
  uint32_t version = nfc.getFirmwareVersion();
  if (!version) stopWith("PN532 not found: check SPI mode, wiring and power");
  Serial.print("Firmware response: 0x"); Serial.println(version, HEX);
  if (!nfc.SAMConfig()) stopWith("SAMConfig failed");
  if (!nfc.setPassiveActivationRetries(0x01)) stopWith("RF configuration failed");
  Serial.println("Present one ISO14443A tag");
}
void loop() {
  uint8_t uid[10] = {0};
  uint8_t length = 0;
  if (nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &length, 1000)) {
    Serial.print("UID: ");
    for (uint8_t i = 0; i < length && i < sizeof(uid); ++i) {
      if (uid[i] < 0x10) Serial.print('0');
      Serial.print(uid[i], HEX); Serial.print(' ');
    }
    Serial.println();
    delay(500);
  } else {
    Serial.println("No Type A tag or read timeout/error");
  }
}

Полный скетч для ESP32-DevKitC V4 с ESP32-WROOM-32, Arduino IDE и Arduino-ESP32 3.3.0. API сверено по исходникам Adafruit PN532 1.3.4; компиляция и проверка на физическом модуле здесь не выполнялись. Перед включением подтвердить питание конкретного исполнения и установить DIP 1=OFF, 2=ON. Монитор порта — 115200. Сначала ожидается ответ прошивки, затем UID собственной MIFARE Classic/Ultralight или NTAG2xx. Если контроллер не найден, проверить питание, общую землю, DIP, SS и остальные линии SPI. Если контроллер найден, но UID нет, проверить тип метки, расстояние и металл рядом с антенной. Таймаут не различает все причины ошибки. Память метки скетч не изменяет.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты