فهرست مطالب:

آشکارساز پنجره باز آردوینو - برای زمستان: 6 مرحله
آشکارساز پنجره باز آردوینو - برای زمستان: 6 مرحله

تصویری: آشکارساز پنجره باز آردوینو - برای زمستان: 6 مرحله

تصویری: آشکارساز پنجره باز آردوینو - برای زمستان: 6 مرحله
تصویری: 😱تست مدار دزد گیر😱😎 2024, نوامبر
Anonim
آشکارساز پنجره باز آردوینو - برای زمستان
آشکارساز پنجره باز آردوینو - برای زمستان

بیرون هوا سرد می شود ، اما گاهی اوقات به اتاق هوای خود نیاز به کمی هوای تازه دارم. بنابراین ، پنجره را باز می کنم ، اتاق را ترک می کنم ، در را می بندم و می خواهم 5 تا 10 دقیقه دیگر برگردم. و بعد از چند ساعت به یاد می آورم که پنجره باز است … شاید شما این را می دانید یا بچه هایی دارید که این تجربه را به شما می دهد.

راه حل من آشکارساز پنجره باز است. باتری بیش از یک سال دوام می آورد ، بنابراین فقط آن را در پاییز قرار دهید و در بهار آن را بردارید.

مرحله 1: لیست قطعات

فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات
  1. برد Digispark از eBay.
  2. هدفون قدیمی.
  3. دکمه کوچک برای تنظیم مجدد
  4. اتصالات بلندگو - در غیر این صورت امکان برنامه ریزی مجدد برد وجود ندارد.
  5. سیم
  6. برای منبع تغذیه شما نیاز دارید:

قاب باتری AAA با کلید روشن/خاموش. حتی می توانید از باتری های فرسوده استفاده کنید ، زیرا ماژول تا 2.4 ولت کار می کند

یا

باتری لیپو قدیمی (حتی 30 capacity ظرفیت برای این کار کافی است) و اگر قبلاً ندارید ، یک شارژر برای باتری های لیپو از eBay.

یا

دارنده سلول سکه CR2032

و

دیود 1A 1N4001 یا معادل آن - یا هر آنچه در این اندازه دارید - برای محافظت از قطبیت معکوس

مرحله 2: برنامه ریزی هیئت مدیره Digispark

برنامه نویسی هیئت Digispark
برنامه نویسی هیئت Digispark
برنامه نویسی هیئت Digispark
برنامه نویسی هیئت Digispark

نصب درایور

قبل از برنامه ریزی Board ، باید درایور Digispark را نصب کنید. آن را از اینجا بارگیری کنید ، باز کنید و "InstallDrivers.exe" را اجرا کنید.

نصب و راه اندازی Arduino IDE

تخته Digispark را برای Arduino IDE مطابق شرح داده شده در https://digistump.com/wiki/digispark/tutorials/connecting نصب کنید

توصیه می کنم به عنوان آدرس هیئت مدیره Digispark در Arduino File/Preferences از https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json به جای https://digistump.com/package_digistump_index.json به عنوان آدرس URL هیئت مدیره استفاده کنید و Digistump AVR Boards نسخه 1.6.8.

از آنجا که ما می خواهیم در مصرف برق صرفه جویی کنیم ، ساعت برد در تنظیم ما به 1 مگاهرتز تغییر می کند () شما می توانید Digispark (1 مگاهرتز - بدون USB) را به عنوان برد در منوی Tools انتخاب کنید.

برنامه را کامپایل و بارگذاری کنید

در Arduino IDE یک طرح جدید با File/New ایجاد کنید و نام آن را به عنوان مثال بگذارید. "OpenWindowAlarm". کد را از OpenWindowAlarm.ino کپی کنید

یا

مخزن را بارگیری و استخراج کنید. طرح را با File -> Open … باز کنید و پوشه "OpenWindowAlarm" را انتخاب کنید.

