ה- PN532 הוא מודול קורא RFID/NFC רב תכליתי התומך במצבי תקשורת מרובים ותקני תקשורת, מה שהופך אותו לאידיאלי לאימות, תשלום ללא קשר ופרויקטים של IoT. מדריך זה ינחה אתכם בממשק את מודול PN532 עם ארדואינו לקריאת תגי RFID/NFC.
מה תצטרך
- מודול PN532 RFID/NFC
- לוח ארדואינו (למשל, אונו, מגה, ננו)
- קרש לחם
- חוטי מגשר
- תגיות RFID/NFC (למשל, כרטיסי mifare)
- מחשב עם Arduino IDE המותקן
שלב 1: הבנת מודול PN532
מודול PN532 תומך בשלושה מצבי תקשורת:
- I2c (ברירת מחדל עבור מודולים רבים): משתמש בקווי SDA ו- SCL.
- SPI: משתמש בקווי MOSI, MISO ו- SCK.
- 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, התקן את הספריות הבאות:
- ספריית Adafruit PN532
- ספריית Busio Adafruit (תלות בספריית PN532)
שלבים להתקנה:
- פתח את IDE Arduino.
- לך אל סְקִיצָה > כלול ספרייה > לנהל ספריות.
- חפש "Adafruit PN532" ולחץ לְהַתְקִין.
- חפש "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: בדוק את ההתקנה
- חבר את Arduino למחשב שלך באמצעות USB.
- פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
- העלה את הקוד לארדואינו על ידי לחיצה העלה.
- פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד
9600
. - מקם תג RFID/NFC בסמוך למודול PN532. על הצג הסידורי להציג את ה- UID של התג (מזהה ייחודי).
פתרון בעיות
- מודול לא זוהה: בדוק שוב את החיווט והבטיח כי מגשר המצב מוגדר ל- i2c.
- לא התגלה תג: ודא שהתג תואם (למשל, כרטיסי MiFare לדוגמה זו).
- קריאות לא שגרתיות: השתמש בחוטי מגשר קצרים יותר והבטיח כוח יציב למודול.
יישומים של מודול PN532
- מערכות בקרת גישה
- מערכות תשלום ללא קשר
- ניהול מלאי חכם
- מכשירי IoT הדורשים אימות מאובטח
מַסְקָנָה
התממשק בהצלחה את מודול ה- RFID/NFC PN532 עם Arduino וקרא תגיות RFID/NFC. מודול רב -תכליתי זה פותח אינסוף אפשרויות לאימות מאובטח והחלפת נתונים בפרויקטים שלך. התנסו בתכונות נוספות כמו כתיבה לתגיות או לתקשורת עמיתים לעמית לבניית יישומים מתקדמים יותר!