RC522 เป็นโมดูล RFID ยอดนิยมที่ใช้สำหรับการสื่อสารไร้สายและการระบุตัวตน มันถูกใช้อย่างกว้างขวางในระบบควบคุมการเข้าถึงระบบการชำระเงินแบบไม่สัมผัสและการติดตามสินค้าคงคลัง บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อโมดูล RC522 RFID กับ Arduino เพื่ออ่านแท็ก RFID และการ์ด
สิ่งที่คุณต้องการ
- โมดูล RC522 RFID
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- แท็ก RFID หรือการ์ด (13.56 MHz)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: ทำความเข้าใจโมดูล RC522 RFID
โมดูล RC522 RFID ทำงานที่ 13.56 MHz และสื่อสารกับไมโครคอนโทรลเลอร์โดยใช้โปรโตคอล SPI มันมาพร้อมกับเสาอากาศ RFID และรองรับทั้งการอ่านและการเขียน
rc522 pinout
เข็มหมุด | การทำงาน |
---|---|
SDA | SPI SS (Slave Select) |
SCK | นาฬิกา SPI |
Mosi | อินพุตข้อมูล SPI |
มิโซะ | เอาต์พุตข้อมูล SPI |
IRQ | คำขอขัดจังหวะ (ไม่บังคับ) |
gnd | พื้น |
ครั้งแรก | รีเซ็ต |
3.3V | แหล่งจ่ายไฟ |
บันทึก: RC522 ทำงานบนตรรกะ 3.3V; ตรวจสอบให้แน่ใจว่าการเชื่อมต่อของคุณตรงกับข้อกำหนดแรงดันไฟฟ้าของบอร์ด
ขั้นตอนที่ 2: เดินสาย RC522 ไปยัง Arduino
นี่คือวิธีการเชื่อมต่อโมดูล RC522 RFID กับ Arduino UNO:
rc522 pin | พิน Arduino |
---|---|
SDA | พิน 10 |
SCK | PIN 13 |
Mosi | พิน 11 |
มิโซะ | PIN 12 |
IRQ | ไม่ได้เชื่อมต่อ |
gnd | gnd |
ครั้งแรก | พิน 9 |
3.3V | 3.3V |
บันทึก: สำหรับบอร์ด Arduino อื่น ๆ ให้แน่ใจว่าคุณแมปหมุด SPI อย่างถูกต้อง
ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ
ในการทำงานกับโมดูล RC522 ให้ติดตั้งไลบรารี "MFRC522"
ขั้นตอนในการติดตั้ง:
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ค้นหา "MFRC522" แล้วคลิก ติดตั้ง.
ขั้นตอนที่ 4: อัปโหลดรหัส
นี่คือตัวอย่างตัวอย่างในการอ่านข้อมูลแท็ก RFID:
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Reset pin
#define SS_PIN 10 // Slave select pin
MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library
void setup() {
Serial.begin(9600);
while (!Serial);
SPI.begin(); // Initialize SPI bus
rfid.PCD_Init(); // Initialize RFID reader
Serial.println("RC522 RFID Reader Initialized");
}
void loop() {
// Check for a new card
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
Serial.println("Card detected:");
// Print the UID of the card
Serial.print("UID: ");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
rfid.PICC_HaltA(); // Halt the card
}
ขั้นตอนที่ 5: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - วางแท็กหรือการ์ด RFID ใกล้กับโมดูล UID ของการ์ดจะแสดงในจอภาพอนุกรม
ตัวเลือก: การเขียนข้อมูลไปยังแท็ก RFID
ในการเขียนข้อมูลไปยังแท็ก RFID คุณสามารถใช้ไฟล์ PICC_Write
ฟังก์ชั่นในไลบรารี MFRC522 อ้างถึงตัวอย่างห้องสมุดสำหรับการดำเนินการเขียนโดยละเอียด
แอปพลิเคชันของ RC522
- ระบบควบคุมการเข้าถึง
- ระบบการชำระเงินแบบไม่สัมผัส
- การติดตามและการจัดการสินค้าคงคลัง
- ระบบการเข้าร่วมอัจฉริยะ
การแก้ไขปัญหา
- ไม่มีการตอบสนองจากโมดูล: ตรวจสอบสายไฟและตรวจสอบให้แน่ใจว่าการเชื่อมต่อ SPI นั้นถูกต้อง
- ไม่พบ UID: ตรวจสอบให้แน่ใจว่าแท็กอยู่ในช่วงของเสาอากาศ RFID
- ข้อผิดพลาดของห้องสมุด: ตรวจสอบว่ามีการติดตั้งไลบรารี MFRC522 อย่างถูกต้อง
บทสรุป
คุณสามารถเชื่อมต่อโมดูล RFID RC522 กับ Arduino ได้สำเร็จทำให้คุณสามารถอ่านข้อมูลแท็ก RFID ได้ โมดูลอเนกประสงค์นี้เหมาะสำหรับโครงการที่ต้องการการสื่อสารและการระบุตัวตนไร้สาย ทดลองกับคุณสมบัติเพิ่มเติมเช่นการเขียนข้อมูลเพื่อแท็กหรือรวมเข้ากับระบบขนาดใหญ่สำหรับแอปพลิเคชันขั้นสูง!