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

Wort-Uhr: 5 քայլ
Wort-Uhr: 5 քայլ

Video: Wort-Uhr: 5 քայլ

Video: Wort-Uhr: 5 քայլ
Video: Մասլոուի պահանջմունքների բուրգը. իմաստուն մտքեր երջանիկ լինելու համար 2024, Նոյեմբեր
Anonim
Ուորթ-Ուհր
Ուորթ-Ուհր

Բարև միասին!

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

Դե, սկզբում, այսպիսի «ժամացույցի» իմ միտքը չէ: Ես շատ բան եմ տեսել ինտերնետի միջոցով, և դրանք կարելի է պատվիրել ընդամենը մի քանի դոլարով տարբեր խանութներում: Բայց ես չէի ուզում գնել մեկը, ես ուզում էի այն դարձնել իմը, որպեսզի սովորեմ և հասկանամ, թե ինչպես է այն աշխատում:

Մեկ բառ «ոչ գերմանացի» անդամներին… Ներողություն եմ խնդրում այն բանի համար, որ սա պարզապես «գերմանական անուշ» է: Այն կարող է հեշտությամբ փոխարկվել անգլերենի կամ որևէ այլ լեզվի, բայց քանի որ ես գերմանացի եմ, ես դա արել եմ իմ լեզվով: Եթե ձեր լեզվին աջակցության կարիք ունեք, դիմեք ինձ, և ես կփորձեմ օգնել ձեզ:

Այսպիսով, եկեք սկսենք…

Քայլ 1: Սխեմատիկ

Սխեմատիկ
Սխեմատիկ

Սխեման ուղիղ առաջ է, և եթե նկարը վատ է կարդում, կա նաև PDF ֆայլ:

Սկսենք ներքևի ձախ անկյունից: Կա LM7805- ի միջոցով էլեկտրամատակարարման պարզ աղբյուր `PIC- ի համար կայուն 5V ելք ստեղծելու, հերթափոխի գրանցամատյանների (74HC164) և իրական ժամանակի DS3231 չիպի համար: Բոլոր LED- ները նույնպես մատակարարվում են այս մասից: Աջ ծայրում գտնվող D22- ը պարզապես էլեկտրաէներգիայի մատակարարման նշման համար է և, չցանկանալու դեպքում, հեշտությամբ կարող է անջատվել:

Դուք կարող եք օգտագործել ցանկացած DC հոսանքի աղբյուր `40 Վ -ից պակաս ժամացույցի համար, բայց այնուհետև պետք է ընտրեք համապատասխան արժեքը C7- ի համար: Այն պետք է ունենա մուտքի լարման առնվազն կրկնակի լարման գնահատական և հիշեք, որ դուք ջերմություն եք ստեղծում LM7805- ում, այնպես որ դուք պետք է փորձեք հնարավորինս ցածր պահել մուտքի լարումը, քանի որ մնացած ամեն ինչ պարզապես էներգիայի վատնում է: Լավագույն տեղավորումը 9V- ից 12V DC- ի միջև ընկած մի բան է:

Մի անհանգստացեք ձեր սնուցման աղբյուրի բևեռայնության պատճառով … P-channel MOSFET (Q1) ծառայում է որպես կեղծ բևեռայնության պաշտպանություն, և ժամացույցը պարզապես չի գործի և չի վնասվի: Դուք կարող եք դա ստուգել «հզորության» LED D22- ի վրա, եթե այն տեղադրված է:

Սխեմատիկայի աջ կողմում տեղադրված են սերիական զուգահեռաբար դուրս եկող հերթափոխի գրանցամատյանները: Ես որոշեցի օգտագործել դրանք, քանի որ չէի ցանկանում օգտագործել հսկայական PIC ՝ բազմաթիվ I/O- նավահանգիստներով: Ես ուզում էի ավելի փոքր օգտագործել, և տանը դեռ 16F1829 ունեի, ուստի ընտրությունն արդեն պարզ էր: Տվյալները (IN_1, IN_2 և IN_3) տրամադրվում են PIC- ով (տե՛ս ներքևում գտնվող կոդերի բաժինը) և REGISTER_CLK- ով: Իմ ծածկագրի և PCB- ի դասավորության պարզության համար ես 74HC164- ից երկուսը օգտագործել եմ ժամերի համար, իսկ վերջինը `« տրամաբանության »համար:

Վերին ձախ անկյունում PIC- ն է և բոլոր անհրաժեշտ մասերը: Ես օգտագործել եմ ներքին ժամացույցը, այնպես որ օզիլյատոր անհրաժեշտ չէ: SCL, SDA և MCLR համար ընդամենը երեք դիմադրություն: Այն բանի համար, որ ես օգտագործել եմ 32kHz- ը ՝ որպես «ճշգրիտ վայրկյանների» նշան, PIC- ի համար բավականին կայուն և ճշգրիտ հաճախականության կարիք չկա:

Մեջտեղում կա DS3231- ը `արտաքին մասերի վրա նվազագույնը: Իրականում ես օգտագործել եմ միայն SDA և SCL մուտքերը I²C- ով հաղորդակցության և 32kHZ ելքի համար ՝ որպես արտաքին ժամացույցի տեղեկանք PIC16F1829- ի Timer1- ի համար: Այս ելքի համար տվյալների թերթիկն ասում է, որ դա արտաքին քաշման դիմադրություն է անհրաժեշտ: Մյուս արդյունքները, որոնք ես չեմ օգտագործել այս նախագծում և դրանք թողել եմ անկապ:

