אבטחה היא עניין מרכזי בחיי היום יום שלנו, ומנעולים דיגיטליים הפכו לחלק חשוב ממערכות האבטחה הללו. ישנם סוגים רבים של מערכות אבטחה הזמינות להבטחת מקומנו. כמה דוגמאות הן מערכת אבטחה מבוססת PIR, מערכת אבטחה מבוססת RFID, מערכת נעילה דיגיטלית, מערכות ביו-מטריצות, נעילת קוד אלקטרוניקה. בפוסט זה אנו נתממשק מודול חיישן טביעות אצבע עם Arduino ונבנה מערכת אבטחה ביומטרית מבוססת טביעות אצבע עם נעילת דלתות. טביעת אצבע נחשב לאחד המפתחות הבטוחים ביותר לנעילה או לביטול נעילה של כל מערכת מכיוון שהוא יכול לזהות כל אדם באופן ייחודי ולא ניתן להעתיק אותו בקלות.
רכיבים נדרשים:
- ארדואינו אונו
- מודול הדפסת אצבע
- לחצן -4
- נוריות -2
- נגד 1K -3
- נגן 2.2K -1 '
- ספק כוח
- חוטי חיבור
- קופסת קרטון
- מנוע סרוו -1
- 16x2 LCD -1
- לוח לחם -1
מודול חיישן הדפסת אצבע עם Arduino:
מודול חיישן הדפסת אצבע או סורק הדפסת אצבעות הוא מודול אשר לוכד את תמונת הדפסת האצבע ואז ממיר אותה לתבנית המקבילה ושומר אותם בזיכרון בזיהוי (מיקום) שנבחר על ידי Arduino. כאן כל התהליך מצווה על ידי ארדואינו כמו צילום תמונה של טביעת אצבע, המרה לתבניות ואחסון מיקום וכו '.
בכך פרויקט חיישן Arduino טביעות אצבע, השתמשנו מודול חיישן טביעות האצבע לקחת אצבע או רושם אגודל כקלט במערכת. כאן אנו משתמשים בארבעה כפתורי לחיצה כדי להירשם / לחזור, מחק / אישור, למעלה ולמטה. לכל מפתח יש תכונות כפולות. מקש ההרשמה משמש גם לרישום הופעת אצבע חדשה למערכת ולתפקוד הגב. פירוש הדבר כאשר המשתמש רוצה לרשום אצבע חדשה ואז הוא / היא צריך ללחוץ על מקש ההרשמה ואז LCD מבקש את המזהה או המיקום שבו המשתמש רוצה לאחסן את פלט טביעת האצבע. כעת, אם בשלב זה המשתמש לא רוצה להמשיך הלאה אז הוא / היא יכולים ללחוץ על מקש ההרשמה שוב כדי לחזור אחורה (הפעם מפתח ההרשמה מתנהג כמפתח חזרה). אמצעי ההרשמה כולל פונקציה הרשמה וגב. מקש DEL / OKיש גם אותה פונקציה כפולה כמו כאשר המשתמש רושם אצבע חדשה אז הוא / היא צריכים לבחור מזהה אצבע או מיקום באמצעות מקש שני נוסף כלומר UP / MATCH ו- DOWN / MATCH (שיש לו גם פונקציה כפולה) עכשיו המשתמש צריך ללחוץ על DEL / OK מקש (הפעם מפתח זה מתנהג כמו אישור) כדי להמשיך עם המזהה או המיקום שנבחרו. מקשי UP / DOWN תומכים גם בפונקציה של התאמת הדפסת אצבע. בדוק את הסרטון בסוף להפגנה מלאה.
כאן צירפנו גם קופסת קרטון עם מנוע סרוו כדי לשמש כשער ביטחון, שייפתח רק כאשר המערכת תקרא טביעת אצבע נכונה. נורית LED צהובה מציינת שהשער סגור ונורית ירוקה מציינת כי השער נפתח.
הסבר עבודה:
עבודה של נעילת דלת חיישן טביעות אצבעזה קל. בפרויקט זה השתמשנו בשער שיהיה פתוח כאשר אנו מניחים אצבע מאוחסנת במודול טביעת האצבע. קודם כל, המשתמש צריך לרשום אצבע בעזרת כפתור / מקשים. לשם כך המשתמש צריך ללחוץ על מקש ENROLL ואז LCD מבקש להזין מיקום / מזהה שבו האצבע תהיה חנות. אז עכשיו המשתמש צריך להזין מזהה (מיקום) באמצעות מקשי UP / DOWN. לאחר בחירת מיקום / מזהה המשתמש צריך ללחוץ על מקש אישור (מקש DEL). כעת LCD יבקש להניח אצבע מעל מודול הדפסת האצבע. כעת המשתמש צריך לשים את האצבע על מודול הדפסת האצבע. ואז LCD יבקש להסיר את האצבע ממודול טביעת האצבע ושוב לבקש להניח את האצבע. כעת המשתמש צריך לשים את אצבעו שוב מעל מודול הדפסת האצבע.כעת מודול טביעת האצבע לוקח תמונה וממיר אותה לתבניות ומאחסן אותה על ידי מזהה שנבחר בזכרון מודול טביעת האצבע. כעת המשתמש יכול לפתוח את השער על ידי הנחת אותה אצבע שהוא הוסיף או נרשם למערכת ואז ללחוץ על מקש MATCH (מקש למעלה / למטה). באותה שיטה, המשתמש יכול להוסיף אצבעות נוספות. עיין בסרטון להלן להפגנה מלאה.
כעת, אם המשתמש רוצה להסיר או למחוק כל אחד מהזהות המאוחסנות אז הוא / היא צריך ללחוץ על מקש DEL, לאחר לחיצה על מקש DEL, LCD יבקש לבחור מיקום פירושו בחר מזהה שיש למחוק. כעת המשתמש צריך לבחור מזהה ולחץ על מקש אישור (אותו מקש DEL). כעת LCD יודיע לך שהאצבע נמחקה בהצלחה. כעת המשתמש יכול לבדוק שהוא נמחק או לא על ידי הנחת אותה אצבע מעל מודול הדפסת האצבע ולחיצה על מקש MATCH (מקש למעלה / למטה).
כאשר האצבע מונחת תהיה תקפה נורית LED ירוקה למשך חמש שניות וגם השער נפתח בו זמנית. לאחר 5 שניות השער ייסגר אוטומטית. המשתמש רשאי להתאים אישית פתיחה וסגירה של שער / דלת בהתאם לדרישתם. מנוע סרוו אחראי על פתיחת וסגירת השער.
הסבר מעגל:
המעגל של מערכת אבטחת טביעות אצבע זו של Arduino הוא פשוט מאוד המכיל Arduino השולט על כל תהליך הפרויקט, כפתור לחצן, זמזם ו- LCD. ארדואינו שולט בתהליכים המלאים.
לחצן הלחיצה מחובר ישירות לסיכה D14 (ENROLL), D15 (DEL), D16 (UP) ו- D17 (DOWN) של Arduino ביחס לקרקע ונורית צהובה מחוברת בסיכה הדיגיטלית D7 של Arduino ביחס לקרקע דרך נגד 1k ו- LED ירוק מחובר ל- D6 של Arduino באותה שיטה. Rx ו- Tx של מודול הדפסת האצבע מחוברים ישירות בתוכנה טורית או סיכה דיגיטלית D2 ו- D3 של Arduino. אספקת 5V משמשת להפעלת מודול טביעת אצבע שנלקח מלוח Arduino ומנוע סרוו מחובר גם לסיכת PWM D5 של Arduino. LCD 16x2 מוגדר במצב 4 סיביות וה- RS, EN, D4, D5, D6 ו- D7 מחוברים ישירות בסיכה הדיגיטלית D13, D12, D11, D10, D9 ו- D8 של Arduino.
הערה: כאן D14, D15, D16, D17 הם A0, A1, A2, A3 בהתאמה.
הסבר לתכנית:
בתוכנית השתמשנו בספריית חיישני טביעות האצבע של Adafruit לצורך ממשק בין מודול טביעות האצבע ללוח Arduino. אתה יכול לבדוק את הקוד השלם למטה, ניתן להבין אותו בקלות. כאן אנו מסבירים את הפונקציות העיקריות של תוכנית Arduino.
להלן פיסת קוד משמשת להדפסת אצבע כקלט ולפעולה בהתאם לאימות האצבע. אם תוקף האצבע השער יהיה פתוח אחרת יישאר סגור.
עבור (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("מקום אצבע"); עיכוב (2000); int result = getFingerprintIDez (); אם (תוצאה> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("מותר"); lcd.setCursor (0,1); lcd.print ("גטה נפתחה"); myServo.write (0); עיכוב (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("שער סגור");
בהתחשב ומבוטל checkKeys () פונקציה משמשת לבדיקת המפתח להירשם או DEL נלחץ או לא ומה לעשות אם נלחץ. אם מקש ENROLL לחץ על הפונקציה Enroll () נקרא ולחץ על מקש DEL ואז נקראת פונקציית delete () .
void checkKeys () {if (digitalRead (roll) == 0) {lcd.clear (); lcd.print ("אנא המתן"); עיכוב (1000); בעוד (digitalRead (הרשמה) == 0); לְהִרָשֵׁם(); } אחר אם (digitalRead (del) == 0) {lcd.clear (); lcd.print ("אנא המתן"); עיכוב (1000); מחק (); }}
הפונקציה הנתונה משמשת להזנת מזהה למחיקה וקריאה לפונקציה uint8_t deleteFingerprint (uint8_t id) שתמחק את האצבע מהרשומות.
מחיקה בטלה () ספירת int = 0; lcd.clear (); lcd.print ("מחק אצבע"); lcd.setCursor (0,1); lcd.print ("מיקום:"); ואילו (1) {lcd.setCursor (9,1); lcd.print (ספירה); אם (digitalRead (up) == 0) {count ++; אם (ספירה> 25) ספירה = 0; עיכוב (500); }……………….
הפונקציה הנתונה משמשת למחיקת טביעת אצבע מתוך הרשומה של הזיהוי שנבחר.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("אנא המתן"); p = finger.deleteModel (id); אם (p == FINGERPRINT_OK) {Serial.println ("נמחק!"); lcd.clear (); lcd.print ("פיגר נמחק"); lcd.setCursor (0,1); lcd.print ("בהצלחה"); עיכוב (1000); } אחר {Serial.print ("משהו לא בסדר"); lcd.clear (); lcd.print ("משהו לא בסדר"); lcd.setCursor (0,1); lcd.print ("נסה שוב מאוחר יותר"); עיכוב (2000); החזר p; }}
פונקציה נתונה משמשת לצילום טביעת אצבע ולהמרה לתבנית ולשמירה על ידי מזהה נבחר בזיכרון מודול האצבע.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("מזהה אצבע:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("מקום אצבע"); עיכוב (2000); בעוד (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
אז ככה נוכל להשתמש בארדואינו עם מודול קורא טביעות אצבע למערכת אבטחה.