- חומרים בשימוש
- מודול קורא RFID EM18
- גלה תג RFID קוד ייחודי בן 12 ספרות באמצעות Arduino
- תרשים מעגל
- מודול חיישן הדפסת אצבע
- תכנות להצתה ללא מפתח RFID
כיום מרבית המכונית מגיעה עם כניסה ללא מפתח ומערכת הצתה בלחיצת כפתור, בה אתה רק צריך לסחוב את המפתח בכיס שלך ורק צריך לשים את האצבע על החיישן הקיבולי בידית הדלת כדי לפתוח את דלת הרכב. כאן בפרויקט זה, אנו מוסיפים עוד כמה מאפייני אבטחה למערכת זו באמצעות חיישן RFID וטביעת אצבע. חיישן RFID יאמת את רישיון המשתמש וחיישן טביעות האצבע יאפשר רק אדם מורשה ברכב.
עבור מערכת הצתה לרכב מבוססת טביעות אצבע, אנו משתמשים בארדואינו עם חיישן טביעות אצבע R305 וקורא RFID של EM18.
חומרים בשימוש
- ארדואינו ננו
- חיישן טביעות אצבע R305
- קורא RFID EM18
- 16 * 2 LCD אלפאנומרי
- מנועי DC
- נהג מנוע L293D IC
- Veroboard או Breadboard (כל הזמין)
- חוטי חיבור
- סוללת DC 12V
מודול קורא RFID EM18
RFID מייצג זיהוי תדרי רדיו. הכוונה היא לטכנולוגיה, בה מקודדים נתונים דיגיטליים בתגי RFID וניתן לפענח אותם על ידי קורא RFID באמצעות גלי רדיו. RFID דומה לברקוד בו נתונים מתג מפוענחים על ידי מכשיר. טכנולוגיית RFID משמשת ביישומים שונים כמו מערכת אבטחה, מערכת נוכחות עובדים, נעילת דלתות RFID, מכונת הצבעה מבוססת RFID, מערכת גביית אגרה וכו '.
EM18 Reader הוא מודול שיכול לקרוא את המידע המזהה המאוחסן בתגי RFID. תגי ה- RFID מאחסנים מספר ייחודי בן 12 ספרות שניתן לפענח על ידי מודול קורא EM18, כאשר התג מגיע בטווח הקורא. מודול זה פועל בתדר של 125 קילוהרץ, שיש לו אנטנה מובנית, והוא מופעל באמצעות ספק כוח DC 5 וולט.
זה נותן פלט נתונים סדרתי, ויש לו טווח של 8-12 ס"מ. פרמטרי התקשורת הטורית הם 8 סיביות נתונים, סיבית עצירה אחת וקצב שידור 9600.
תכונות EM18:
- מתח הפעלה: + 4.5V ל- + 5.5V DC
- צריכת זרם: 50mA
- תדר הפעלה: 125 KHz
- טמפרטורת פעולה: 0-80 מעלות צלזיוס
- קצב שידור תקשורת: 9600
- מרחק קריאה: 8-12 ס"מ
- אנטנה: מובנה
EM18 Pinout:
תיאור סיכה:
VCC: קלט מתח DC 4.5 - 5V
GND: סיכה קרקעית
זמזם: זמזם או סיכת LED
TX: פין משדר נתונים סידורי של EM18 עבור RS232 (פלט)
SEL: זה חייב להיות גבוה לשימוש ב- RS232 (LOW אם משתמשים ב- WEIGAND)
נתונים 0: נתוני WEIGAND 0
נתונים 1: נתוני WEIGAND 1
למידע נוסף על RFID ותגים, עיין בפרויקטים הקודמים שלנו בנושא RFID.
גלה תג RFID קוד ייחודי בן 12 ספרות באמצעות Arduino
לפני שתכנת את מערכת ההצתה לרכב Arduino עבור Arduino, ראשית, עלינו לברר את קוד RFID בן 12 הספרות הייחודי. כפי שדנו קודם, תגי RFID מכילים קוד ייחודי בן 12 ספרות וניתן לפענח אותו באמצעות קורא RFID. כאשר אנו מחליקים את תג ה- RFID ליד הקורא, הקורא ייתן את הקודים הייחודיים דרך היציאה הטורית. ראשית, חבר את הארדואינו לקורא ה- RFID לפי דיאגרמת המעגל ואז העלה את הקוד הנמצא למטה לארדואינו.
ספירת int = 0; card_no char הגדרת חלל () {Serial.begin (9600); } loop loop () {if (Serial.available ()) {count = 0; בעוד (Serial.available () && count <12) {card_no = Serial.read (); ספירת ++; עיכוב (5); } הדפס סידורי (card_no); }}
לאחר העלאת הקוד בהצלחה, פתח את המסך הטורי והגדר את קצב השידור ל 9600. ואז החלק את הכרטיס ליד הקורא. ואז הקוד בן 12 הספרות יתחיל להופיע בצג הטורי. בצע את התהליך עבור כל תגי ה- RFID המשומשים וציין אותו לצורך התייחסות עתידית.
תרשים מעגל
תרשים מעגלים למערכת הצתה מבוססת טביעות אצבע מובא להלן:
במקרה שלי, הלחמתי את המעגל השלם על לוח הפרופיל כמו שמוצג להלן:
מודול חיישן הדפסת אצבע
מודול חיישן הדפסת אצבע או סורק הדפסת אצבעות הוא מודול הלוכד את תמונת הדפסת האצבע ואז ממיר אותה לתבנית המקבילה ושומר אותם בזיכרון בזיהוי (מיקום) שנבחר על ידי Arduino. כאן כל התהליך מצווה על ידי ארדואינו כמו צילום תמונה של טביעת אצבע, המרה לתבניות ואחסון מיקום וכו '.
בעבר השתמשנו באותו חיישן R305 לבניית מכונת הצבעה, מערכת נוכחות, מערכת אבטחה וכו '. תוכל לבדוק את כל הפרויקטים מבוססי טביעת האצבע כאן.
רישום טביעות אצבע לחיישן:
לפני שתמשיך בתוכנית, עלינו להתקין את הספריות הנדרשות עבור חיישן טביעות האצבע. כאן השתמשנו ב- " Adafruit_Fingerprint.h " לשימוש בחיישן טביעות האצבע R305. אז קודם כל הורידו את הספרייה באמצעות הקישור הבא:
- ספריית חיישני טביעות האצבע של Adafruit
לאחר הורדה מוצלחת, ב- ID של Arduino, עבור אל קובץ > כלים> כלול ספרייה> הוסף ספריית zip . ואז בחר את מיקום קובץ ה- zip להתקנת הספרייה.
לאחר התקנת הספרייה המוצלחת, בצע את השלבים המפורטים להלן כדי לרשום טביעת אצבע חדשה בזיכרון החיישן.
1. ב- IDU של ארדואינו, עבור אל קובץ > דוגמאות > ספריית חיישני טביעות אצבע של Adafruit > הירשם.
2. העלה את הקוד לארדואינו ופתח את המסך הסידורי בקצב שידור של 9600.
חשוב: שנה את הסיכה הטורית של התוכנה לתוכנה ל- SoftwareSerial mySerial (12, 11).
3. עליך להזין מזהה לטביעת האצבע שבה ברצונך לאחסן את טביעת האצבע שלך. מכיוון שזו טביעת האצבע הראשונה שלי, הקלדתי 1 בפינה השמאלית העליונה ואז לחץ על כפתור שלח.
4. לאחר מכן האור בחיישן טביעות האצבע יהבהב מה שמצביע על כך שאתה צריך להניח את האצבע על החיישן ולאחר מכן בצע את הצעדים המוצגים בצג הסדרתי עד שהוא יאשר לך הרשמה מוצלחת.
תכנות להצתה ללא מפתח RFID
קוד מלא למערכת הצתה ביומטרית זו ניתן בסוף ההדרכה. כאן אנו מסבירים כמה חלקים חשובים בקוד.
הדבר הראשון הוא לכלול את כל הספריות הנדרשות. כאן במקרה שלי, כללתי את " Adafruit_Fingerprint.h " לשימוש בחיישן טביעות האצבע R305. לאחר מכן הגדר את היציאה הטורית בה יחובר חיישן טביעות האצבע. במקרה שלי, הכרזתי על 12 כסיכת RX ו- 11 כסיכת TX.
# כלול # כלול
בשלב הבא, הכריז על כל המשתנים, שישמשו לאורך כל הקוד. ואז הגדר את סיכות החיבור LCD עם Arduino ואחריו הכרזת אובייקט ממעמד LiquidCrystal .
קלט char ספירת int = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
לאחר מכן, בתוך הלולאה (), נכתב קוד כדי לקבל את הקודים הייחודיים של 12 הספרות של תגי ה- RFID והם מאוחסנים במערך. כאן אלמנטים של המערך יתאימו לקודים הייחודיים המאוחסנים בזיכרון, כדי לקבל את פרטי האדם המאומת.
ספירה = 0; בעוד (Serial.available () && count <12) { input = Serial.read (); ספירת ++; עיכוב (5); }
לאחר מכן, משווים את המערך שהתקבל עם קודי התגים המאוחסנים. אם קוד תואם, הרישיון נחשב תקף, מה שמאפשר למשתמש לשים טביעת אצבע תקפה. אחרת, הוא יציג רישיון לא חוקי.
אם ((strncmp (קלט, "3F009590566C", 12) == 0) && (a == 0)) { lcd.setCursor (0, 0); lcd.print ("רישיון תקף"); lcd.setCursor (0, 1); lcd.print ("ברוך הבא"); עיכוב (1000); a = 1; טביעת אצבע(); }
בשלב הבא, נכתבת פונקציה getFingerprintID שתחזיר מזהה טביעות אצבע תקף לטביעת אצבע רשומה כבר.
int getFingerprintID () { uint8_t p = finger.getImage (); אם (p! = FINGERPRINT_OK) החזר -1; p = finger.image2Tz (); אם (p! = FINGERPRINT_OK) החזר -1; p = finger.fingerFastSearch (); אם (p! = FINGERPRINT_OK) החזר -1; החזרת אצבע. fingerID; }
בתוך טביעת האצבע של הפונקציה () , הנקראת לאחר התאמת RFID מוצלחת, פונקציית getFingerprintID נקראת לקבל מזהה טביעות אצבע תקף. ואז משווים אותו באמצעות לולאת ה- if-else כדי לקבל את המידע לגבי נתוני אדם מאומת, ואם נתונים מותאמים, אז הרכב נדלק, אחרת הוא יבקש טביעת אצבע שגויה.
int טביעת אצבע = getFingerprintID (); עיכוב (50); אם (טביעת אצבע == 1) { lcd.setCursor (0, 0); lcd.print ("גישה מוענקת"); lcd.setCursor (0, 1); lcd.print ("רכב התחיל"); digitalWrite (9, HIGH); digitalWrite (10, LOW); ואילו (1); }
אז ככה עובדת מערכת הצתה לרכב זו RFID שמוסיפה שתי שכבות אבטחה לרכב שלך.
הקוד המלא וסרטון ההדגמה מובאים להלן.