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

Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino: 13 քայլ (նկարներով)
Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino: 13 քայլ (նկարներով)

Video: Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino: 13 քայլ (նկարներով)

Video: Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino: 13 քայլ (նկարներով)
Video: Письма любимого человека_Рассказ_Слушать 2024, Դեկտեմբեր
Anonim
Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino
Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino
Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino
Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino

Ես կոտրված զարթուցիչ ունեի, և միտք առաջացավ այն դարձնել ժամացույցի և եղանակի կանխատեսման կայան:

Այս նախագծի համար ձեզ հարկավոր է.

  • Հին շրջանաձև զարթուցիչ
  • Արդուինո Նանո
  • BME280 սենսորային մոդուլ (ջերմաստիճան, խոնավություն, ճնշում)
  • LCD ցուցադրման մոդուլ Nokia 5110 -ից
  • DS1307 RTC ժամացույց
  • TP4056 Լիթիումի մարտկոցի լիցքավորիչ
  • Հին Li-ion մարտկոցը փրկվել է բջջային հեռախոսից
  • Փոքր 3.7v- ից 5v ուժեղացուցիչ մոդուլ
  • Լույսից կախված դիմադրություն (LDR - լուսաչափ)
  • Buzzer (օգտագործվում է հին համակարգչից փրկված)
  • 3 կոճակ
  • Դիմադրիչների մի փունջ (2x10k, 270 ohm) և տրանզիստոր (2N2222A կամ նմանատիպ)
  • Որոշ լայն կծկվող խողովակ
  • գրություն PCB- ն որպես առջևի ափսեի ձևավորում օգտագործելու համար
  • Micro-USB երկարացման մալուխ (կանացի և արական կողմերը Micro-USB են)
  • 2x8 սմ տախտակի նախատիպ և որոշ լարեր

Քայլ 1: Ապամոնտաժել ամեն ինչ

Ապամոնտաժել ամեն ինչ
Ապամոնտաժել ամեն ինչ

Սկզբում ես ապամոնտաժեցի հին ժամացույցը: Bանգեր, շարժիչ, կոտրված ժամացույցի մեխանիզմ…

Քայլ 2: Թվային կարգավորումների կոճակներ

Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար
Կոճակներ թվային կարգավորումների համար

Քանի որ նոր ժամացույցը լիովին թվային է լինելու ՝ ներսում տեղադրված մինի համակարգիչով, կողքին ավելացրեցի 3 պարզ գեղեցիկ տեսք ունեցող կոճակներ:

Ալյումինի ջարդոնի կտորով ես կտրեցի ծածկույթը ՝ պիտակ ստեղծելու համար: Պիտակների տառերը ստեղծվել են տառերի բռունցքներով և սև ցուցիչով:

Քայլ 3: Շարժիչի կոնդենսատոր

Շարժիչի կոնդենսատոր
Շարժիչի կոնդենսատոր

Շարժիչով ահազանգը միացնելու համար կպահեմ հին զանգերը: Հին կոտրված ժամացույցի մեխանիզմը ուներ կերամիկական կոնդենսատոր `104 պիտակով: Ես այն հանեցի տպատախտակից և կպցրի այն անմիջապես շարժիչին, ինչը կօգնի կանխել հոսանքի տատանումները տագնապի ժամանակ: Կարևոր է նաև նշել, որ շարժիչը վերահսկվելու է տրանզիստորի միջոցով, բայց դրա մասին ավելի ուշ:

Քայլ 4: Նոր դեմք ժամացույցի համար

Նոր դեմք ժամացույցի համար
Նոր դեմք ժամացույցի համար
Նոր դեմք ժամացույցի համար
Նոր դեմք ժամացույցի համար

Քանի որ ես որոշեցի ժամացույցի համար նոր դեմք ստեղծել, ես աղբամանի կույտից հանեցի մի տախտակ և շինարարական հրացանի օգնությամբ արագ հեռացրեցի բոլոր բաղադրիչները: Միջին անցքը պատրաստված է նոր ժամացույցի թվային էկրանի համար:

Քայլ 5: Թվային ցուցադրում հին բջջային հեռախոսից

Թվային ցուցադրում հին բջջային հեռախոսից
Թվային ցուցադրում հին բջջային հեռախոսից
Թվային ցուցադրում հին բջջային հեռախոսից
Թվային ցուցադրում հին բջջային հեռախոսից

Այս նախագծի համար ես որոշեցի օգտագործել Nokia 5110 հին բջջային հեռախոսի LCD էկրան: Այս էկրանները լայնորեն վաճառվում են որպես մոդուլ, դրանք շատ քիչ էներգիա են խլում, իսկ Arduino- ի համար կան լավ գրադարաններ: Եթե դուք գնում եք նոր մոդուլ 5110 էկրանով, դուք փրկում եք մոլորակը, քանի որ բոլոր նոր մոդուլները ստեղծվում են փրկված 5110, 3110 և 3210 հեռախոսներից:

Քայլ 6: Շղթաների միացում

Շղթաների միացում
Շղթաների միացում
Շղթաների միացում
Շղթաների միացում
Շղթաների միացում
Շղթաների միացում

Դուք արդեն կռահեցիք, որ ես պլանավորում էի օգտագործել Arduino տախտակը `այս ժամացույցը կառավարելու համար: Նախագիծը հեշտությամբ կրկնվող է նույնիսկ սկսնակ Arduino- ի երկրպագուների համար, քանի որ ես չեմ ստեղծել իմ սեփական տպատախտակները: Դա Arduino Nano տախտակ է `դրան միացված մոդուլներով` BME280 ջերմաստիճանի, ճնշման և խոնավության տվիչ, DS1307 RTC ժամացույց, TP4056 լիթիումի մարտկոցի լիցքավորիչ, փոքր 3.7v- ից մինչև 5v հզորության մոդուլ, Light Dependent Resistor (LDR - լուսաչափ) և ազդանշան (վերցված հին համակարգչից):

