Мазмұны:

Arduino ашық терезе детекторы - қыста: 6 қадам
Arduino ашық терезе детекторы - қыста: 6 қадам
Anonim
Arduino ашық терезе детекторы - қыста
Arduino ашық терезе детекторы - қыста

Сыртта күн суытады, бірақ кейде маған бөлмелерде таза ауа қажет. Мен терезені ашып, бөлмеден шығып, есікті жауып, 5-10 минуттан кейін қайтып оралғым келеді. Бірнеше сағаттан кейін мен терезе ашық екенін есіме түсіремін … Мүмкін сіз мұны білетін шығарсыз немесе балаңыз бар.

Менің шешімім - ашық терезе детекторы. Батарея бір жылдан астам қызмет етеді, сондықтан оны күзде орналастырып, көктемде алып тастаңыз.

1 -қадам: бөлшектер тізімі

Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
  1. EBay -ден Digispark тақтасы.
  2. Ескі құлаққаптар.
  3. Қалпына келтіру үшін кішкене түйме.
  4. Динамикке арналған қосқыштар - әйтпесе тақтаны қайта бағдарламалау мүмкін емес.
  5. Сым.
  6. Электрмен жабдықтау үшін сізге қажет:

Қосу/өшіру қосқышы бар AAA батарея корпусы. Сіз тіпті ескірген батареяларды қолдана аласыз, себебі модуль 2,4 Вольтке дейін жұмыс істейді

НЕМЕСЕ

Ескі липо батареясы (бұл үшін 30% сыйымдылық жеткілікті) және егер сізде жоқ болса, eBay -ден липо батареялары үшін зарядтағыш.

НЕМЕСЕ

CR2032 монета ұяшығына арналған ұстағыш

ЖӘНЕ

1A диод 1N4001 немесе баламасы - не сізде осы көлемде - полярлықты кері қорғау үшін

2 -қадам: Digispark тақтасын бағдарламалау

Digispark тақтасын бағдарламалау
Digispark тақтасын бағдарламалау
Digispark тақтасын бағдарламалау
Digispark тақтасын бағдарламалау

Драйверді орнату

Тақтаны бағдарламалау алдында Digispark драйверін орнату қажет. Оны осы жерден жүктеп алыңыз, ашыңыз және «InstallDrivers.exe» іске қосыңыз.

Arduino IDE орнату

Http://digistump.com/wiki/digispark/tutorials/connecting бөлімінде сипатталғандай Arduino IDE үшін Digispark тақтасын орнатыңыз.

Мен https://digistump.com/package_digistump_index.json орнына Arduino File/Preferences жаңа https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json сайтында Digispark тақтасының URL мекенжайын пайдалануды ұсынамын және орнатыңыз. Digistump AVR тақталары 1.6.8 нұсқасы.

Біз қуатты үнемдегіміз келетіндіктен, тақта сағаты 1 МГц -ке ауысады (), сіз құралдар мәзірінде тақта ретінде Digispark (1 МГц - USB жоқ) таңдай аласыз.

Бағдарламаны құрастырыңыз және тақтаға жүктеңіз

Arduino IDE -де File/New көмегімен жаңа эскиз жасаңыз және оны атаңыз. «OpenWindowAlarm». Кодты OpenWindowAlarm.ino сайтынан көшіріңіз

НЕМЕСЕ

Репозиторийді жүктеңіз және шығарыңыз. Эскизді File -> Open … көмегімен ашыңыз және «OpenWindowAlarm» қалтасын таңдаңыз.

Оны құрастырыңыз және жүктеңіз. Есіңізде болсын, егер динамик қосылған болса, жүктеу жұмыс істемейді. Егер бәрі жақсы жұмыс істесе, Digispark кіріктірілген жарық диоды 5 рет жыпылықтайды (5 минуттық дабыл кідірісі үшін), содан кейін 8 секундтан кейін 24 секундтық интервалмен жыпылықтай бастайды, ол әрбір температуралық көрсеткішке сигнал береді.

3 -қадам: қуатты азайту

Қуатты азайту
Қуатты азайту
Қуатты азайту
Қуатты азайту

Біздің Digispark тақтасы 3, 0 вольтты 5мА пайдаланады. 2 AAA батареясымен (1000 мАч) 8 күн жұмыс істейді. Қуатты 3 қадамда 26 мкА дейін төмендетуге болады.

  1. Қуат диодты пышақпен диодқа қосатын мыс сымды үзу немесе 102 резисторды алу / ажырату арқылы қуат светодиодын өшіру 1,3 мА үнемдейді.
  2. VIN кернеу реттегішін алу 1,2 мА үнемдейді.
  3. USB тарту резисторын (152 белгісі) 5 вольттан (VCC) ажырату қалған 2,5 мА үнемдейді. АТТиниді көрсететін резистордың бүйіріндегі мыс сымды үзу арқылы оны ажыратыңыз. Бұл USB интерфейсін өшіреді және өз кезегінде Digispark тақтасын USB арқылы бағдарламалау мүмкіндігін береді. Қайта қосу үшін, бірақ әлі де қуатты үнемдеу үшін резисторды (152 белгісі) диодтың сыртқы жағында оңай қол жетімді USB 5 вольтке қосыңыз.

    Үздіксіздікті тексеруші көмегімен диодтың дұрыс жағын табуға болады. Бұл диодтың бір жағы ATtiny (VCC) 8 істігіне қосылған. Екінші жағы USB 5 вольтке қосылған.

