Բովանդակություն:

Մակընթացություն և եղանակի ժամացույց ՝ 9 քայլ (նկարներով)
Մակընթացություն և եղանակի ժամացույց ՝ 9 քայլ (նկարներով)

Video: Մակընթացություն և եղանակի ժամացույց ՝ 9 քայլ (նկարներով)

Video: Մակընթացություն և եղանակի ժամացույց ՝ 9 քայլ (նկարներով)
Video: Եթե երազում տեսնում եք այս 10 բաները, ապա չպետք է անտեսեք 2024, Նոյեմբեր
Anonim
Մակընթացություն և եղանակի ժամացույց
Մակընթացություն և եղանակի ժամացույց

Չնայած դուք կարող եք ձեռք բերել անալոգային ալիքների ժամացույցներ, որոնք ունեն մեկ ձեռք, որը ցույց է տալիս ՝ մակընթացությունը բարձր է, թե ցածր, թե ինչ -որ տեղ, բայց այն, ինչ ուզում էի, այն էր, ինչը ինձ կասեր, թե որ ժամին կլինի մակընթացությունը: Ես ուզում էի մի բան, որին կարող էի արագ նայել ՝ առանց այն միացնելու, կոճակներ սեղմելու կամ սպասելու: Եվ ես ուզում էի մարտկոցի երկար կյանք ունեցող մի բան: Այսպիսով, ես օգտագործեցի TTGO T5 տախտակ, որը ESP32- ի վրա հիմնված տախտակ է ՝ 2.13 դյույմ էլեկտրոնային թղթի էկրանով, որը միացված է TTL5110 չիպին: TPL5110- ը T5- ը միացնում է յուրաքանչյուր 2,5 ժամը մեկ, և օրական մեկ անգամ T5- ը ներբեռնում է ալիքի տվյալները NOAA- ի և եղանակի տվյալները OpenWeatherMap- ից, ցուցադրում է տվյալները էլեկտրոնային թղթի վրա, այնուհետև TPL5110- ին ասում է ՝ անջատել T5- ը:

ԹԱՐՄԱՈՄ (25 փետրվարի, 2020 թ.) Մակընթացության ժամացույցն աշխատում է արդեն մեկ տարի, և մարտկոցը 4.00 վոլտ է, ուստի ժամացույցը կարող է ենթադրաբար երկար տարիներ աշխատել:

Քայլ 1: Սարքավորումների ցուցակ

TTGO T5 տախտակ 17 դոլար

Adafruit TPL5110 տախտակ 5 դոլար

Adafruit Perma-Proto քառորդ չափի տախտակ (ըստ ցանկության) 0,71 դոլար (նվազագույն պատվերը ՝ 8,50 դոլար)

Li-Poly մարտկոց 1200 mAh 10 դոլար (կամ այլ համապատասխան էներգիայի աղբյուր)

JST PH 2-Pin մալուխ-Արական վերնագիր 0.75 դոլար

220 uF կոնդենսատոր

Քայլ 2: Գործիքներ

Sոդման երկաթ

Մետաղալարեր

Li-Po մարտկոցի լիցքավորիչ, օրինակ ՝ սա:

Քայլ 3: Սարքավորումների հավաքում

Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում

Սարքավորումների հավաքումը բավականին պարզ է, ինչպես ցույց է տալիս սխեմատիկան: Ես օգտագործեցի Adafruit Perma-proto տախտակը, որը նման է սովորական նախատախտակի, բացառությամբ այն, որ դրված է որպես տախտակ, նույն էլեկտրական միացումներով, ինչպես հացահատիկը, ինչը հաճելի է: Քանի որ ինձ ընդամենը մի քանի կապ էր պետք, և ցանկանում էի ամբողջ հավաքածուն տեղավորել մի փոքրիկ տուփի մեջ, ես տախտակներից մեկը չորրորդի կտրեցի Dremel անջատիչ անիվով:

220 uF կոնդենսատորը շատ կարևոր է: Առանց դրա, TPL5110- ը երբեք չի միացնի T5- ը: Մի փոքր անհասկանալի է, թե ինչու, բայց TPL5110- ից օգտվող այլ մարդիկ ունեցել են նույն խնդիրը: Գուցե ESP32- ը գործարկման ժամանակ ավելի արդի՞ց է քաշում, քան կարող է մատակարարել TTL5110- ը:

Մի լարեք մարտկոցը: Օգտագործեք JST-PH մալուխը, որպեսզի կարողանաք անջատել մարտկոցը այն լիցքավորելու համար: Եթե TPL5110- ը «միացված» է, կարող է լինել մարտկոցը T5- ից TPL5110- ի միջոցով լիցքավորելու միջոց, բայց ես չեմ կարող երաշխավորել այդ տեխնիկայի համար:

Ես պատրաստեցի փայտե տուփ, որպես պարիսպ, բայց 1.5 «x 2.75» x 1 »ներքին նվազագույն չափսերով ամեն ինչ կաշխատի:

Քայլ 4: Կարգավորեք ժամանակը

TPL5110 տախտակն ունի զարդարված պոտենցիոմետր, որը սահմանում է այն ժամանակը, երբ TPL5110- ն արթնանում է: Օգտագործեք մի փոքրիկ պտուտակահան, որը ամբողջովին պտտեք ժամացույցի սլաքի հակառակ ուղղությամբ: Իմ տախտակի վրա այս միջակայքը սահմանեց 145 րոպե, որն իրականում ավելի շատ է, քան սահմանված 120 րոպեն, բայց այն աշխատում է և հետևողական է և նույնիսկ ավելի շատ էներգիա կխնայի, քան 120 րոպեն մեկ արթնանալը, այնպես որ ես այն օգտագործեցի: Անհրաժեշտ չէ ճշգրիտ իմանալ ընդմիջումը, քանի որ նպատակը պարզապես օրական մեկ անգամ մոտավորապես առավոտյան ժամը 4 -ի սահմաններում տվյալների ներբեռնումն է: Env_config.h- ում կարող եք նշել միջակայքը (օրինակ ՝ 145 րոպե) և արթնացման ժամանակը (օրինակ ՝ առավոտյան 4 -ը):

(Եթե ցանկանում եք որևէ այլ նախագծի ժամանակի ավելի լավ վերահսկում, TPL5110 տախտակի հետևում կա հետք, որը կարող եք կտրել ՝ պոտենցիոմետրը անջատելու համար: Հետո ռեզիստոր եք ամրացնում Հետաձգման քորոցին, իսկ դիմադրությունը որոշում է միջակայքը, ըստ այս աղյուսակը)

Քայլ 5: Theրագրակազմ

Ձեզ հարկավոր կլինի Arduino IDE ՝ ESP32 փաթեթով: IDE- ում ձեր խորհուրդը սահմանեք «ESP32 Dev Module»:

Էսքիզը հասանելի է https://github.com/jasonful/Tides կայքում և պահանջում է 3 գրադարան.

  1. «ESP8266 Եղանակային կայան», որը հասանելի է Arduino գրադարանի կառավարչից (կամ այստեղ): Ձեզ կպահանջվի միայն այս 6 ֆայլը ՝ ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h և կարող է ջնջել մնացածը:
  2. «Json Streaming Parser» - ը հասանելի է Arduino գրադարանի կառավարչից (կամ այստեղ)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Թեև ծածկագիրը փաթեթավորված չէ որպես իսկական գրադարան, պարզապես կարող եք պատճենել այն ձեր գրադարանների գրացուցակում և ներառել այն

Քայլ 6: Կարգավորեք ծրագրակազմը

Կան մի քանի պարամետրեր, որոնք դուք պետք է սահմանեք (և մի քանիսը կարող եք սահմանել) env_config.h ֆայլում, ներառյալ.

  • WiFi SSID և գաղտնաբառ
  • NOAA կայանի ID (այլ կերպ ասած ՝ որտե՞ղ եք)
  • OpenWeatherMap AppID, որի համար անհրաժեշտ կլինի գրանցվել (դա հեշտ է և անվճար)
  • OpenWeatherMap Որտեղից ID (կրկին, որտեղ եք դուք)
  • CONFIG_USE_TPL5110, որը թույլ է տալիս օգտագործել T5 առանց TPL5110: Փոխարենը, ծրագրաշարը կմտնի խորը քնի ռեժիմ: T5 տախտակը մոտ 8 մա է քաշում խոր քնի մեջ, այնպես որ ես ակնկալում եմ, որ մարտկոցը կաշխատի մի քանի օր:

Քայլ 7: Ինչպես է աշխատում ծրագրաշարը

(Եթե դա ձեզ չի հետաքրքրում, կարող եք բաց թողնել այս հատվածը):

