תוכן עניינים:
- שלב 1: הגדרת Arduino ו- RFID RC-522 (חיבור פיזי)
- שלב 2: קוד Arduino.,
- שלב 3: הגדרת MySQL
- שלב 4: הגדרת עיבוד IDE
- שלב 5: ביצוע התוכנית
- שלב 6: מסקנה
וִידֵאוֹ: אפליקציית סופרמרקט פשוטה באמצעות RFID RC-522 ו- Arduino Mega: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
טוב לראות אתכם שוב כאן בהדרכה נוספת שלי, הנה אני עומד לעזור לכם ליצור יישום סופרמרקט פשוט באמצעות RFID RC-522 וארדואינו עם עיבוד ליצירת GUI פשוט.
הערה: אל תפעיל את הצג הטורי של Arduino בעת הפעלת קוד העיבוד מכיוון שיתקיים התנגשות ביציאות מכיוון ששניהם צריכים להשתמש באותה יציאה
אתה צריך:
- Arduino Mega או Arduino Uno (השתמשתי במגה)
- RFID-RC522
- 7 חוטי מגשר בין זכר לנקבה
- כמה תעודות זהות (אופציונלי)
- ספריית RFID (חובה, קישור למטה)
- שרת Wamp
- עיבוד IDE 2.2.1 (אל תשתמש יותר מזה)
- ספריית BezierSQLib-0.2.0 לעיבוד (קישור הורדה למטה)
לאחר מכן הורד את ספריית ה- RFID למטה והוסף אותה ל- IDE Arduino שלך על ידי לחיצה על סקיצה-> כלול ספרייה-> הוסף ספריית zip בתפריט הקבצים.
שלב 1: הגדרת Arduino ו- RFID RC-522 (חיבור פיזי)
פשוט חבר את הארדואינו עם 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: קוד Arduino.,
העתק את הקוד להלן ולאחר מכן העלה אותו ל- 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 (אפס). */
#הגדר SDA_DIO 9 #הגדר RESET_DIO 8
/ * צור מופע של ספריית ה- RFID */
RFID RC522 (SDA_DIO, RESET_DIO); קורא int = 0;
הגדרת חלל ()
{Serial.begin (9600); / * הפעל את ממשק SPI */ SPI.begin (); / * אתחל את קורא ה- RFID */ RC522.init (); }
לולאת חלל ()
{ / * מונה לולאה זמני * / בייט i;
/* האם זוהה כרטיס? */
if (RC522.isCard ()) { / * אם כן אז קבל את המספר הסידורי שלו * / RC522.readCardSerial ();
/ * פלט את המספר הסידורי ל- UART */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); } Serial.print (","); Serial.print (קורא ++); Serial.println (); } עיכוב (1000); }
שלב 3: הגדרת MySQL
- התקן את שרת Wamp עבור MySQL והגדר אותו לאחסון נתונים (
- הפעל את שרת wamp פתח את קונסולת MySQL
- בחר מסד נתונים
- לאחר מכן צור את הטבלה עבור הנתונים שלך
צור טבלה rfid (מזהה int (8), int אסימון (1), שם varchar (20), סכום int (4));
עכשיו צפה בקישור הזה כדי ללמוד כיצד להשיג את ערך תג ה- RFID שלך ולאחר מכן השתמש בקוד שלהלן כדי להכניס נתונים. אל תשכח להחליף את ערך המזהה בערך תג ה- RFID שלך
הכנס לערכי rfid (3756178, 1, 'Pencil', 20);
השתמש בערך אסימון כ- 1 כך שאחרי קריאת ערך התג בפעם הראשונה הוא ישתנה אוטומטית ל -2, אל תשתמש ב -0 לערך אסימון כאשר כרטיס קריאה שאינו מוכנס ב- DB הוא יקצה 0 ואז יציג אותו ככרטיס לא ידוע..
שלב 4: הגדרת עיבוד IDE
- הורד והתקן את מזהה העיבוד 2.2.1
- חלץ את ה- ZIP הנתון לעיל ל- MyDocuments/Processing/Libraries
- כעת פתח את עיבוד IDE ובדוק שהספרייה מותקנת כראוי או לא כמו בתמונה למעלה
- לאחר מכן העתק את הקוד שלהלן לעיבוד ושמו אותו בעצמך
יבוא de.bezier.data.sql.*; ייבוא עיבוד. סדרה.*; // יבוא java.math. BigInteger;
// נוצר 2005-05-10 על ידי fjenett
// עודכן fjenett 20080605
חיבור MySQL dbconnection;
מחרוזת s = ""; int Wheight = 700; int Width = 1200; תעודת זהות ארוכה; int token; int סכום; int סה"כ = 0;
מחרוזת a = {"NULL", "NULL"};
int int = 10; // המספר 10 הוא ASCII עבור linefeed (סוף של serial.println), מאוחר יותר נחפש זאת כדי לפרק הודעות בודדות מחרוזת סידורי; // להכריז על מחרוזת חדשה בשם 'סדרתי'. מחרוזת היא רצף של תווים (סוג הנתונים המכונה "char") יציאה טורית; Curr string, prev, name; PFont f;
הגדרת חלל ()
{// גודל (רוחב, משקל); גודל (700, 500); f = createFont ("Arial", 24, true); // דוגמה זו מניחה שאתה מפעיל את שרת // mysql באופן מקומי (ב- "localhost"). // // להחליף-שם משתמש--,-סיסמא-- עם חשבון mysql שלך. // משתמש מחרוזת = "root"; מעבר מחרוזת = ""; // שם מסד הנתונים לשימוש // מסד נתונים מחרוזת = "IOT_Database"; // שם הטבלה שתיווצר טבלת מחרוזות = ""; // התחבר למסד הנתונים של השרת "localhost" dbconnection = MySQL חדש (זה, "localhost", מסד נתונים, משתמש, מעבר); port = new Serial (this, Serial.list () [0], 9600); // אתחול האובייקט על ידי הקצאת יציאה וקצב שידור (חייב להתאים לזה של Arduino) port.clear (); // פונקציה מספרייה טורית שזורקת את הקריאה הראשונה, למקרה שהתחלנו לקרוא באמצע מחרוזת מתוך Arduino serial = port.readStringUntil (סוף); // פונקציה שקוראת את המחרוזת מיציאה טורית עד להדפסה ולאחר מכן מקצה מחרוזת למשתנה המחרוזת שלנו (שנקרא 'סדרתי') serial = null; } צייר חלל () {רקע (255); textFont (f, 24); מילוי (0); טקסט ("סכום כולל:", 400, 400); טקסט (סה"כ, 585, 400); נתונים(); בעוד (port.available ()> 0) {// כל עוד יש נתונים שמגיעים מיציאה טורית, קרא אותם ושמור אותם serial = port.readStringUntil (סוף); } אם (סדרתי! = null) {prev = curr; curr = a [1]; a = פיצול (סדרתי, ','); // מערך חדש (הנקרא 'א') המאחסן ערכים לתאים נפרדים (מופרדים בפסיקים המצוינים בתוכנית Arduino שלך) אם ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("הקודם", הקודם); פוּנקצִיָה(); }}}
פונקציית חלל ()
{if (dbconnection.connect ()) {// עכשיו קראו אותו בחזרה // dbconnection.query ("SELECT * מ- rfid שבו מזהה ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("מזהה"); token = dbconnection.getInt ("אסימון"); סכום = dbconnection.getInt ("סכום"); } if (אסימון == 0) {println ("אישור"); textFont (f, 54); מילוי (255, 0, 0, 160); טקסט ("פריט לא ידוע זוהה", 50, 300); עיכוב (2000); } אחרת אם (אסימון == 1) {סה"כ = סה"כ+סכום; dbconnection.query ("עדכון אסימון ערכת rfid = 2 שבו מזהה ="+a [0]+""); println ("אישור"); textFont (f, 24); מילוי (255, 0, 0, 160); // טקסט ("פריט נוסף", 10, 30); עיכוב (1000); } אחרת אם (אסימון == 2) {סה"כ = סה"כ-סכום; dbconnection.query ("עדכון אסימון קבוצה rfid = 1 שבו מזהה ="+a [0]+""); println ("אישור"); textFont (f, 24); מילוי (255, 0, 0, 160); // טקסט ("פריט הוסר", 10, 30); עיכוב (1000); } אחר {} dbconnection.close (); } אחר {// החיבור נכשל! }}
נתוני ריק ()
{מיקום int = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * מ- rfid איפה אסימון = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("שם"); סכום = dbconnection.getInt ("סכום"); textFont (f, 24); מילוי (0, 0, 255, 160); טקסט (שם, 10, מיקום); מילוי (0, 0, 0, 160); טקסט (כמות, 215, מיקום); מיקום = מיקום+30; }} dbconnection.close (); }
שלב 5: ביצוע התוכנית
הפעל את התוכנית על ידי לחיצה על כפתור ההפעלה אל תסגור את סגירת חלון המוקפץ תפסיק את הביצוע ומתחת לשאילתה כדי להציג נתונים מאוחסנים ב- MySQL …
שלב 6: מסקנה
ברצוני להודות לך על קריאת ההדרכה שלי. אודה לך אם תמצא את זה שימושי ותוריד לייק (מועדף) או תשאל אותי כל דבר מכיוון שזה נותן לי מוטיבציה לעשות את ההוראות האלה. אל תהסס לשאול כל שאלה שאתה צריך לדעת …
קידוד שמח Arduino…
מוּמלָץ:
שליטה ב- Led באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: 5 שלבים
שליטה באמצעות LED באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: שלום לכולם היום נראה לכם כיצד תוכלו לשלוט על LED באמצעות סמארטפון דרך האינטרנט
תחנת הלחמה פשוטה /עזרה פשוטה: 4 שלבים
תחנת הלחמה /עזרה פשוטה: הנה העסקה. נכנסת לגלישה באינטרנט כדי ללמוד כיצד להכין תחנת הלחמה /עזרה בידיים. ונחתת באתר הזה. האתר הטוב ביותר שנוצר על ידי משתמש DIY בדפדפן הפלנטה. עכשיו אני מציע לך לחפש במיוחד באתר ההוראות הלחמה
IOT: ESP 8266 Nodemcu השליטה ברצועת LED Neopixel Ws2812 באמצעות האינטרנט באמצעות אפליקציית BLYNK: 5 שלבים
IOT: ESP 8266 Nodemcu השליטה ברצועת LED Neopixel Ws2812 באמצעות האינטרנט באמצעות אפליקציית BLYNK: שלום חבר'ה, במדריך זה הכנתי מנורה באמצעות רצועת LED של neopixel הניתנת לשליטה באינטרנט מכל רחבי העולם באמצעות אפליקציית BLYNK ו- nodemcu היא עובד כמוח של הפרויקט הזה, אז הפוך את אור הסביבה שלך עבורך
אפליקציית IOS פשוטה למודולי BLE: 4 שלבים
אפליקציית IOS פשוטה למודולי BLE: מדריך זה עוסק באופן יצירת אפליקציית iOS עם פונקציונליות בסיסית ביותר. הוראה זו לא תעבור את כל התהליך של יצירת אפליקציית iOS BLE. זה ייתן רק סקירה ברמה גבוהה של כמה אלמנטים חשובים עם
שלוט בארדואינו באמצעות סמארטפון באמצעות USB באמצעות אפליקציית Blynk: 7 שלבים (עם תמונות)
שליטה בארדואינו באמצעות סמארטפון באמצעות USB באמצעות אפליקציית Blynk: במדריך זה נלמד כיצד להשתמש באפליקציית Blynk ובארדואינו על מנת לשלוט במנורה, השילוב יהיה באמצעות יציאה טורית USB. מטרת ההוראה היא להראות את הפתרון הפשוט ביותר לשלוט מרחוק בארדואינו או ב