גלאי חלון פתוח של ארדואינו - לחורף: 6 שלבים
גלאי חלון פתוח של ארדואינו - לחורף: 6 שלבים
Anonim
גלאי חלון פתוח של ארדואינו - לחורף
גלאי חלון פתוח של ארדואינו - לחורף

בחוץ מתחיל להיות קר, אבל לפעמים אני צריך קצת אוויר צח בחדרי. אז, אני פותח את החלון, עוזב את החדר, סוגר את הדלת ורוצה לחזור בעוד 5 עד 10 דקות. ואחרי כמה שעות אני זוכר שהחלון פתוח… אולי אתה יודע זאת או יש לך ילדים, מה שנותן לך את החוויה הזו.

הפתרון שלי הוא גלאי החלון הפתוח. הסוללה תחזיק יותר משנה, אז פשוט הניחו אותה בסתיו והסירו אותה באביב.

שלב 1: רשימת חלקים

רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
  1. לוח Digispark מ- eBay.
  2. אוזניות ישנות.
  3. כפתור זעיר לאיפוס.
  4. מחברים לרמקול - אחרת לא ניתן לתכנת את הלוח מחדש.
  5. חוּט.
  6. לאספקת חשמל אתה צריך:

מארז סוללות AAA עם מתג הפעלה/כיבוי. אתה יכול אפילו להשתמש בסוללות שחוקות מכיוון שהמודול יפעל עד 2.4 וולט

אוֹ

סוללת ליפו ישנה (אפילו 30% קיבולת מספיקה למטרה זו) ואם עדיין אין לכם מטען לסוללות ליפו מאיביי.

אוֹ

מחזיק לתא מטבעות CR2032

וגם

דיודה 1A 1N4001 או שווה ערך - או מה שיש לך בגודל הזה - להגנה על קוטביות הפוכה

שלב 2: תכנות לוח Digispark

תכנות לוח Digispark
תכנות לוח Digispark
תכנות לוח Digispark
תכנות לוח Digispark

התקנת מנהל התקן

עליך להתקין את מנהל ההתקן של Digispark לפני שתוכל לתכנת את הלוח. הורד אותו כאן, פתח אותו והפעל את "InstallDrivers.exe".

התקנה של Arduino IDE

התקן את לוח Digispark עבור Arduino IDE כמתואר ב

אני ממליץ להשתמש ככתובת URL של לוח Digispark בקובץ/העדפות Arduino ב https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json במקום https://digistump.com/package_digistump_index.json ולהתקין את Digistump AVR Boards גירסה 1.6.8.

מכיוון שאנו רוצים לחסוך בחשמל, שעון הלוח עובר ל- 1 מגה -הרץ בהתקנה שלנו () תוכל לבחור Digispark (1 מגה -הרץ - ללא USB) כלוח בתפריט כלים.

הידור והעלה את התוכנית ללוח

ב- IDE של Arduino צור סקיצה חדשה עם קובץ/חדש ושם אותה למשל "OpenWindowAlarm". העתק את הקוד מ- OpenWindowAlarm.ino

אוֹ

הורד וחלץ את המאגר. פתח את הסקיצה באמצעות קובץ -> פתח … ובחר בתיקייה "OpenWindowAlarm".

הידור והעלה אותו. זכור, ההעלאה לא תעבוד אם הרמקול מחובר. אם הכל עובד טוב, הנורית המובנית של Digispark תהבהב 5 פעמים (למשך 5 דקות ההשהיה) ואז תתחיל להבהב לאחר 8 שניות עם מרווח של 24 שניות כדי לסמן כל קריאת טמפרטורה.

שלב 3: הפחתת חשמל

הפחתת חשמל
הפחתת חשמל
הפחתת חשמל
הפחתת חשמל

לוח Digispark שלנו משתמש ב- 5mA ב -3, 0 וולט. עם 2 סוללות AAA (1000mAh) הוא יפעל למשך 8 ימים. אך ניתן להפחית את צריכת החשמל עד 26 µA בשלושה שלבים.

  1. השבתת נורית החשמל על ידי שבירת חוט הנחושת המחבר את נורית החשמל לדיודה בעזרת סכין או הסרה / השבתה של הנגד 102 חוסכת 1.3 mA.
  2. הסרת ווסת המתח VIN חוסכת 1.2 mA.
  3. ניתוק הנגד USB Pullup (מסומן 152) מ- 5 וולט (VCC) חוסך את 2.5 mA הנותרים. נתק אותו על ידי שבירת חוט הנחושת בצד הנגד המצביע על ה- ATTiny. זה משבית את ממשק ה- USB ובתורו את האפשרות לתכנת את לוח Digispark באמצעות USB. כדי להפעיל אותו שוב, אך עדיין לחסוך בחשמל, חבר את הנגד (מסומן 152) ישירות ל- USB 5 וולט הזמין בקלות בצד החיצוני של הדיודה.

    ניתן למצוא את הצד הנכון של הדיודה באמצעות בודק המשכיות. צד אחד של דיודה זו מחובר לסיכה 8 של ה- ATtiny (VCC). הצד השני מחובר ל- USB 5 וולט.