Енді USB тартқыш резисторы Digispark тақтасы USB -ге қосылған жағдайда ғана қосылады. бағдарламалау кезінде және тақта ұйқы кезінде 26 мкА тұтынады.

Егер сақтандырғыштарды қайта бағдарламаласаңыз, сіз 6 мкА қуат шығынын ала аласыз.

Сақтандырғыштарды қайта бағдарламалау үшін сізге провайдер (Arduino көмегімен құрастыруға болады) мен қосылатын адаптер қажет. Қайта бағдарламалау үшін сіз бұл сценарийді пайдалана аласыз.

4 -қадам: Қалпына келтіру түймесі

Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі
Қалпына келтіру түймесі

Егер сіз дабылды қалпына келтіру үшін қуатты өшіруді қаламасаңыз, РБ5 пен жердің арасындағы қалпына келтіру түймесін қосыңыз. Мен мұны жалғанбаған VIN мыс бетін PB5 -ке қосу және қалпына келтіру түймесін тікелей VIN түйреуіш саңылауына және VIN кернеу реттегішінің үлкен жер бетіне дәнекерлеу арқылы жасадым.

Егер сіз қалпына келтірілгеннен кейін USB қосылымын 5 секунд күтуден құтылғыңыз келсе, ATtiny85 микро ядро ядросын өзгертуге болады. «0_Burn_upgrade-t85_recommended.cmd» сценарийін іске қосыңыз, содан кейін Arduino IDE көмегімен OpenWindowAlarm қосымшасын қайта жүктеңіз.

5 -қадам: Динамик

Динамик
Динамик
Динамик
Динамик
Динамик
Динамик

Мен ескі гарнитураны бөлшектеп, ер коннекторды кабельге қостым.

6 -қадам: жұмыс

Жұмыс істеп тұр
Жұмыс істеп тұр
Жұмыс істеп тұр
Жұмыс істеп тұр
Жұмыс істеп тұр
Жұмыс істеп тұр

Тақтаны пайдалану үшін оны терезеге қойыңыз да, батареяға қосыңыз. Егер табалдырықтағы температура тақта бастапқыда орнатылған температурадан төмен болса, жаңа бастапқы мәнді ақылмен қабылдау үшін қосымша 5 минут қажет болады.

Егер сіз терезені бес минуттан ұзақ ашық қалдырсаңыз, сіз дабыл қағасыз.

Ішкі операция

  • Ашық терезе TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) секундтан кейін TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) температурадан төмен температураны TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMP_TEMPERATURE_SAMPLE_SAMD_TAMPERATURE_SAMD -дан (48) секундтан кейін анықталады.
  • Кешіктіру қуатты тұтынуды азайту үшін 8 секунд бойы «SLEEP_MODE_PWR_DOWN» режимінде 3 рет ұйықтау арқылы жүзеге асады.
  • Ашық терезенің анықталуы ұзақтығы 20 мс жыпылықтауымен және әр 24 секунд сайын қысқа шерту арқылы көрсетіледі. Сондықтан ішкі датчик температураның шамалы ғана өзгеруін түсіру үшін сыртқы температураға бейімделуге 3 минут уақыт береді. Температура неғұрлым көп өзгерсе, сенсордың мәні ертерек өзгереді және ашық терезені анықтайды.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) ашық терезені анықтағаннан кейін дабыл қосылады.

    Егер ағымдағы температура минималды өлшенетін температурадан (+ 1) жоғары болса, дабыл басталмайды немесе белсендірілген дабыл тоқтайды, яғни терезе жабылған.

  • Бастапқы дабыл 10 минутқа созылады. Осыдан кейін ол 24 секундтан 5 минутқа дейін үзіліспен 10 секундқа қосылады.
  • Әр VCC_MONITORING_DELAY_MIN (60) минут сайын батарея кернеуі өлшенеді. Қуат кезінде анықталған батарея түріне байланысты (VCC_VOLTAGE_LIPO_DETECTION (3,6 вольт) қараңыз), батарея кернеуі VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) төмен немесе VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LET секунд сайын көрсетіледі. Тек дыбыстық сигнал (жарқыл емес) ашық терезені анықтауға арналған дыбыстық сигналға қарағанда едәуір ұзағырақ.
  • Қуат қосылғаннан кейін белсенді емес тұндыру уақыты - 5 минут. Егер тақта тұндыру уақытында суып бара жатса, электр қуатын қосқаннан кейін жалған дабылдарды болдырмау үшін 4:15 (немесе 8:30) минут қосылады.

Ұсынылған: