Arduino Open Window Detector - ձմռանը `6 քայլ
Arduino Open Window Detector - ձմռանը `6 քայլ
Anonim
Arduino Open Window Detector - ձմռան համար
Arduino Open Window Detector - ձմռան համար

Դրսում ցուրտ է, բայց երբեմն սենյակներում ինձ թարմ օդի կարիք է զգում: Այսպիսով, ես բացում եմ պատուհանը, դուրս եմ գալիս սենյակից, փակում եմ դուռը և ցանկանում եմ վերադառնալ 5-10 րոպեից: Եվ մի քանի ժամ անց ես հիշում եմ, որ պատուհանը բաց է… Միգուցե դուք դա գիտե՞ք կամ երեխաներ ունեք, որոնք ձեզ տալիս են այս փորձը:

Իմ լուծումը Բաց պատուհանների դետեկտորն է: Մարտկոցը կտևի ավելի քան մեկ տարի, այնպես որ պարզապես տեղադրեք այն աշնանը և հանեք այն գարնանը:

Քայլ 1: Մասերի ցուցակ

Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
  1. Digispark տախտակ eBay- ից:
  2. Հին ականջակալներ:
  3. Փոքր կոճակ ՝ վերականգնման համար:
  4. Միակցիչներ բարձրախոսի համար - հակառակ դեպքում հնարավոր չէ վերագնահատել տախտակը:
  5. Մետաղալար
  6. Էներգամատակարարման համար ձեզ հարկավոր է.

AAA մարտկոցի պատյան ՝ միացման/անջատման անջատիչով: Դուք նույնիսկ կարող եք օգտագործել մաշված մարտկոցներ, քանի որ մոդուլը կաշխատի մինչև 2.4 Վոլտ:

ԿԱՄ

Հին լիպո մարտկոցը (նույնիսկ 30% հզորությունը բավարար է այդ նպատակի համար), իսկ եթե արդեն չունեք, լիցքավորիչ լիպո մարտկոցների համար eBay- ից:

ԿԱՄ

CR2032 մետաղադրամի բջիջի սեփականատեր

ԵՎ

1 Ա դիոդ 1N4001 կամ համարժեք - կամ այն, ինչ դուք ունեք այս չափի մեջ - հակառակ բևեռականությունից պաշտպանվելու համար:

Քայլ 2. Digispark Board- ի ծրագրավորում

Digispark Board- ի ծրագրավորում
Digispark Board- ի ծրագրավորում
Digispark Board- ի ծրագրավորում
Digispark Board- ի ծրագրավորում

Վարորդի տեղադրում

Տախտակը ծրագրավորելուց առաջ դուք պետք է տեղադրեք Digispark վարորդը: Ներբեռնեք այստեղ, բացեք այն և գործարկեք «InstallDrivers.exe»:

Arduino IDE- ի տեղադրում

Տեղադրեք Digispark տախտակը Arduino IDE- ի համար, ինչպես նկարագրված է https://digistump.com/wiki/digispark/tutorials/connecting- ում

Խորհուրդ եմ տալիս որպես Digispark տախտակի URL Arduino File/Preferences- ում օգտագործել նոր https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json https://digistump.com/package_digistump_index.json- ի փոխարեն և տեղադրել Digistump AVR տախտակներ տարբերակ 1.6.8.

Քանի որ մենք ցանկանում ենք էներգիա խնայել, մեր տեղադրման ժամանակ տախտակի ժամացույցը միացված է 1 ՄՀց -ի (), Գործիքների ցանկում կարող եք ընտրել Digispark (1mhz - USB- ի բացակայություն):

Կազմեք և վերբեռնեք ծրագիրը գրատախտակին

Arduino IDE- ում ստեղծեք նոր ուրվագիծ File/New- ով և անվանեք այն օրինակ. "OpenWindowAlarm": Պատճենեք կոդը OpenWindowAlarm.ino- ից

ԿԱՄ

Ներբեռնեք և հանեք պահեստը: Բացեք էսքիզը File -> Open… և ընտրեք «OpenWindowAlarm» թղթապանակը:

Կազմել և վերբեռնել այն: Հիշեք, որ վերբեռնումը չի աշխատի, եթե բարձրախոսը միացված է: Եթե ամեն ինչ լավ աշխատի, Digispark- ի ներկառուցված LED- ը կթարթվի 5 անգամ (ահազանգի 5 րոպե ուշացման դեպքում), այնուհետև 8 վայրկյանից հետո կսկսի թարթել 24 վայրկյան ընդմիջումով `յուրաքանչյուր ջերմաստիճանի ընթերցման ազդանշան տալու համար:

Քայլ 3: Էլեկտրաէներգիայի նվազեցում

Էլեկտրաէներգիայի նվազեցում
Էլեկտրաէներգիայի նվազեցում
Էլեկտրաէներգիայի նվազեցում
Էլեկտրաէներգիայի նվազեցում

Մեր Digispark տախտակն օգտագործում է 5 մԱ 3, 0 վոլտ լարման դեպքում: 2 AAA մարտկոցով (1000mAh) այն կաշխատի 8 օր: Բայց հնարավոր է 3 քայլով էներգիայի սպառումը նվազեցնել մինչև 26 μA:

  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 վոլտին, որը հեշտությամբ հասանելի է դիոդի արտաքին կողմում:

    Դիոդի ճիշտ կողմը կարելի է գտնել շարունակականության ստուգիչ օգտագործելով: Այս դիոդի մի կողմը կապված է ATtiny- ի (VCC) 8 -րդ կապին: Մյուս կողմը միացված է USB 5 վոլտին:

Այժմ USB քաշման դիմադրությունը միացված է միայն այն դեպքում, երբ Digispark տախտակը միացված է USB- ին, օրինակ. ծրագրավորման ընթացքում և տախտակը քնում է 26 μA:

Եթե ապահովագրիչները նորից ծրագրավորեք, կարող եք ստանալ 6 μA էներգիայի սպառում:

Ապահովիչներ վերադասավորելու համար ձեզ անհրաժեշտ է ISP (որը կարելի է կառուցել Arduino- ի միջոցով) և միացնող ադապտեր: rogրագրավորման համար կարող եք օգտագործել այս սցենարը:

Քայլ 4: Վերագործարկեք կոճակը

Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը
Վերակայել կոճակը

Եթե չեք ցանկանում անջատել ազդանշանը զրոյականացնելու համար, միացրեք վերականգնման կոճակը PB5- ի և գետնի միջև: Ես դա արեցի ՝ չմիացված VIN պղնձի մակերեսը միացնելով PB5- ին և զրոյական կոճակը միացնելով անմիջապես VIN կապի անցքին և հեռացված VIN լարման կարգավորիչի մեծ մակերեսին:

Եթե ցանկանում եք ազատվել USB կապի սպասումից 5 վայրկյան սպասելուց, ապա կարող եք փոխել միկրոմիջուկ միջուկը 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) ցածր ջերմաստիճանից,
  • Ուշացումն իրականացվում է 3 անգամ `SLEEP_MODE_PWR_DOWN` քնելուց 8 վայրկյան ժամկետով` էներգիայի սպառումը նվազեցնելու համար:
  • Բաց պատուհանի հայտնաբերումը նշվում է 20 վայրկյան ավելի երկար թարթելով և կարճ սեղմումով յուրաքանչյուր 24 վայրկյանը մեկ: Հետևաբար, ներքին սենսորը ունի 3 րոպե ժամանակ `արտաքին ջերմաստիճանին հարմարվելու համար` ջերմաստիճանի նույնիսկ փոքր փոփոխությունները որսալու համար: Որքան մեծ է ջերմաստիճանի փոփոխությունը, այնքան ավելի վաղ կփոխվի սենսորի արժեքը և կհայտնաբերի բաց պատուհանը:
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (բաց պատուհանի հայտնաբերումից 5 րոպե) ահազանգը միացված է:

    Alarmարթուցիչը չի սկսվի կամ ակտիվացված ահազանգը կդադարի, եթե ընթացիկ ջերմաստիճանը գերազանցի չափված նվազագույն ջերմաստիճանը (+ 1), այսինքն `պատուհանը արդեն փակ է:

  • Նախնական ահազանգը տեւում է 10 րոպե: Դրանից հետո այն ակտիվանում է 10 վայրկյան ժամանակահատվածով ՝ 24 վայրկյանից մինչև 5 րոպե աճող ընդմիջումով:
  • Ամեն VCC_MONITORING_DELAY_MIN (60) րոպե մարտկոցի լարումը չափվում է: Կախված միացված մարտկոցի տեսակից Բաց ազդանշանի հայտնաբերման համար միայն ազդանշանը (ոչ բռնկումը) զգալիորեն ավելի երկար է, քան ազդանշանը:
  • Էլեկտրաէներգիայի անջատումից հետո անգործուն նստվածքի ժամանակը 5 րոպե է: Եթե տախտակն ավելի է սառչում նստվածքի ընթացքում, 4:15 (կամ 8:30) րոպե է ավելացվում `սնուցման անջատումից հետո կեղծ ահազանգերից խուսափելու համար:

Խորհուրդ ենք տալիս: