תוכן עניינים:
- שלב 1: רשימת החומרים הדרושים
- שלב 2: הכנת ה- Arduino + RC-522
- שלב 3: ממשק Windows כתוב ב- C#
- שלב 4: שיפורים אפשריים
- שלב 5: תן אגודל למעלה !
וִידֵאוֹ: נותן חסות עם C# ו- Arduino + RC-522: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
רישומי נותני חסות הם די נפוצים. עם זאת, ניהולם אינו תמיד משימה קלה, הוא רישום כמה הקפות כל קבוצה רצה בצורה יעילה. החלטתי להשתמש ב- RFID כדי להשתמש בו כסמל לזיהוי כל צוות. בשילוב עם העובדה שאתה יכול לאסוף כרטיס קורא RF-522 RFID וארדואינו די זול, זה מאפשר לבנות מערכת זו די בקלות.
שלב 1: רשימת החומרים הדרושים
- לוח Arduino: כל לוח יעשה. אני משתמש בארדואינו ננו בגודלו
- סביבת פיתוח Arduino
- RC-522: ניתן לרכוש/להזמין מקומי או בחו"ל
- תגי MiFare 13.56 MHz. בדרך כלל כמה דוגמאות עשויות להגיע עם לוח RC-522 שלך. סוג התג לא משנה. רק בדוק שהם התדר הנכון.
- מחשב שבו פועל Windows ומותקן Visual Studio אם ברצונך לשנות את הקוד.
שלב 2: הכנת ה- Arduino + RC-522
התמונה למעלה מציגה את החיווט של מודול RC-522 לארדואינו. כל ארדואינו יעשה. אז אם יש לך Arduino Nano זמין, תוכל לשקול להשתמש בזה. ב- thingiverse אתה יכול למצוא כמה מקרים לאגרוף הכל ביחד. ניסיתי אחת, אבל השוליים שלה להדפסה היו קטנים מדי, והסתיימו בהדפסה תלת מימדית בלתי שימושית.
אני עדיין עובד על תיק טוב בשביל זה.
על מנת להשתמש בלוח RC-522 שלך, יהיה עליך להוסיף ספריה לעורך Arduino. לרוע המזל, אין זו ספרייה המנוהלת על ידי עורך Arduino, כך שתצטרך להוסיף לה את שיטת "האסכולה הישנה" להורדתה והעתקתה לתיקיית הספריות. אל תשכח להפעיל מחדש את עורך Arduino כדי שיהיה נגיש.
ניתן למצוא את הספרייה בכתובת
כעת, העורך מוכן. הגיע הזמן להעלות את הסקריפט לארדואינו שלך. אם תנתח את הקוד, תמצא שיש מרווח של 5000 אלפיות השנייה שבו נמנע מהדפסת אותו מפתח מספר פעמים. אתה יכול לשנות את המרווח הזה, אבל אם אתה מגדיר אותו קטן מדי, אותו מפתח יוצג מספר פעמים אחת אחרי השנייה.
אז עכשיו הגיע הזמן לבדוק אם החלק הזה עובד. ה- RFID שבהם אני משתמש הם fobs סטנדרטיים של 1Kb ב- 13.56 MHz, שגם הם זמינים בזול מאוד.
פתח את הצג הסידורי של עורך Arduino וצפה במפתחות המופיעים כשאתה מביא אותם למודול RC-522.
שלב 3: ממשק Windows כתוב ב- C#
תמצא תיקייה דחוסה המכילה את פרויקט C#. הורד אותו ופרק אותו. הקוד נכתב ב- Visual Studio 2017 מיקוד. NET framework 4.6.1. כל מחשב מעודכן צריך להיות בעל זה ויכול לבצע אותו. אינך בהכרח צריך להתקין את Visual Studio. הקוד ניתן למי שרוצה לשנות או לבחון אותו. ללא שינויים בתוכנית, משך הריצה נקבע לשעה ו -30 דקות. זמן ההקפה הרגיל נקבע ל -50 שניות, כלומר למסלול של 400 מטר.
ניתן למצוא את קובץ ההפעלה בתיקיית Debug הנמצאת תחת התיקיה SponsorRun / SponsorRun / bin.
בתיקייה זו נמצאים גם קבצי הטקסט המשמשים בפרויקט זה לאחסון הנתונים.
קבצי הטקסט הם:
- rfidKeys.txt: מכיל את המפתחות לצוותים השונים. המפתח הראשון הוא לקבוצה הראשונה, וכן הלאה. תוכל להסיר קובץ זה ולהוסיף מפתחות משלך (חפש למטה כיצד פועלת התוכנית)
- teams.txt: מכיל את השמות של הצוותים השונים. השם הפרטי הוא לקבוצה הראשונה, וכן הלאה. ערוך קובץ זה בעזרת עורך טקסט רגיל (פנקס רשימות עשוי לעשות זאת).
- results.txt: קובץ בפורמט CSV המכיל את תוצאות ההקפות השונות של הקבוצות (עשוי להיעדר, כאשר לא נרשמו הקפות עד כה)
- fraude.txt: קובץ בפורמט CSV המכיל צוותים המנסים לרמות (עשוי להיעדר, כאשר טרם זוהתה רמאות)
אופן הפעולה של התוכנית הוא כדלקמן:
- בעת האתחול התוכנית מזהה את יציאות ה- COM השונות במחשב שלך. עליך לבחור את יציאת ה- COM שהוקצתה ל- Arduino שלך על מנת לאפשר את התקשורת. כברירת מחדל, קצב מהירות ה- COM צריך להיות 9600 bps, התואם את המהירות שנקבעה בקוד הארדואינו.
- לחץ על כפתור "התחל להאזין" כדי להפעיל את התקשורת
-
מנקודה זו ואילך תוכל לבחור בין שתי פונקציות:
- קרא מפתחות RFID: זה מוסיף מפתחות חדשים לקובץ rfidKeys.txt
- הרשמת הקפה (אפשרות ברירת מחדל): רישום הקפה חדשה לקובץ results.txt. בכל פעם שנקרא מפתח תקף, תופיע הודעה וצליל צפצוף יישמע לאישור ההרשמה. שורה תתווסף ל- results.txt. במקרה של ניסיון לרמות, ההודעה תופיע בתיבת טקסט נפרדת, צפצוף נוסף יישמע והתוצאה תיכתב ל- fraude.txt. במקרה זה, זמן ההקפה יוגדר לרגע בו התגלתה הרמאות.
שלב 4: שיפורים אפשריים
יצרתי את הפרויקט הזה למצב ספציפי בבית הספר שלי. ברור שחלק מהפרמטרים שבהם נעשה שימוש לא מתאימים לפרויקט שלך. לעת עתה, יהיה עליך להתאים את הפרמטרים בקוד C# ולרכב מחדש את התוכנית, מה שמחייב התקנה של Visual Studio (התקנה כבדה של 3.5 GB). אם יש תגובה סבירה, אני יכול לשקול לקרוא פרמטרים אלה מקובץ חיצוני.
מקרי התלת מימד שמצאתי לדיור בפרויקט ארדואינו אינם שמישים. התחלתי באחד, אבל היו לי כמה כישלונות, וזו הסיבה שעדיין לא הוספתי אותם. כל מי שרוצה לשתף אחד יכול ליצור איתי קשר, כדי שאוכל להתייחס לעבודה שלך במדריך זה.
שלב 5: תן אגודל למעלה !
אני מקווה שתוכל להשתמש בפרויקט הזה ואני מצפה לשמוע ממך.