בעזרת ארדואינו תוכלו ליצור עותק של מפתח האינטרקום בבית תוך 15 דקות, אם למשל הסדנה סגורה, והמפתח נדרש בדחיפות. בואו נראה איך זה נעשה.
זה הכרחי
- - ארדואינו;
- - מחשב;
- - מפתח עבור iButton מסוג אינטרקום או חוט 1;
- - מפתח דמה ליצירת "שיבוט" של המפתח המקורי;
- - נגד אחד עם התנגדות של 2, 2 kOhm;
- - חיבור חוטים.
הוראות
שלב 1
לכל מפתח לאינטרקום מספר משלו - המספר הזה משמש כמזהה המפתח. לפי מספר המפתח האינטרקום מחליט - משלך או של מישהו אחר. לכן, אלגוריתם ההעתקה הוא כדלקמן: ראשית עליך לברר את מספר המקש "מותר" ולאחר מכן להקצות מספר זה למפתח אחר - שיבוט. לא משנה באינטרקום אם המפתח המקורי או העותק שלו צורפו. לאחר בדיקת המספר באמצעות מאגר המספרים המורשה שלו, הוא יפתח את הדלת.
מקשי האינטרקום, אותם נחבר לארדואינו (המכונה לפעמים iButton או זיכרון מגע), נקראים ונכתבים מעל ממשק 1-חוט 1-חוט. לכן, דיאגרמת החיווט פשוטה מאוד. אנחנו זקוקים רק לזוג חוטים ונגד משיכה של 2.2K. התרשים מוצג באיור.
שלב 2
כדי לעבוד עם ממשק בעל חוט אחד, יש ספריות מוכנות עבור Arduino. אתה יכול להשתמש, למשל, בזה: https://www.pjrc.com/teensy/arduino_libraries/OneWire.zip. הורד את הארכיון ופרק אותו לתיקיית "ספריות" שנמצאת בספריית IDE של Arduino. עכשיו אנחנו יכולים לעבוד בקלות רבה עם פרוטוקול זה.
טען את השרטוט המוצג באיור לארדואינו באופן הסטנדרטי.
שלב 3
סקיצה זו מציגה את מספר המפתח לאינטרקום, המחובר למעגל. זה מה שאנחנו צריכים עכשיו - עלינו לברר את מספר המפתח שאנו רוצים ליצור עותק ממנו. חבר את Arduino למחשב שלך. נתחיל את צג היציאות הטוריות: כלים -> צג יציאות טוריות (או קיצור המקשים Ctrl + Shift + M).
עכשיו בואו נחבר את המפתח למעגל. צג הנמל יציג את מספר המפתח. בואו נזכור את המספר הזה.
שלב 4
עכשיו בואו נכתוב מחדש את הסקיצה כך שתוכל לכתוב נתונים לזיכרון המפתח. הקוד מוצג באיור. הערות מפורטות מפורטות בקוד. והכי חשוב, אל תשכח להגדיר את מספר המפתח המקורי שלך במערך key_to_write, אותו למדת קצת קודם.
שלב 5
העלה את המערכון הזה לארדואינו. בוא נפתח את צג היציאות הטוריות. בואו נחבר מפתח למעגל, שיהיה שיבוט של המפתח המקורי. צג היציאות הטוריות יציג הודעה על תוצאת התכנות.
שלב 6
1) אם בעת קומפוזיציית השרטוט מתרחשת שגיאה [WConstants.h: אין קובץ או ספרייה שכאלה # כלולים "WConstants.h"], אז בקובץ "OneWire.cpp" תחליף את הגוש הראשון אחרי ההערות להלן.:
# כלול "OneWire.h"
# כלול "Arduino.h"
חיצוני "C" {
# כלול "avr / io.h"
# כלול "pins_arduino.h"
}
2) אם במהלך האוסף מופיעה השגיאה "בכיתה OneWire אין חבר בשם read_bytes" או דומה לה, אז מצא ספריית OneWire אחרת, יש הרבה כאלה באינטרנט.