עכשיו הנגד של ה- USB pullup מופעל רק אם לוח Digispark מחובר ל- USB למשל. במהלך התכנות והלוח צורך 26 µA במהלך השינה.

אם תתכנת את הנתיכים מחדש, תוכל לקבל צריכת חשמל של 6 µA.

כדי לתכנת מחדש את הנתיכים, אתה צריך ספק אינטרנט (שאפשר לבנות עם Arduino) ומתאם מתחבר. לתכנות מחדש אתה יכול להשתמש בתסריט הזה.

שלב 4: לחצן איפוס

כפתור אתחול
כפתור אתחול
כפתור אתחול
כפתור אתחול
כפתור אתחול
כפתור אתחול
כפתור אתחול
כפתור אתחול

אם אינך רוצה להסיר את החשמל לאיפוס האזעקה, חבר כפתור איפוס בין PB5 לאדמה. עשיתי זאת על ידי חיבור משטח הנחושת VIN הבלתי מחובר ל- PB5 והלחמת כפתור האיפוס ישירות לחור סיכת ה- VIN ולמשטח הקרקע הגדול של וסת המתח הוויני שהוסר.

אם אתה רוצה להיפטר מחמש שניות ההמתנה לחיבור USB לאחר האיפוס, תוכל לשנות את גרעין המיקרו -גרעין ב- ATtiny85. הפעל את התסריט "0_Burn_upgrade-t85_recommended.cmd" ולאחר מכן טען מחדש את אפליקציית OpenWindowAlarm עם Arduino IDE.

שלב 5: רמקול

רַמקוֹל
רַמקוֹל
רַמקוֹל
רַמקוֹל
רַמקוֹל
רַמקוֹל

פירקתי אוזניות ישנות וחיברתי את המחבר הגברי לכבל.

שלב 6: הפעלה

הפעלה
הפעלה
הפעלה
הפעלה
הפעלה
הפעלה

כדי להשתמש בלוח, הניחו אותו על אדן החלון וחברו אותו לסוללה. אם הטמפרטורה על אדן נמוכה מהטמפרטורה שבה נמצא הלוח במקור יידרשו 5 דקות נוספות לאימוץ מושכל לערך ההתחלה החדש.

לאחר מכן תיבהל אם תשאיר את החלון פתוח יותר מחמש דקות.

מבצע פנימי

  • חלון פתוח מזוהה לאחר TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) שניות של קריאת טמפרטורה עם ערך TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) נמוך מהטמפרטורה TEMPERATURE_COMPARE_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_SISTON
  • העיכוב מיושם על ידי שינה 3 פעמים ב- `SLEEP_MODE_PWR_DOWN` לתקופה של 8 שניות כדי להפחית את צריכת החשמל.
  • זיהוי של חלון פתוח מסומן בהבהב ארוך יותר של 20ms ולחיצה קצרה כל 24 שניות. לכן, לחיישן הפנימי יש זמן של 3 דקות להתאמה לטמפרטורה החיצונית על מנת ללכוד שינויים קטנים אפילו בטמפרטורה. ככל שהשינוי בטמפרטורה גדול יותר כך ערך החיישן ישתנה מוקדם יותר ויזהה חלון פתוח.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) דקות לאחר זיהוי חלון פתוח האזעקה מופעלת.

    האזעקה לא תתחיל או אזעקה מופעלת תיעצר אם הטמפרטורה הנוכחית גדולה מהטמפרטורה המינימלית הנמדדת (+ 1) כלומר החלון כבר סגור.

  • האזעקה הראשונית נמשכת 10 דקות. לאחר מכן הוא מופעל לתקופה של 10 שניות עם הפסקה גוברת מ 24 שניות עד 5 דקות.
  • כל VCC_MONITORING_DELAY_MIN (60) דקות נמדד מתח הסוללה. בהתאם לסוג הסוללה שזוהה בעת ההפעלה (ראה VCC_VOLTAGE_LIPO_DETECTION (3.6 וולט)), מתח הסוללה מתחת VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) או VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD מסמן את ה- LED כל 24 שניות והצמדת כל 24 שניות. רק הביפ (לא הבזק) ארוך משמעותית מהצפצוף לגילוי חלון פתוח.
  • לאחר ההפעלה, זמן ההתיישבות הלא פעיל הוא 5 דקות. אם הלוח נהיה קר יותר בזמן השקיעה, יתווספו 4:15 (או 8:30) דקות כדי למנוע אזעקות שווא לאחר ההפעלה.