Նպատակն է արթնանալ օրական մեկ անգամ, բայց քանի որ TPL5110- ի առավելագույն ընդմիջումը ընդամենը 2 ժամ է, ապա T5- ը պետք է ավելի հաճախ արթնանա: Այսպիսով, ալիքը և եղանակի տվյալները ներբեռնելուց հետո հաշվարկում է, թե այս 2 ժամվա ընդմիջումներից քանիսն են այժմ և վաղը առավոտյան 4: 00 -ն ընկած ժամանակահատվածում: Սա մի փոքր բարդանում է նրանով, որ TPL5110- ը լիովին անջատում է T5- ի էներգիան, ինչը լավ է մարտկոցի համար, բայց դա նշանակում է, որ մենք կորցնում ենք RAM- ը և իրական ժամանակի ժամացույցը: Դա նման է ամեն առավոտ արթնանալ ամնեզիայով: Այսպիսով, պարզելու համար, թե ժամը քանիսն է, այն հանվում է NOAA- ի HTTP վերնագրից: Եվ հիշելու համար, թե քանի ժամյա ընդմիջում է մնացել, գրում է, որ հակառակ անկայուն պահեստին (ֆլեշ): Ամեն անգամ, երբ արթնանում է, նա ստուգում է այդ հաշվիչը, նվազեցնում այն, պահում այն, և եթե այն զրոյից մեծ է, անմիջապես ազդանշան է ուղարկում TPL51110- ին («Կատարված է») ՝ ասելով, որ այն քնի: Երբ հաշվիչը զրոյի է հասնում, ծածկագիրը ներբեռնում է նոր տվյալներ և վերահաշվարկում և վերականգնում հաշվիչը:

Քայլ 8: Գործարկեք այն

Գործարկել այն
Գործարկել այն

Համոզվեք, որ T5- ի ձախ կողմի անջատիչը վեր (միացված) դիրքում է, ուրվագիծը վերբեռնեք T5- ում և մի քանի վայրկյանի ընթացքում էկրանը պետք է թարմացվի ալիքի և եղանակի մասին տեղեկություններով:

Եթե Ձեզ անհրաժեշտ է կարգաբերել ծրագրակազմը, փոխեք «#define DEBUG 0» - ը Tides.ino- ի վերևում `« #define DEBUG 1 »: Սա կմիացնի վրիպազերծման սերիայի ելքը, ինչպես նաև էլեկտրոնային թղթի ներքևում կցուցադրի մինչև նոր տվյալների ներբեռնումը մնացած վերսկսումների թիվը և տվյալները վերջին անգամ ներբեռնելու ժամանակը:

Քայլ 9. Ապագա ուղղություններ

  1. Էլեկտրոնային թղթի էկրանին զուգակցված TPL5110- ի օգտագործումը հիանալի միջոց է ցանկացած տվյալների ցուցադրման համար, որոնք հաճախ չեն փոխվում ՝ մարտկոցի գերազանց կյանքով:
  2. Երբ ես նախագծում էի սա, ես մտածեցի օգտագործել TrigBoard- ը, որը ESP8266 տախտակ է, որի վրա կա TPL5111: Դա կպահանջեր ձեռք բերել առանձին էլեկտրոնային թղթի ցուցադրում և էլեկտրոնային թղթի վարորդի տախտակ ՝ այս կամ այն կերպ: Կամ վարորդ+տախտակ, որը նման է այս կամ այն: ESP8266 կոդ տեղափոխելու համար, կարծում եմ, որ SSL կոդը պետք է վկայականների փոխարեն մատնահետքեր օգտագործի, իսկ անկայուն պահեստային ծածկագիրը պետք է օգտագործի EEPROM կամ RTC հիշողություն:
  3. Վերջերս լսեցի, որ Lolin32 տախտակը բավականին պարկեշտ է խոր քնի ռեժիմում `մոտ 100uA: Ոչ այնքան լավ, որքան TPL51110 տախտակը (20uA ըստ Adafruit- ի), բայց բավականաչափ լավ:
  4. OpenWeatherMap- ը շատ ավելի շատ եղանակային տվյալներ է վերադարձնում, քան ես ցուցադրում եմ: Ներառյալ պատկերակների ID- ները, որոնք կպահանջեին ինչ -որ տեղ գտնել միագույն պատկերակներ:

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