כיצד להשתמש בקורא RFID/NFC PN532 עם Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

ה- PN532 הוא מודול קורא RFID/NFC רב תכליתי התומך במצבי תקשורת מרובים ותקני תקשורת, מה שהופך אותו לאידיאלי לאימות, תשלום ללא קשר ופרויקטים של IoT. מדריך זה ינחה אתכם בממשק את מודול PN532 עם ארדואינו לקריאת תגי RFID/NFC.

מה תצטרך

  1. מודול PN532 RFID/NFC
  2. לוח ארדואינו (למשל, אונו, מגה, ננו)
  3. קרש לחם
  4. חוטי מגשר
  5. תגיות RFID/NFC (למשל, כרטיסי mifare)
  6. מחשב עם Arduino IDE המותקן

שלב 1: הבנת מודול PN532

מודול PN532 תומך בשלושה מצבי תקשורת:

  1. I2c (ברירת מחדל עבור מודולים רבים): משתמש בקווי SDA ו- SCL.
  2. SPI: משתמש בקווי MOSI, MISO ו- SCK.
  3. UART (סדרתי): משתמש בסיכות TX ו- RX.

במדריך זה נשתמש ב מצב I2C, מכיוון שפשוט יותר להגדיר ולתמוך בהרחבה.

Pn532 pinout במצב i2c

פִּין פוּנקצִיָה
VCC ספק כוח (3.3V/5V)
GND טָחוּן
SDA קו נתונים I2C
SCL קו שעון I2C

שלב 2: חיווט ה- PN532 לארדואינו

כך תוכלו לחבר את מודול PN532 למצב Arduino uno במצב i2c:

PN532 PIN סיכת ארדואינו
VCC 5V
GND GND
SDA A4
SCL A5

פֶּתֶק: אם למודול שלך יש מגשר בחירת מצב, הגדר אותו למצב i2c.

שלב 3: התקן את הספריות הנדרשות

כדי לפשט את האינטראקציה עם מודול PN532, התקן את הספריות הבאות:

  1. ספריית Adafruit PN532
  2. ספריית Busio Adafruit (תלות בספריית PN532)

שלבים להתקנה:

  1. פתח את IDE Arduino.
  2. לך אל סְקִיצָה > כלול ספרייה > לנהל ספריות.
  3. חפש "Adafruit PN532" ולחץ לְהַתְקִין.
  4. חפש "Busyio adafruit" ולחץ לְהַתְקִין.

שלב 4: העלה את הקוד

להלן סקיצה דוגמה לקרוא נתונים מתג RFID/NFC:

#include <Wire.h>
#include <Adafruit_PN532.h>

#define SDA_PIN A4
#define SCL_PIN A5

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
  Serial.begin(9600);
  Serial.println("PN532 RFID/NFC Reader Test");

  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("Didn't find PN532 module. Check connections.");
    while (1);
  }

  Serial.println("Found PN532 module.");
  nfc.SAMConfig(); // Configure the module in normal mode
  Serial.println("Waiting for an NFC card...");
}

void loop() {
  uint8_t success;
  uint8_t uid[] = { 0 }; // Buffer to store UID
  uint8_t uidLength;     // Length of the UID

  // Check if an NFC card is present
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

  if (success) {
    Serial.println("Found an NFC 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); // Wait 1 second
  }
}

שלב 5: בדוק את ההתקנה

  1. חבר את Arduino למחשב שלך באמצעות USB.
  2. פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
  3. העלה את הקוד לארדואינו על ידי לחיצה העלה.
  4. פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד 9600.
  5. מקם תג RFID/NFC בסמוך למודול PN532. על הצג הסידורי להציג את ה- UID של התג (מזהה ייחודי).

פתרון בעיות

  • מודול לא זוהה: בדוק שוב את החיווט והבטיח כי מגשר המצב מוגדר ל- i2c.
  • לא התגלה תג: ודא שהתג תואם (למשל, כרטיסי MiFare לדוגמה זו).
  • קריאות לא שגרתיות: השתמש בחוטי מגשר קצרים יותר והבטיח כוח יציב למודול.

יישומים של מודול PN532

  1. מערכות בקרת גישה
  2. מערכות תשלום ללא קשר
  3. ניהול מלאי חכם
  4. מכשירי IoT הדורשים אימות מאובטח

מַסְקָנָה

התממשק בהצלחה את מודול ה- RFID/NFC PN532 עם Arduino וקרא תגיות RFID/NFC. מודול רב -תכליתי זה פותח אינסוף אפשרויות לאימות מאובטח והחלפת נתונים בפרויקטים שלך. התנסו בתכונות נוספות כמו כתיבה לתגיות או לתקשורת עמיתים לעמית לבניית יישומים מתקדמים יותר!

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.