کامپایل و بارگذاری کنید. به خاطر داشته باشید ، اگر بلندگو متصل باشد ، بارگذاری کار نمی کند. اگر همه چیز خوب کار کند ، LED داخلی Digispark 5 بار چشمک می زند (برای 5 دقیقه تاخیر زنگ هشدار) و پس از 8 ثانیه با فاصله 24 ثانیه شروع به چشمک زدن می کند تا به هر دمای دما سیگنال بدهد.

مرحله 3: کاهش قدرت

کاهش قدرت
کاهش قدرت
کاهش قدرت
کاهش قدرت

برد Digispark ما از 5mA در 3 ولت 0 ولت استفاده می کند. با 2 باتری AAA (1000mAh) به مدت 8 روز کار می کند. اما می توان مصرف برق را در 3 مرحله تا 26 میکرو آمپر کاهش داد.

  1. غیرفعال کردن LED تغذیه با شکستن سیم مسی که LED را با چاقو به دیود وصل می کند یا با برداشتن / غیرفعال کردن مقاومت 102 ، 1.3 میلی آمپر صرفه جویی می شود.
  2. حذف تنظیم کننده ولتاژ VIN باعث صرفه جویی 1.2 میلی آمپر می شود.
  3. قطع اتصال USB Pullup مقاومت (با علامت 152) از 5 ولت (VCC) 2.5 میلی آمپر باقی مانده را ذخیره می کند. با شکستن سیم مسی در طرف مقاومت که به ATTiny اشاره می کند ، آن را جدا کنید. این امر رابط USB را غیرفعال می کند و به نوبه خود امکان برنامه ریزی برد Digispark از طریق USB را دارد. برای فعال کردن مجدد ، اما همچنان مصرف برق ، مقاومت (با علامت 152) را مستقیماً به USB 5 ولت وصل کنید که به راحتی در قسمت بیرونی دیود موجود است.

    سمت راست دیود را می توان با استفاده از تستر تداوم یافت. یک طرف این دیود به پین 8 ATtiny (VCC) متصل است. طرف دیگر به USB 5 ولت متصل است.

در حال حاضر مقاومت خروجی USB فقط در صورتی فعال می شود که برد Digispark به USB وصل شده باشد. هنگام برنامه نویسی و برد 26 میکرو آمپر در هنگام خواب مصرف می کند.

اگر فیوزها را دوباره برنامه ریزی کنید ، می توانید 6 میکرو آمپر مصرف کنید.

برای برنامه ریزی مجدد فیوزها ، به ISP (که می تواند با Arduino ساخته شود) و آداپتور متصل کننده نیاز دارید. برای برنامه ریزی مجدد می توانید از این اسکریپت استفاده کنید.

مرحله 4: دکمه تنظیم مجدد

دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد
دکمه تنظیم مجدد

اگر نمی خواهید برق را برای تنظیم مجدد زنگ قطع کنید ، یک دکمه تنظیم مجدد را بین PB5 و زمین وصل کنید. من این کار را با اتصال سطح مس VIN وصل نشده به PB5 انجام دادم و دکمه تنظیم مجدد را مستقیماً به سوراخ پین VIN و سطح بزرگ زمین تنظیم کننده ولتاژ حذف شده VIN لحیم کردم.

اگر می خواهید 5 ثانیه منتظر اتصال USB پس از تنظیم مجدد باشید ، می توانید هسته micronucleus را در 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_COMPEE_20
  • این تاخیر با خوابیدن 3 بار در SLEEP_MODE_PWR_DOWN به مدت 8 ثانیه برای کاهش مصرف برق اجرا می شود.
  • تشخیص یک پنجره باز با پلک زدن بیشتر از 20 میلی ثانیه و هر 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 در هر دقیقه فقط بوق (نه فلش) به طور قابل توجهی طولانی تر از بیپ برای تشخیص پنجره باز است.
  • پس از روشن شدن زمان ، زمان ته نشینی غیر فعال 5 دقیقه است. اگر تخته در زمان ته نشین شدن سردتر می شود ، 4:15 (یا 8:30) دقیقه به آن اضافه می شود تا از هشدارهای کاذب پس از روشن شدن دستگاه جلوگیری شود.

توصیه شده: