Բովանդակություն:
- Քայլ 1: Ապամոնտաժել ամեն ինչ
- Քայլ 2: Թվային կարգավորումների կոճակներ
- Քայլ 3: Շարժիչի կոնդենսատոր
- Քայլ 4: Նոր դեմք ժամացույցի համար
- Քայլ 5: Թվային ցուցադրում հին բջջային հեռախոսից
- Քայլ 6: Շղթաների միացում
- Քայլ 7: Հեշտ միացումների միացման տախտակ
- Քայլ 8: Էլեկտրաէներգիայի կարգավորում
- Քայլ 9: Micro USB ՝ որոնվածը լիցքավորելու և թարմացնելու համար
- Քայլ 10: Վերջնական ժողով
- Քայլ 11: Կոդ
- Քայլ 12: Քայլ առ քայլ տեսանյութ
- Քայլ 13: Վերջնական խոսքեր
Video: Եղանակի կանխատեսման ժամացույց ՝ օգտագործելով Old Alarm և Arduino: 13 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Ես կոտրված զարթուցիչ ունեի, և միտք առաջացավ այն դարձնել ժամացույցի և եղանակի կանխատեսման կայան:
Այս նախագծի համար ձեզ հարկավոր է.
- Հին շրջանաձև զարթուցիչ
- Արդուինո Նանո
- 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 պորտը հետևի մասում: Ինչու՞ միկրո 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: Քայլ առ քայլ տեսանյութ
Եթե դժվար էր հետևել այն ամենին, ինչ ես արեցի վերևում, ահա նաև վիդեո տարբերակ ՝ ցուցադրված բոլոր քայլերով:
Քայլ 13: Վերջնական խոսքեր
Ընդհանուր առմամբ, իմ տեսանկյունից, այս ծրագրի դժվարության մակարդակը բարձր չէ, և որևէ մեկը կարող է այն հասցնել: Եթե հին ժամացույց չունեք, կարող եք էժան մեկը գտնել տեղական բուդի շուկայում:
Բոլոր բաղադրիչները ցածր գին են և հասանելի են Sparkfun/Aliexpress/eBay/Amazon կայքում:
Հուսով եմ, որ այս ձեռնարկը հետաքրքիր էր ձեզ համար և երախտապարտ կլինեի, եթե կարողանայիք աջակցել իմ առաջին Instructable ժամացույցի մրցույթին:
Երկրորդ տեղը զբաղեցնող ժամացույցների մրցույթում
Խորհուրդ ենք տալիս:
Art Deco Եղանակի կանխատեսման ցուցադրում. 9 քայլ (նկարներով)
Եղանակի կանխատեսման Art Deco ցուցադրում. Ողջույն, ընկերներ, այս Ուսուցողական ծրագրում մենք պատրաստվում ենք շոգ տեսնել ՝ Եղանակի կանխատեսման այս ցուցադրումը կառուցելու համար: Եղանակի կանխատեսումը ցուցադրելու համար այն օգտագործում է Wemos D1 մինի տախտակ և 1.8 դյույմանոց TFT էկրան: Ես նաև նախագծեցի և տպեցի 3 -րդ պարիսպը
Մակընթացություն և եղանակի ժամացույց ՝ 9 քայլ (նկարներով)
Մակընթացություն և Եղանակի ժամացույց. Չնայած դուք կարող եք ձեռք բերել անալոգային ալիքների ժամացույցներ, որոնք ունեն մեկ ձեռք, որը ցույց է տալիս ՝ մակընթացությունը բարձր է, թե ցածր, թե ինչ -որ տեղ, բայց այն, ինչ ուզում էի, այն էր, ինչը ինձ կասեր, թե որ ժամին կլինի մակընթացությունը: Ես ուզում էի մի բան, որին կարող էի նայել
Եղանակի կանխատեսման փարոս. 4 քայլ (նկարներով)
Եղանակի կանխատեսման փարոս. Այս նախագծում ես ներկայացնում եմ տեղական եղանակային լուսարձակի մոդել, որը ես պատրաստել եմ 3D տպագրության, LED շերտերի, էլեկտրասնուցման և wifi միացման Arduino տախտակի միջոցով ՝ հաջորդ օրվա եղանակի կանխատեսմանը ծանոթանալու համար: Հիմնական նպատակը
Raspberry Pi Barometer Եղանակի ժամացույց. 9 քայլ (նկարներով)
Ազնվամորի Pi Barometer Եղանակի ժամացույց. Այս հրահանգով ես ձեզ ցույց կտամ, թե ինչպես կարելի է կառուցել հիմնական ometերմաչափ / բարոմետր ժամացույց `օգտագործելով Raspberry Pi 2 -ը Raspberry Pi 2 -ով BMP180 I2C սենսորով, որը ցուցադրվում է Adafruit- ի 4 թվանշանի 7 հատվածի I2C էկրանով: Pi- ն նաև օգտագործում է DS3231 իրական ժամանակի I2C ժամացույցի մոդուլը ՝
Եղանակի կանխատեսման 3-օրյա հոսք ՝ 4 քայլ
Եղանակի կանխատեսման 3-օրյա աղբյուր. Եղանակի կանխատեսման եռօրյա հոսքը տրամադրում է համապարփակ 3-օրյա եղանակի կանխատեսում ձեր ցանկալի վայրում կամ ձեր IP հասցեի գտնվելու վայրի հիման վրա: Նախագիծը օգտագործում է Wunderground Weather API ծառայությունը, որն ապահովում է JSON ձևաչափի պատասխաններ, երբ