Khác

PN532 MẠCH ĐỌC THẺ NFC V3 RFID, 13.56MHZ

Mã sản phẩm: K3_267
THÔNG SỐ KỸ THUẬT:Lõi vi điều khiển 80C51 với 40kBROM và 1kBRAMMạch tương tự tích hợp cao, phản hồi giải điều chế và giải mãBộ điều khiển bộ đệm đầu ra được kết nối với ăng-ten thông qua số lượng tối thiểu các thiết bị thụ động bên ngoàiBộ dò...
90,000₫
Số lượng
 
1
 
Thêm vào giỏ Mua ngay

Dịch vụ & Khuyến mãi

Giao miễn phí trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng

Tặng ngay 50.000đ cho đơn hàng trên 2 triệu đồng

Chi tiết sản phẩm

THÔNG SỐ KỸ THUẬT:

  • Lõi vi điều khiển 80C51 với 40kBROM và 1kBRAM
  • Mạch tương tự tích hợp cao, phản hồi giải điều chế và giải mã
  • Bộ điều khiển bộ đệm đầu ra được kết nối với ăng-ten thông qua số lượng tối thiểu các thiết bị thụ động bên ngoài
  • Bộ dò trường RF tích hợp
  • Bộ dò mẫu dữ liệu tích hợp
  • Hỗ trợ ISO / IEC14443A / MIFARE®
  • Chỉ hỗ trợ ISO / IEC14443B ở chế độ đọc
  • Khoảng cách làm việc thông thường vượt quá 50mm ở chế độ đầu đọc, khoảng cách cụ thể được xác định bởi kích thước ăng-ten, điều chỉnh và nguồn điện
  • Khoảng cách làm việc lên đến 50mm ở chế độ NFCIP-1, tùy thuộc vào kích thước ăng-ten, điều chỉnh và nguồn điện
  • Khoảng cách làm việc điển hình ở chế độ hoạt động của thẻ là khoảng 100mm, khoảng cách cụ thể được xác định bởi kích thước ăng-ten, điều chỉnh và cường độ trường bên ngoài
  • Ở chế độ đầu đọc, hỗ trợ mã hóa MifareClassic, có thể hỗ trợ hai tốc độ truyền dữ liệu cao hơn là 212kbit/giây và 424kbit/giây
  • Ở chế độ FeliCa, hỗ trợ tốc độ truyền thông 106kbit/s, 212kbit/s và 424kbit/s
  • Giao diện RF NFCIP-1 tích hợp, tốc độ truyền lên tới 424kbit/s
  • Hỗ trợ giao diện máy chủ:
  • -Giao diện SPI
  • -Giao diện I2C
  • - UART nối tiếp
  •  Chế độ ngắt linh hoạt
  •  Chế độ tiêu thụ điện năng thấp-chế độ tắt nguồn phần cứng-chế độ tắt nguồn phần mềm
  •  Khi thiết bị ở chế độ tắt nguồn, nó có thể tự động thức dậy thông qua các giao diện I2C, HSU và SPI
  •  Bộ hẹn giờ có thể lập trình
  •  Bộ dao động tinh thể thạch anh
  •  Nguồn điện 2.7V ~ 5.5V

Một trong những lợi thế lớn của mô-đun NFC là nó có thể sử dụng các giao thức khác nhau để giao tiếp với Arduino, UART, I2C hoặc SPI. Các giao thức khác nhau này sử dụng các chân và thư viện cụ thể của bộ vi điều khiển.

Để chọn chế độ giao tiếp, PN532 phải được cấu hình bằng cách sử dụng công tắc DIP (0-Thấp, 1-Cao):

CHẾ ĐỘ

SEL0

SEL1

UART

0

0

SPI

0

1

I2C

1

0

SƠ ĐỒ ĐẤU NỐI CƠ CHẾ UART:

Vì có nhiều tùy chọn giao tiếp khác nhau, nên phải sử dụng đúng thư viện trong từng trường hợp. Trong trường hợp cổng UART vật lý thì sử dụng thư viện, PN532_HSU.h , đối với trường hợp sử dụng cổng SoftwareSerial thì sử dụng thư viện PN532_SWHSU.h 