Նաև միջնամասում ՝ լուսադիոդային լուսարձակները … Ինչպես կարող եք կարդալ սխեմատիկայում, ես օգտագործել եմ կապույտ լուսադիոդային լուսարձակներ (հստակ պատյան ունեցողները) և 1k Օմ դիմադրության արժեք: Եթե դուք մտադիր եք ինքնուրույն կատարել այս նախագիծը, ապա պետք է ընտրեք այս դիմադրողների արժեքները `ըստ ձեր ընտրած LED- ների գույնի և տեսակի: Հիշեք նաև, թե որտեղ եք ցանկանում, որ ժամացույցը կարգավորվի: Իմ մեկը կանգնած է իմ քնած սենյակում, ուստի ես չէի ցանկանա, որ LED- ները չափազանց պայծառ լինեն և ավելի մեծ արժեք ընտրեցի դիմադրողների համար: Փորձարկումներ կատարեք LED- ների և դիմադրության արժեքներով տախտակի վրա, նախքան դրանք տեղադրեք PCB- ի վրա:

Քայլ 2: Դասավորություն

Դասավորություն
Դասավորություն
Դասավորություն
Դասավորություն
Դասավորություն
Դասավորություն

Սխեման ավարտելուց հետո ժամանակն է ուղղել PCB- ն: Դրա համար ես օգտագործեցի KiCAD (նաև սխեմատիկ): Շատ բան չկա ասելու, պարզապես ուղղեք գծերը:

Այն փաստի համար, որ ես ինքս եմ տպել ժամացույցի պատյանը, բավականին կարևոր էր, թե որտեղ են գտնվում վերին շերտի LED- ները: Ես LED- ները և դիմադրիչները դնում եմ միայն վերին շերտի վրա, որովհետև ես պատվիրեցի իմ PCB- ն մասամբ տեղադրված (SMD- ի բոլոր մասերը) և քանի որ դրա համար ընտրած ընկերությունը միայն մասեր է դնում մի կողմում և ոչ թե երկկողմանի:

Դուք կարող եք տեսնել KiCAD- ից իմ պատրաստած երկու եռաչափ նկարների տեղադրումը:

Եթե Ձեզ հետաքրքրում է … Հնարավոր է KiCAD PCB- ն արտահանել Արծիվ, և այդ դեպքում բավականին հեշտ է կառուցել բնակարանը, քանի որ Դուք ունեք տեղեկանք PCB- ից:

Քայլ 3. «Wort-Uhr»-ի «տրամաբանությունը»

Այս նախագծի ամենամեծ մասը PIC- ի ծածկագիրն էր…

Սկզբում գտեք գերմաներենում խոսքի ժամանակի «տրամաբանությունը» և այն թարգմանեք կոդի:

Unfortunatelyավոք, անհնար էր ուղղակիորեն Excel ֆայլը վերբեռնել, բայց հուսով եմ, որ PDF արտահանումը բավականաչափ ընթեռնելի է ձեզ համար: Եթե ոչ, դիմեք ինձ, և ես ձեզ կուղարկեմ բնօրինակ Excel ֆայլը: PDF- ում կարող եք տեսնել, թե ինչպես եմ ես իմ ժամացույցի տրամաբանությունը սահմանում: Դուք կարող եք տեսնել, թե ինչպես եմ ես անցել տարբեր քայլերի միջով և ինչպես է ուղղագրությունը: Կոդի ներսում հաշվարկը (հիմնականում եթե այլ հայտարարություններ) կարող է ստացվել աղյուսակի աջ կողմում գտնվող տեղեկատվությունից: Մի մասը րոպեներով է, իսկ մի մասը ՝ ժամերով:

Ինչպես տեսնում եք, սա կախարդություն չէ և կարող է հեշտությամբ ծածկագրվել C- ով: Տրամաբանության ներսում «ամենաբարդ» կետն այն է, թե ինչպես պետք է կարգավորել ժամը, ինչպես տեսնում եք ֆայլում, որ միայն ժամի սկզբին ցուցադրվում է իրական ժամը. Գերմաներենում (գուցե սա կարող է լինել միայն Բավարիայի հատուկ բան) «հաջորդ ժամը» օգտագործվում է բավականին վաղ:

Կոդավորման համար ես օգտագործել եմ MPLABX- ը որպես իմ ընտրած IDE- ն:

Քայլ 4: Կոդի հատվածներ

Կոդի հատվածներ
Կոդի հատվածներ
Կոդի հատվածներ
Կոդի հատվածներ

Ես այստեղ չեմ տեղադրի իմ կոդը, բայց եթե մտադիր եք գրել ձեր սեփական կոդը, ես ձեզ մի քանի ակնարկ կտամ, թե ինչ եմ «սայթաքել» զարգացման ընթացքում…

Սկզբում «գրանցամատյան» լրացնելը.

Եթե դուք նոր տվյալներ եք փոխանցում գրանցամատյաններին չափազանց հաճախ և շատ կարճ ցիկլերով, ես փորձեցի, որ LED- ները սկսեցին թարթել: Այսպիսով, ես որոշ «արգելափակող դրոշակներ» պատրաստեցի, որ ընդամենը մեկ րոպե առաջ խոսքի ժամանակի նոր «հաշվարկ» է կատարվում և գրանցման թարմացում է կատարվում:

Գրանցամատյանները լրացնելու ծածկագիրը գտնվում է վերևի նկարում: Ինչպես տեսնում եք, ես զուգահեռաբար լրացնում եմ բոլոր 3 գրանցամատյանները, այնպես որ ինձ անհրաժեշտ են տվյալների PIC- ի 3 կապում և CLK- ի համար 1 կապում: 74HC164- ը ստանձնում է նոր տվյալներ CLK գծից 0 -ից 1 -ի անցման վերաբերյալ:

Մնացած ծածկագիրը հիմնականում PIC- ից կախված իրեր են, «խոսքի ժամանակը» `տրամաբանություն և վարման հաղորդակցություն և կոճակներ: Հաղորդակցությունը հիմնականում ապահովում է Microchip MPLABX- ը, քանի որ ես օգտագործել եմ MSSP մոդուլը:

