תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
היי שם במדריך זה אני עומד לעזור לך בממשק RFID-RC522 עם Arduino Mega 2560 כדי לקרוא את ה- RFID ולהציג את הנתונים על הצג הסידורי. כך שתוכל להרחיב אותו בעצמך
אתה צריך:
- Arduino Mega או Arduino Uno (השתמשתי במגה)
- RFID-RC522
- 7 חוטי מגשר בין זכר לנקבה
- כמה תעודות זהות (אופציונלי)
- ספריית RFID (חובה, קישור למטה)
לאחר מכן הורד את הספרייה למטה והוסף אותה ל- IDE Arduino שלך על ידי לחיצה על סקיצה-> כלול ספרייה-> הוסף ספריית zip בתפריט הקבצים
שלב 1: פירוט חיבור פיזי
פשוט חבר את הארדואינו עם RFID-RC522 כפי שמוצג בתמונה למעלה.
אזהרה: ספק 3.3V בלבד אחרת המודול יישרף
הצמד עבור אונו/ננו ומגה
מודול RC522 Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
שלב 2: ערך פשוט לקריאה והדפסה של תגי RFID
העתק את הקוד להלן ולאחר מכן העלה אותו ל- Arduino שלך
/*PINOUT: מודול RC522 Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*כלול את ספריית ה- Arduino SPI הסטנדרטית */ #include/ *כלול את ספריית ה- RFID */ #include
/* הגדר את ה- DIO המשמש לסיכות SDA (SS) ו- RST (אפס). */
#define SDA_DIO 9 #define RESET_DIO 8 / * צור מופע של ספריית RFID * / RFID RC522 (SDA_DIO, RESET_DIO);
הגדרת חלל ()
{Serial.begin (9600); / * הפעל את ממשק SPI */ SPI.begin (); / * אתחל את קורא ה- RFID */ RC522.init (); }
לולאת חלל ()
{ /* האם זוהה כרטיס? */ if (RC522.isCard ()) {/ *אם כן אז קבל את המספר הסידורי שלו */ RC522.readCardSerial (); Serial.println ("כרטיס זוהה:"); for (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // להדפסת פרטי כרטיס בפורמט Hexa Decimal} Serial.println (); Serial.println (); } עיכוב (1000); }
שלב 3: קוד פשוט ליישום סופרמרקט באמצעות RFID
העתק את הקוד להלן ולאחר מכן העלה אותו ל- Arduino שלך. להלן ערך הרכישה הכולל יעלה בעת קריאת הכרטיס בפעם הראשונה ואז יורד בעת קריאת אותו בפעם השנייה …
/*
PINOUT:
מודול RC522 Uno/Nano MEGA
SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
*
* כלול את הספרייה הסטנדרטית של Arduino SPI */
#include / * כלול את ספריית ה- RFID * / #include
/* הגדר את ה- DIO המשמש לסיכות SDA (SS) ו- RST (אפס). */
#define SDA_DIO 9 #define RESET_DIO 8 int productname [5] = {228, 18, 37, 75, 24}; מוצר int [5] = {100, 120, 230, 125, 70}; int token [5] = {0, 0, 0, 0, 0}; int סך הכל; / * צור מופע של ספריית RFID */ RFID RC522 (SDA_DIO, RESET_DIO);
הגדרת חלל ()
{Serial.begin (9600); / * הפעל את ממשק SPI */ SPI.begin (); / * אתחל את קורא ה- RFID */ RC522.init (); }
לולאת חלל ()
{ / * מונה לולאה זמני * / בתים i = 0; בת j = 0; בתים k = 0; int ID;
/* האם זוהה כרטיס? */
if (RC522.isCard ()) { / * אם כן אז קבל את המספר הסידורי שלו * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);
//Serial.println("כרטיס זוהה: ");
/ * פלט את המספר הסידורי ל- UART */
מזהה = RC522.serNum [0]; //Serial.print(ID); Serial.println (""); עבור (i = 0; i <5; i ++) {if (שם המוצר == מזהה) {Serial.println ("סה"כ רכישה"); if (אסימון == 0) {סה"כ = סה"כ+מוצר ; אסימון = 1; } אחר {סה"כ = סה"כ-מוצר ; אסימון = 0; } Serial.println (סה"כ); לשבור; } אחרת אם (i == 5) {Serial.println ("גישה נדחתה"); לשבור; }} Serial.println (); Serial.println (); } עיכוב (1000); }
שלב 4: מסקנה.,
ברצוני להודות לך על קריאת ההדרכה שלי. אודה לך אם תמצא את זה שימושי ותוריד לייק (מועדף) או תשאל אותי כל דבר מכיוון שזה נותן לי מוטיבציה לעשות את ההוראות האלה. אל תהסס לשאול כל שאלה שאתה צריך לדעת …
קידוד שמח Arduino…