Các chức năng cho phép đọc NFC vẫn giống hệt nhau trong từng trường hợp.

CODE GIAO TIẾP UART GIỮA PN532 VÀ ARDUINO:

// for Hardware Serial 
/*#include <PN532_HSU.h>
  #include <PN532.h>
  PN532_HSU pn532hsu( Serial );
  PN532 nfc( pn532hsu );
*/

// for Software Serial
#include <SoftwareSerial.h>
#include <PN532_SWHSU.h>
#include <PN532.h>
SoftwareSerial SWSerial( 2, 3 ); // RX, TX
PN532_SWHSU pn532swhsu( SWSerial );
PN532 nfc( pn532swhsu );


String tagId = "None", dispTag = "None";
byte nuidPICC[4];

void setup(void) {

  Serial.begin(115200);
  Serial.println("Hello Maker!");
  //  Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);

  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (! versiondata) {
    Serial.print("Didn't Find PN53x Module");
    while (1); // Halt
  }

  // Got valid data, print it out!
  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);

  // Configure board to read RFID tags
  nfc.SAMConfig();

  Serial.println("Waiting for an ISO14443A Card ...");

}

void loop() {
  readNFC();
}

void readNFC() {

  boolean success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  // Buffer to store the returned UID
  uint8_t uidLength;                       // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);

  if (success) {
    Serial.print("UID Length: "); Serial.print(uidLength, DEC); Serial.println(" bytes");
    Serial.print("UID Value: ");

    for (uint8_t i = 0; i < uidLength; i++) {
      nuidPICC[i] = uid[i];
      Serial.print(" "); Serial.print(uid[i], DEC);
    }
    Serial.println();
    tagId = tagToString(nuidPICC);
    dispTag = tagId;
    Serial.print(F("tagId is : "));
    Serial.println(tagId);
    Serial.println("");

    delay(1000);  // 1 second halt

  } else {
    // PN532 probably timed out waiting for a card
    //Serial.println("Timed out! Waiting for a card...");
  }
}

String tagToString(byte id[4]) {
  String tagId = "";
  for (byte i = 0; i < 4; i++) {
    if (i < 3) tagId += String(id[i]) + ".";
    else tagId += String(id[i]);
  }
  return tagId;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SƠ ĐỒ ĐẤU NỐI THEO CƠ CHẾ SPI: Cài đặt thư viện PN532_SPI.h cho giao tiếp SPI

CODE GIAO TIẾP SPI GIỮA PN532 VÀ ARDUINO:

// for SPI Communication
#include <SPI.h>
#include <PN532_SPI.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_SPI interface(SPI, 10); // create a PN532 SPI interface with the SPI CS terminal located at digital pin 10
NfcAdapter nfc = NfcAdapter(interface); // create an NFC adapter object


String tagId = "None";

void setup(void) {
  Serial.begin(115200);
  Serial.println("System initialized");

  nfc.begin();
}

void loop() {
  readNFC();
}

void readNFC() {
  if (nfc.tagPresent())
  {
    NfcTag tag = nfc.read();
    tag.print();
    tagId = tag.getUidString();
  }
  delay(5000);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SƠ ĐỒ ĐẤU NỐI CƠ CHẾ I2C: Cài đặt Thư viện PN532_I2C.h cho giao tiếp I2C

CODE GIAO TIẾP I2C GIỮA PN532 VÀ ARDUINO:

// for I2C Communication
#include <Wire.h>
#include <PN532_I2C.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_I2C pn532_i2c(Wire);
NfcAdapter nfc = NfcAdapter(pn532_i2c);

String tagId = "None";
byte nuidPICC[4];

void setup(void) {
  Serial.begin(115200);
  Serial.println("System initialized");

  nfc.begin();
}

void loop() {
  readNFC();
}

void readNFC() {
  if (nfc.tagPresent())
  {
    NfcTag tag = nfc.read();
    tag.print();
    tagId = tag.getUidString();
  }
  delay(5000);
}
 

Bình luận

Không có sản phẩm nào trong giỏ hàng của bạn

Không có sản phẩm nào trong giỏ hàng của bạn

Cửa hàng linh kiện điện tử Đức Huy
Cửa hàng linh kiện điện tử Đức Huy