RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz
RFID ридер PN532 13.56 MHz

RFID ридер PN532 13.56 MHz

Арт. 16016

620

менее 500 шт.

Описание

RFID-ридер на базе чипа PN532. 

Технические характеристки:

  • Напряжение питания: 3.3...5 вольт постоянного тока
  • Потребляемые токи:
    • Максимальный потребляемый ток: 150 мА
    • Потребляемый ток в режиме ожидания: 100 мА
    • Потребляемый ток в режиме считывания: 120 мА
    • Потребляемый ток в режиме записи: 120 мА
  • Дальность считывания: 5...7 см
  • Антенна: встроенная, на плате
  • Поддержка интерфейсов: I2C / SPI / HSU (High Speed UART - 115200 kbps) выбор осуществляется двумя переключателями на печатной плате
  • Логика: КМОП, 3.3 в
  • Поддерживаемые режимы работы:
    • RFID (чтение/запись)
    • P2P соединения
    • NFC для работы со смартфонами на платформе Android

Поддерживаемые типы беспроводных чипов:

  • ISO 14443 Type A  - NXP Mifare 1k, 4k, Ultralight, Desfire
  • ISO 14443 Type B
  • ISO/IEC 14443-4-совместимые чипы
  • FeliCa
  • Jewel
  • TopaZ

Для подключения RFID-ридера к Arduino рекомендуем использовать библтотеку Adafruit_PN532 

Пример исходного кода с применением бибилитеки Adafruit_PN532

#include                                                                                // подключаем библиотеку для работы по I2C
#include                                                                      // подключаем библиотеку для работы с модулем
#define PN532_IRQ   (2)                                                                         // указываем вывод, к которому подключен контакт IRQ
#define PN532_RESET (3)                                                                         // указываем вывод, к которому подключен контакт RST
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);                                                     // назначаем имя модулю

void setup() {
  Serial.begin(115200);                                                                         // инициируем передачу данных в монитор последовательного порта на скорости 115200 бод
  Serial.println("Hello!");                                                                     // выводим в монитор порта текст
  nfc.begin();                                                                                  // инициируем работу с модулем
  uint32_t versiondata = nfc.getFirmwareVersion();                                              // считываем версию прошивки модуля в переменную
  if (! versiondata) {                                                                          // если переменная пуста, то
    Serial.print("Didn't find PN53x board");                                                    // выводим текст в монитор порта
    while (1);                                                                                  // прерываем дальнейшее выполнение блока setup
  }
  Serial.print("Found chip PN5"); Serial.println((versiondata >> 24) & 0xFF, HEX);              // если версия прочитана, то выводим текст и версию чипа в монитор порта
  Serial.print("Firmware ver. "); Serial.print((versiondata >> 16) & 0xFF, DEC);                // выводим текст и версию прошивки до запятой в монитор порта
  Serial.print(','); Serial.println((versiondata >> 8) & 0xFF, DEC);                            // выводим запятую и версию прошивки после запятой
  nfc.setPassiveActivationRetries(0xFF);                                                        // указываем количество попыток на считывание карты
  nfc.SAMConfig();                                                                              // настраиваем модуль на чтение RFID-меток
  Serial.println("Waiting for an ISO14443A card");                                              // выводим текст в монитор порта
}
void loop() {
  boolean success;                                                                              // задаём переменную для считывания номера карты
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };                                                      // задаём переменную для хранения номера считанной карты
  uint8_t uidLength;                                                                            // длина номера карты (4 или 7 байт в зависимости от типа карты)
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);               // считываем первую карту для определения размера и назначения типа карты
  if (success) {                                                                                // если номер считан, то
    Serial.println("Found a card!");                                                            // выводим текст в монитор порта о том, что карта найдена
    Serial.print("UID Length: "); Serial.print(uidLength, DEC); Serial.println(" bytes");       // выводим текст и значение длины карты в байтах
    Serial.print("UID Value: ");                                                                // выводим текст в монитор порта
    for (uint8_t i = 0; i < uidLength; i++) {                                                   // выводим номер карты (в зависимости от длины номера будет меняться и количество раз, которые должен выполнить цикл)
      Serial.print(" 0x"); Serial.print(uid[i], HEX);                                           // выводим текст и побитовый номер карты
    }
    Serial.println("");                                                                         // добавляем символ новой строки
    delay(1000);                                                                                // ждём 1 секунду
  }
  else  {                                                                                       // если карта была не прочитана, то
    Serial.println("Timed out waiting for a card");                                             // выводим текст в монитор порта о том, что время ожидания карты истекло
  }
}

Datasheet PN532 (PDF, ENG)