Լավ գաղափար է DS3231- ի տվյալների թերթիկը կարդալը, քանի որ տվյալները ներսում պահվում են որպես BCD, այնպես որ գուցե ստիպված լինեք դրանք «փոխակերպել» ձեր ծածկագրում: Ինչ վերաբերում է ինձ, ես «սովորելով գործով» տղա եմ և Իհարկե, չեմ կարդացել տվյալների թերթիկը … Ինձ համար շատ նյարդեր և ժամեր ծախսեցին:

Ինչպես երևի նկատեցիք, այս իրականացման ընթացքում «ժամանակին ուղու վրա պահելու» երկու եղանակ կա:

  1. Դուք կարող եք կարդալ DS3231- ի իրական ժամանակը
  2. Դուք կարող եք «հաշվել վայրկյաններ» PIC- ում և պարզապես ժամանակ առ ժամանակ համաժամեցնել DS3231- ի հետ

Դա ձեզանից է կախված, և երկու ճանապարհներն էլ գործնական են և ուղիղ առաջ: Ես օգտագործեցի առաջին տարբերակը և միայն համաժամացրեցի ժամանակը ՝ կոճակների միջոցով ժամանակը ճշգրտելիս (գրելու ժամանակը DS3231- ին) կամ ամեն 24 ժամը մեկ (կարդալու ժամանակը DS3231- ից), որովհետև ես ուզում էի ավելի շատ տրամաբանություն ներդնել: Nightամացույցս շրջում եմ նաև գիշերվա ընթացքում (23: 00 -ից մինչև 05: 00 -ն), այնպես որ, իմ կարծիքով, դա մի փոքր ավելի հեշտ էր:

Քայլ 5: Բնակարան

Վերջին, բայց ոչ ամենակարևորը, ժամանակն է կարճ նայել բնակարանին:

Ինչպես նշեցի վերևում, ես ինքս պատրաստեցի պատյանը (օգտագործելով Eagle) և տպեցի դրանք իմ 3D տպիչով, որպեսզի կարողանամ հետևել տարբեր LED- ների դիրքերին:

Կից կարող եք գտնել STL ֆայլերը, եթե ցանկանում եք դրանք օգտագործել:

Հուսով եմ, որ այս խրատը կօգնի ձեզ ձեր սեփական «Wort-Uhr»-ը կառուցելիս: Եթե դեռ կան «բաց հարցեր», մի հապաղեք կապվել ինձ հետ: Ստորև մեկնաբանություններ անելու լավագույն միջոցը, որովհետև հնարավոր է, որ դուք միակը չեք, ով կոնկրետ հարց ունի:

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