Նայեք նաև էսքիզներին. Դրանք ցույց են տալիս բոլոր կապերը: Կարծում եմ, որ ամեն ինչ շատ հեշտ է կարդալ և հասկանալ, բայց եթե որևէ հարց ունեք, պարզապես տվեք ստորև բերված մեկնաբանություններում:

Մի քանի նշում կազմաձևման վերաբերյալ.

  • Շարժիչը միացված է անմիջապես մարտկոցից ՝ տրանզիստորի միջոցով: Arduino- ն վերահսկում է տրանզիստորը դիմադրության և PWM կապի D5 միջոցով:
  • LCD կապի համար օգտագործվում են D7-12 կապում: Գրունտը և VCC- ն միացված են միացման տախտակի վրա գտնվող երկաթուղուն:
  • LDR- ը տեղադրվեց ժամացույցի սլաքի վրա, իսկ դիմադրություն + 3 ելքային լարերը կպցվեցին ժամացույցի սլաքի հետևի մասում:
  • Կոճակների միացման համար ես օգտագործել եմ ներքին PULLUP գործառույթը Arduino- ի ներսում: Մենյու կոճակը կցված է ընդհատմանը, և ես ավելի ուշ հասկացա, որ ընդհատման համար կարող եք նաև օգտագործել ներքին PULLUP: Մենյու կոճակի ընդհատումը պահանջվում է այնպես, որ կոդն անընդհատ չփնտրի կոճակների վիճակը:
  • Theամացույցը կհսկի և կցուցադրի նաև մարտկոցի վիճակը, այնպես որ մարտկոցը ուղղակիորեն միացված է A0 կապին: Մարտկոցի լարումը երբեք 4.2 Վ -ից բարձր չէ, այնպես որ անվտանգ է մարտկոցը միացնել անմիջապես Arduino անալոգային քորոցին:
  • Buzzer- ն ուղղակիորեն միացված է PWM կապ D6- ին: Չնայած սա լավ պրակտիկա չէ, ես հեռացա դրանից, քանի որ Arduino Nano- ն կարող էր ավելի բարձր ցուցանիշներ օգտագործել, քան նշված էր, և նաև այն պատճառով, որ ազդանշանը անընդհատ չի աշխատի: Նույն կարգավորումը հեշտությամբ կայրեր ESP տախտակների քորոցները, ուստի այդ դեպքերում խորհուրդ եմ տալիս օգտագործել տրանզիստորների հսկիչը:
  • Theամացույցն արդեն անջատիչ ուներ, ուստի որոշեցի օգտագործել այն: Մեջքին բնական տեսք ունի:

Քայլ 7: Հեշտ միացումների միացման տախտակ

Հեշտ միացումների միացման տախտակ
Հեշտ միացումների միացման տախտակ
Հեշտ միացումների միացման տախտակ
Հեշտ միացումների միացման տախտակ

Բոլոր մոդուլները պահանջում են դրական և գրունտային միացումներ, ուստի որոշեցի օգտագործել 2x8 սմ չափսերով նախատիպ տախտակ և դրան զոդեցի 5V և Ground ռելսեր: Ես նաև այնտեղ փոքր I2C երկաթուղի պատրաստեցի, քանի որ I2C ինտերֆեյսով մի քանի մոդուլ ունեի:

Մյուս կողմից ես միացրեցի ստանդարտ կապումներն այնպես, որ անհրաժեշտության դեպքում կարողանայի միացնել և անջատել մոդուլները:

