- רשימת הרכיבים
- דיאגרמת מעגלים למנעול דלת מקשים בארדואינו
- קוד ארדואינו למנעול דלת מקשים דיגיטלי
- הרכבה ובדיקה של ארדואינו
לעיתים קרובות, עלינו לאבטח חדר בביתנו או במשרדנו (אולי מעבדה של סופר דקסטר), כך שאף אחד לא יוכל לגשת לחדר ללא רשותנו ולהבטיח הגנה מפני גניבה או אובדן אביזרים ונכסים חשובים שלנו. ישנם כל כך הרבה סוגים של מערכות אבטחה הקיימות כיום, אך מאחורי הקלעים, לצורך אימות, כולם מסתמכים על טביעת אצבע, סורק רשתית, סורק קשתית העין, זיהוי פנים, סורק לשון, קורא RFID, סיסמה, סיכה, תבניות וכו '. הזולה היא שימוש בסיסמה או מערכת מבוססת סיכה. לכן, בפרויקט זה, בניתי מנעול דלת מקשים של Arduino שניתן להתקין על כל אחת מהדלתות הקיימות שלך כדי לאבטח אותן באמצעות סיסמה דיגיטלית. בעבר, בנינו גם מנעולי דלתות מעניינים אחרים המפורטים להלן.
- נעילת דלת RFID של ארדואינו
- מנעול דלת סולנואיד Arduino
- נעילת קוד דיגיטלי של פטל
- 555 נעילת דלת אלקטרונית טיימר
לפני שנבנה את פרויקט נעילת הדלת הסיסמאות, ראשית עלינו לאסוף את הרכיבים הנדרשים ואז להמשיך ולבצע את שלב הבנייה שלב אחר שלב.
רשימת הרכיבים
- Arduino Uno / Pro / Mini או לוח מותאם אישית באמצעות מיקרו-בקר Atmega 328p
- 16 x 2 LCD (תצוגת גביש נוזלי)
- לוח מקשים 4 x 3 או 4 x 4 מטריצות לארדואינו
- מנוע סרוו
- ארון דלתות מודפס בתלת מימד / ארון דלתות מותאם אישית
- רכיבים נוספים לאספקת חשמל של מטען נייד 1 אמפר 5 וולט
- 4 "/ 6" קופסאות פלסטיק, חוטי מגשר, ברגי אגוזים, מעטפת פלסטיק וכו '.
דיאגרמת מעגלים למנעול דלת מקשים בארדואינו
תרשים המעגל השלם עבור פרויקט נעילת הדלתות המקשים הדיגיטלי המבוסס על Arduino מוצג להלן.
ראשית, אנו מתחילים ממוחו של פרויקט זה שהוא מועצת ארדוינו. לוח הארדואינו מחובר ל- LCD ולמנוע סרוו. מנוע הסרוו משמש לדחיפה (נעילה) או משיכה (נעילה) של התפס על הדלת. LCD 16 x 2 נדרש כדי להציג את ההודעה על ידי Arduino, 16 x 2 פירושו שיש לו 16 מספר עמודות ו -2 מספר שורות. אם אתה לגמרי חדש במודולי תצוגה 16x2 LCD, אתה יכול לבדוק את ההדרכה הזו לממשקי LCD של Arduino כדי ללמוד עוד על כך.
הנה, אני משתמש במנוע סרוו Towerpro SG90 5v להכנת ארון הדלתות המותאם אישית שלנו. זהו מנוע סרוו ברמה בסיסית ועובד מצוין עם Arduino ללא כל מעגל נהיגה או מודול חיצוני. כמו כן, העלות של מנוע סרוו זה נמוכה מאוד, כך שתוכלו להרשות לעצמכם לקנות אותו בקלות. אתה יכול גם לבדוק את ההדרכה הזו לבקרת מנוע של Arduino כדי ללמוד עוד על מנוע הסרוו וכיצד הוא עובד. חבר את מנוע הסרוו עם סיכה דיגיטלית D9 של Arduino ועם ספק כוח 5 וולט. מנוע סרוו זה כולל סך של 3 קווי קלט (GND, + 5V & SIGNAL LINE).
בפרויקט זה השתמשתי בלוח מקשים של מטריצה 4x4 (אך החלק בלוח המקשים 4x4 אינו זמין בהכנת ייצוג גרפי זה), אך אל דאגה מכיוון שמקלדת 4x3 מטריקס עובדת מצוין עם הקידוד שלי.. אנו זקוקים למקלדת להזנת סיסמה ולנעול ידנית את ארון הדלתות המותאם אישית שלנו. זה מורכב מ 16 מקשים (מתג רך) 4 מקשים בשורות (R1, R2, R3, R4) ו -4 מקשים בעמודות (C1, C2, C3, C4) כאשר מקש נלחץ, הוא יוצר חיבור בין השורות המתאימות ועמודים. הטבלה שלהלן מראה כיצד לחבר את Arduino שלך עם לוח המקשים.
לוח מקשים | ארדואינו |
סיכה 1 (שורה 1) | סיכה דיגיטלית 1 |
סיכה 2 (שורה 2) | סיכה דיגיטלית 2 |
סיכה 3 (שורה 3) | סיכה דיגיטלית 3 |
סיכה 4 (שורה 4) | סיכה דיגיטלית 4 |
סיכה 5 (עמודות 5) | סיכה דיגיטלית 5 |
סיכה 6 (עמודות 6) | סיכה דיגיטלית 6 |
סיכה 7 (עמודות 7) | סיכה דיגיטלית 7 |
קוד ארדואינו למנעול דלת מקשים דיגיטלי
את קוד נעילת הדלת של Arduino ניתן למצוא בתחתית עמוד זה. ניתן להעלות ישירות את הקוד, אך מומלץ לקרוא את הפסקאות שלהלן בכדי להבין כיצד פועל הקוד. כמו כן, חשוב לוודא שהוספת את ספריית לוח המקשים הבאה ל- Arduino IDE שלך כדי לאסוף את הקוד בהצלחה. לשם כך פשוט פתח את הקישור למטה והורד את קובץ ה- ZIP. ואז ב- IDE של Arduino נווט אל סקיצה -> כלול ספרייה -> ספריית Add.ZIP ועיין בקובץ שהורדת זה עתה.
- ספריית המקשים של ארדואינו
לאחר הכנסת כל כותרות הקבצים והספריות, הקצה את כל הסיכה ל- LCD והגדר את אורך הסיסמה והגדר את המיקום ההתחלתי של הסרוו ל- 0. לאחר מכן, קח סוג נתונים "char" להצהרת המספר שיכול להכיל אותו כולל אופי אפס.
//#לִכלוֹל
עם פיסת הקוד הזו (char Master = "123456";) - מתחת ל- Master Master, אני מצהיר על הסיסמה של נעילת הדלת, ואז מקצה את מספר השורות והעמודות במקלדת וגם מכריז על מפות מפתח ומתחבר עם שורות ו עמודות. תחת הגדרת הריקול, אתחל את סיכת אות הסרוו D9, מצב הסרוו נסגר והדפס את שם הפרויקט / המכשיר / החברה עם עיכוב של 3 שניות בזמן LCD להפעלת המכשיר.
הגדרת חלל () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("דלת ארדואינו"); lcd.setCursor (0, 1); lcd.print ("- תראה פרויקט -"); עיכוב (3000); lcd.clear (); }
תחת פונקציית הלולאה, התנאי הפשוט אם-אחר קיים. על פי הסטטוס (הוא נעול אוטומטית), הדפס "דלת סגורה" עם 3 שניות של עיכוב וסרוו מסתובב למצב סגור, נתוני הדלת נחשבים כ- 1 אחרת ארון הדלת נשאר פתוח וספירת הנתונים 0, סרוו פתוח סובב למצב הולך 0 מעלות ל -180 מעלות ולסגירה זה עובר מ -180 ל 0. פונקציות סרוו פתוח וסגירת סרוו מוצגות למטה.
בטל ServoOpen () {עבור (pos = 180; pos> = 0; pos - = 5) {// עובר מ- 0 מעלות ל- 180 מעלות // בצעדים של מעלה אחת myservo.write (pos); // אמור לסרוו לעבור למיקום בעיכוב 'פוז' משתנה (15); // ממתין 15ms עד שהסרוווס יגיע למצב}} בטל ServoClose () {עבור (pos = 0; pos <= 180; pos + = 5) {// עובר מ 180 מעלות ל 0 מעלות myservo.write (pos); // אמור לסרבו ללכת למיקום בעיכוב 'פוז' משתנה (15); // ממתין 15ms עד שהסרוו יגיע למצב}}
כתוב את מיקום הסרוו עם עיכוב של 15 שניות כדי להגיע למצב הסרוו. תחת פונקציית הריקוד הפתוח, הדפיס על LCD "הזן סיסמה" ואז התנאי מציין כי הסיסמה שהוזנה צריכה להיות זהה למפתח מותאם אישית, בתוך נתוני גוף אלה נספרים ומאחסנים צ'אר במערך הנתונים, סיסמה מוגברת והזנת קלט מודפסת על גבי LCD אם אורך הנתונים (מספר המקשים) וסיסמת הקלט תואמים ל- Data Master (שם נמצאים המקשים שהוגדרו מראש). ואז כפעולת LCD ברורה, כונן סרוו, הדפיסו על LCD "הדלת פתוחה" ומונה הנתונים מאופס ל 0.
אם מקש הקלט אינו תואם ל- Data Master, כפעולה בהדפסה ברורה של LCD ב- LCD "סיסמה שגויה" כדי להודיע עם שנייה אחת על עיכוב ונשאר במצב הנעילה שלו עם ערכות דלפק הנתונים ל -1 ולהמשיך בתהליך זה בלולאה.
אם (data_count == Password_Lenght - 1) // אם אינדקס המערך שווה למספר התווים הצפויים, השווה נתונים ל- master {if (! strcmp (Data, Master)) // שווה ל- (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("הדלת פתוחה"); דלת = 0; } אחר {lcd.clear (); lcd.print ("סיסמה שגויה"); עיכוב (1000); דלת = 1; } נקה נתונים(); }
הרכבה ובדיקה של ארדואינו
עכשיו, התאם הכל על קופסת פלסטיק בגודל 4 אינץ '/ 6 אינץ' והפעל אותו באמצעות מטען נייד, התאם הכל יפה באמצעות מעטפת. באופן אידיאלי, הייתי יכול להשתמש בהדפסת תלת מימד כדי להרכיב את המנעול שלי, אך לאחר תכנון הקבצים שלי, גיליתי שהדפסת תלת מימד היא יקרה מאוד, אז פשוט תיקנתי תחילה את הסרוו, ואז חיברתי את ארון השקופיות הרגיל לסרוותי באמצעות לוחית מתכת וכיסיתי זה עם סיבי זכוכית, למרות שזה עובד בסדר, זה פחות בטוח.
אם אתה רוצה אבטחה רבה יותר, עליך להדפיס דגם נעילת דלת תלת ממדי שעובד באופן פנימי עם סרוו זה. תוכל להוריד את קבצי ה- STL הנדרשים מהקישור למטה ולהדפיס אותם בתלת ממד אם יש לך גישה למדפסת תלת ממד.
הורד קבצי STL להדפסת תלת מימד
קבצי העיצוב מוצגים גם בתמונה למטה.
בתחילת הפרויקט, ברגע שאנחנו מפעילים אותו בפעם הראשונה, עלינו לתת את שם הפרויקט (תוכלו גם להציג את שם החברה) כך שהוא ייראה חכם ובלעדי כמו מכשיר מסחרי (כפי שניתן לראות ב התמונה למטה).
עם עיכוב של 3 שניות, נעל את הדלת במהירות ובדוק ישירות בתצוגה את מצב נעילת הדלת כפי שמוצג בתמונה הבאה.
כאשר אתה נועל את הדלת באופן ידני על ידי לחיצה על מקש "#", הוא מראה תחילה שדלת סגורה למשך שנייה אחת ואז היא מציגה Enter Password. מצד שני, כאשר הדלת נעולה על ידי הזנת הסיסמה הנכונה, היא מראה שדלת פתוחה.
אם הדלת נשארת במצב נעילה, היא מוצגת - הדלת פתוחה כל עוד אתה נועל את הדלת באופן ידני בהתאם לקידוד. נתתי את הקוד ואתה יכול להתאים אישית את ההגדרות על ידי שינוי פרמטר תצוגת הקוד כנדרש. אתה יכול גם לבדוק את העבודה המלאה עם הסרטון המקושר בתחתית דף זה.