Լրացուցիչ բաղադրիչներից մի քանիսը նույնպես զոդվեցին այնտեղ, ինչպիսիք են ՝ տրանզիստորը և դիմադրությունը շարժիչի կառավարման համար և ռեզիստոր ՝ «Ընդմիջում» օգտագործող «Մենյու» կոճակի համար: Ես ցույց տվեցի սխեմաները նախորդ բաժնում:

btw Կարո՞ղ եք առաջին նկարում տեսնել ժամացույցի երեսին արդեն տեղադրված LDR սենսորը:

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

Հզորության կարգավորում
Հզորության կարգավորում

Այս ժամացույցը սնուցելու համար ես բջջայինից մի հին լիթիում-իոնային մարտկոց օգտագործեցի: Սովորաբար, բջջային հեռախոսի մարտկոցները, որոնք փոխարինվում են, դեռևս լավ հզորություն ունեն իրենց մեջ (գոնե կեսը, ինչ նոր էր): Նրանց առավելությունն այն է, որ նրանք ունեն ներկառուցված արտանետումների պաշտպանության միացում և դրանք նաև շատ բարակ են, ուստի դրանք կարող են օգտագործվել փոքր տիեզերական սցենարներում:

Մարտկոցը միացնելու համար դուք պարզապես կպցրեք լարերը մարտկոցի + և - կապում: Մի անհանգստացեք, դուք չեք վնասի բջիջը, քանի որ կա վերահսկիչ և դատարկ տարածք կապերի և բջիջի քիմիական նյութերի միջև:

Այս նկարի վրա կարող եք տեսնել մարտկոցը, ինչպես նաև TP4056 լիցքավորման վերահսկիչը, ինչպես նաև 5V հզորացուցիչը, որոնք միացված են միմյանց և մարտկոցին: Ես օգտագործեցի փոքր-ինչ փաթաթված խողովակներ `ամեն ինչ մեկուսացված և կոմպակտ դարձնելու համար:

Քայլ 9: Micro USB ՝ որոնվածը լիցքավորելու և թարմացնելու համար

Micro USB ՝ որոնվածը լիցքավորելու և թարմացնելու համար
Micro USB ՝ որոնվածը լիցքավորելու և թարմացնելու համար

Ամեն ինչ զոդելուց հետո հետևի վահանակին կպցրեցի ազդանշանը և ջերմաստիճանի/ճնշման/խոնավության տվիչը: Նրանք բոլորը հիանալի կերպով տեղավորվում էին հին ժամացույցի հավաքման կառավարման կոճակներից:

Այժմ ժամանակն էր տեղադրել Micro USB պորտը հետևի մասում: Ինչու՞ միկրո USB, եթե Նանոն օգտագործում է Mini USB: Պարզապես այն պատճառով, որ տնային տնտեսություններում USB մալուխների մեծ մասը բջջային հեռախոսներից են, և հարմար կլիներ, եթե ժամացույցը կարողանար դա վերցնել:

Քանի որ ես ուզում էի այն օգտագործել ժամացույցի և եղանակային կայանի գործառույթների լիցքավորման և թարմացման համար. Ես հանեցի USB մալուխը, հոսանքի լարերը փոխանցեցի TP4056 լիցքավորիչի և Data+/Data- լարերի միջոցով անմիջապես Արդուինո Նանոյի USB վարդակին: Դուք կարող եք դա տեսնել նախորդ բաժիններում ցուցադրածս սխեմատիկայում:

Քայլ 10: Վերջնական ժողով

Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով

Wasամանակն էր ամեն ինչ նորից փաթեթավորել օրիգինալ ժամացույցի մեջ: Ես օգտագործել եմ սեղմվող խողովակ ՝ բաղադրիչներն ու մոդուլները մեկուսացնելու համար: Նույնիսկ Arduino- ն փաթաթված էր նեղացող խողովակի մեջ:

Սավառնել առաջին լուսանկարի վրա ՝ տեսնելու, թե որտեղ է տեղադրված յուրաքանչյուր բաղադրիչ:

Քայլ 11: Կոդ

Ինչպես տեսնում եք, ժամացույցը ամբողջությամբ փաթեթավորված է ներսում: Սա թույլ տվեց ստեղծել ավելի բարդ բան, քան ես ունեի հին ժամացույցը `հաշվի առնելով, որ իհարկե կան ծրագրավորման որոշ հմտություններ: Ես գրեցի սկզբնական ծածկագիրը, բայց խնդրեցի ընկերոջս, որ միջամտի և օգնի ինձ դուրս գալու:

Մինչ այժմ, բացի ժամացույցից, սրանք այն գործառույթներն են, որոնք այս նախագիծն արդեն ապահովում է.

  • Timeամանակի և ամսաթվի ցուցադրում (ինչպես նաև ժամի և ազդանշանի ակտիվացում նույն էկրանին)
  • Էկրանը լուսավորվում է մութ պայմաններում կամ երբ շարժում է հայտնաբերվում (լույսի փոփոխությունների հիման վրա)
  • Եղանակի կանխատեսում (արևոտ, ամպամած, անձրևոտ)
  • Temperatureերմաստիճանի, ճնշման եւ խոնավության ցուցադրում (խոնավության համար դա ցույց կտա, թե արդյոք դա շատ չոր է)
  • Կարգավորումների ընտրացանկ. Ահազանգ, ժամանակի փոփոխում, ամսաթվի ցուցադրման միացում/անջատում, եղանակի փոփոխման ձայնային ծանուցումների միացում/անջատում և կայսերական և մետրային միավորների միջև անցում
  • Alaարթուցիչի կարգավորումներ `միացված/անջատված, ժամի կարգավորում, ծանուցումների մեղեդու և/կամ զանգերի կարգավորում

Վերջին կոդը ՝

Կոդն ապագայում կթարմացվի նոր հնարավորություններով, այնպես որ անպայման նորից ստուգեք որոնվածը թարմացումների համար:-)

Եթե դուք նորեկ եք Arduino աշխարհում, ապա ահա այն քայլերը, որոնք ես խորհուրդ կտայի անել.

  • Տեղադրեք USB վարորդ ձեր տախտակի համար (օրինակ ՝ CH340)
  • Տեղադրեք Arduino IDE- ն
  • Տեղադրեք այս նախագծում օգտագործվող գրադարանները
  • Ներբեռնեք GitHub- ից և վերբեռնեք Projectրագրի վերջին կոդը ժամացույցին `օգտագործելով Micro USB մալուխը (կարող եք օգտագործել բջջային հեռախոսից)

Կանխատեսման ալգորիթմը հետևյալն է

Արդուինո Նանոն BME280 սենսորից ստանում է նոր տվյալներ ամեն 12 րոպեն մեկ: Չափման ցիկլը 3 ժամ է: 3 ժամ հետո ճնշման մոնիտորինգի տիրույթը (առավելագույնը և նվազագույնը 3 ժամվա ընթացքում) փոխվում է միջին արժեքների համեմատ ընթացիկ տիրույթի և ընթացիկ ճնշման արժեքի ընթացքում: Ամեն ժամ պահպանվում է ճնշման փոփոխության ուղղությունը ընթացիկ ճնշման արժեքով: kPa միավորներն օգտագործվում են կանխատեսման հաշվարկման համար:

Նանոյի հիշողության սահմանափակության պատճառով կանխատեսման ալգորիթմը պետք է պարզեցվեր: Բայց չնայած պարզեցումներին, այն կարող է կանխատեսել տեղումներ հաջորդ 12-24 ժամվա ընթացքում, չնայած որ կանխատեսումն այժմ ավելի հոռետեսական է. Կանխադրված արժեքը «Ամպամած եղանակ» է:

«Արևոտ եղանակ» - ճնշման ընթացիկ արժեքը նորմայից բարձր է 7 կետով, ճնշումը չի ընկնում, և վերջին 3 ժամվա ընթացքում նվազագույն և առավելագույն արժեքների տարբերությունը 2 բալից ոչ ավելի է:

Հնարավոր տեղումներ «Անձրևոտ եղանակ». Ընթացիկ ճնշումը նորմայից ցածր է 15 կետով, իսկ նվազագույն և առավելագույն արժեքների միջև տարբերությունը 2 բալից ավելի է, կամ ճնշումը նվազում է, իսկ ընթացիկ արժեքի և նորմայի միջև տարբերությունը `3 - 30 բալ:

Կանխատեսման որակը բարելավելու համար խորհուրդ է տրվում փոխել ձեր «բարձրությունը» հիմնական կոդի ֆայլում: Ձեր բարձրությունը, օրինակ, կարող եք ստանալ այստեղ ՝

Քայլ 12: Քայլ առ քայլ տեսանյութ

Image
Image

Եթե դժվար էր հետևել այն ամենին, ինչ ես արեցի վերևում, ահա նաև վիդեո տարբերակ ՝ ցուցադրված բոլոր քայլերով:

Քայլ 13: Վերջնական խոսքեր

Ընդհանուր առմամբ, իմ տեսանկյունից, այս ծրագրի դժվարության մակարդակը բարձր չէ, և որևէ մեկը կարող է այն հասցնել: Եթե հին ժամացույց չունեք, կարող եք էժան մեկը գտնել տեղական բուդի շուկայում:

Բոլոր բաղադրիչները ցածր գին են և հասանելի են Sparkfun/Aliexpress/eBay/Amazon կայքում:

Հուսով եմ, որ այս ձեռնարկը հետաքրքիր էր ձեզ համար և երախտապարտ կլինեի, եթե կարողանայիք աջակցել իմ առաջին Instructable ժամացույցի մրցույթին:

Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ

Երկրորդ տեղը զբաղեցնող ժամացույցների մրցույթում

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