Վերջնական երկուական ժամացույց. 12 քայլ (նկարներով)
Վերջնական երկուական ժամացույց. 12 քայլ (նկարներով)
Anonim
Վերջնական երկուական ժամացույց
Վերջնական երկուական ժամացույց
Վերջնական երկուական ժամացույց
Վերջնական երկուական ժամացույց
Վերջնական երկուական ժամացույց
Վերջնական երկուական ժամացույց

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

Պարագաներ

Այս նախագծի բոլոր ֆայլերը.

Arduino կոդի գրադարանները կարելի է ներբեռնել GitHub- ից այստեղ ՝

M41T62 RTC գրադարան

FastLED գրադարան

LowPower գրադարան

Քայլ 1: Գաղափարը:

Վերջերս պատահաբար հանդիպեցի հետևյալ տեսանյութին.

DIY Երկուական ձեռքի ժամացույց

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

Առաջին քայլը իմ դիզայնի չափանիշների սահմանումն էր: Ահա թե ինչ ես գտա.

  • Երկուական RGB ինտերֆեյս
  • Displayամանակի ցուցադրում (ժամանակի շատ ճշգրիտ հաշվառումով)
  • Ամսաթվի ցուցադրում
  • Վայրկյանաչափի գործառույթ
  • Alaարթուցիչի գործառույթ
  • Մարտկոցի ժամկետը `առնվազն 2 շաբաթ
  • USB լիցքավորում
  • Softwareրագրակազմը հեշտությամբ կարգավորելի է օգտագործողի կողմից
  • Մաքուր և պարզ ձևավորում

Այս չափանիշները հիմք դարձան ամբողջ ծրագրի համար: Հաջորդ քայլը պարզելն էր, թե ինչպես եմ ուզում, որ ժամացույցը աշխատի:

Քայլ 2. Երկուական դիտման տեսություն

Երկուական դիտման տեսություն
Երկուական դիտման տեսություն

Պլանը պարզ էր. Երկուական ժամացույցը կգործի այնպես, ինչպես սովորական ժամացույցը, բացառությամբ, որ միջերեսը կլինի երկուական, մասնավորապես ՝ BCD (Երկուական կոդավորված տասնորդական): BCD- ն երկուական կոդավորման տեսակ է, որտեղ յուրաքանչյուր տասնորդական նիշ ներկայացված է ֆիքսված քանակությամբ բիթերով: Ինձ պետք է 4 բիթ, որպեսզի կարողանամ 0-9 թվանշանը ներկայացնել: Եվ ստանդարտի համար

ժամ: մմ

ժամանակի ձևաչափ, ինձ պետք է այդ թվանշաններից 4 -ը: Սա նշանակում է, որ ինձ պետք է ընդամենը 16 բիթ, որոնք ներկայացված կլինեն 16 LED- ով:

BCD- ում ժամանակը կարդալը բավականին հեշտ է, երբ ընտելանաս դրան: Watchամացույցի ներքևի տողը ներկայացնում է ամենաքիչ նշանակալի բիթը (1), իսկ վերևում ՝ ամենանշանակալից բիտը (8): Յուրաքանչյուր սյունակ ներկայացնում է թվանշան

ժամ: մմ

ժամանակի ձևաչափ: Եթե LED- ն միացված է, ապա հաշվում եք այդ արժեքը: Եթե LED- ն անջատված է, դուք անտեսում եք այն:

Առաջին նիշը կարդալու համար պարզապես գումարեք բոլոր ակտիվացված LED- ների համապատասխան արժեքները առաջին (ձախից առավել) սյունակում: Նույնը արեք ձախից աջ մնացած թվանշանների դեպքում: Դուք այժմ կարդացել եք ժամանակը BCD- ում:

Այս սկզբունքը նույնը կլինի ժամացույցի մնացած գործառույթների դեպքում: RGB LED լուսադիոդների օգտագործումը կօգնի տարբեր գույների տարբեր գործառույթների և ռեժիմների տարբերակում: Գույները ընտրվում են օգտվողի կողմից և հեշտությամբ կարող են հարմարեցվել իրենց նախընտրած ցանկացած գունային պալիտրա: Սա հնարավորություն է տալիս օգտագործողին հեշտությամբ նավարկելու գործառույթների միջով ՝ առանց շփոթվելու:

Հաջորդ քայլը բլոկ -դիագրամ ստեղծելն էր:

Քայլ 3: Աշխատանքի հասնելը

Աշխատանքի հասնելը
Աշխատանքի հասնելը

Ինչպես ցանկացած տիպիկ էլեկտրոնիկայի նախագիծ, բլոկ -դիագրամը էական մասն է վաղ նախագծման փուլում: Օգտագործելով չափանիշները ՝ ինձ հաջողվեց միասին կազմել վերը նշված բլոկ -դիագրամը: Դիագրամում յուրաքանչյուր բլոկ ներկայացնում է գործառույթը շրջագծում, և սլաքները ցույց են տալիս գործառույթների հարաբերակցությունը: Արգելափակման դիագրամն ամբողջությամբ տալիս է լավ ակնարկ, թե ինչպես է միացումն աշխատելու:

Հաջորդ քայլը բլոկ -դիագրամում յուրաքանչյուր բլոկի առանձին բաղադրիչների վերաբերյալ որոշումներ կայացնելն էր:

Քայլ 4: Բաղադրիչների ընտրություն

Պարզվեց, որ այս շղթայում բավականին շատ բաղադրիչներ կան: Ստորև ես ընտրել եմ ամենակարևորներից մի քանիսը ՝ բացատրությամբ, թե ինչու եմ դրանք ընտրել:

LED- ները

Երկուական միջերեսի համար ընտրությունը բավականին պարզ էր: Ես գիտեի, որ ուզում եմ օգտագործել LED- ները ցուցադրման համար և հասկացա, որ դրանցից 16 -ի (4 × 4 ցանցում) կարիք ունեմ `հնարավորինս շատ տեղեկատվություն ցուցադրելու համար: Կատարյալ LED- ի վերաբերյալ իմ հետազոտության ընթացքում APA102- ը շարունակում էր բարձրանալ: Դա շատ փոքր (2 մմ x 2 մմ) հասցեավորվող LED է ՝ գույների լայն տեսականիով և բավականին էժան: Չնայած ես նախկինում երբեք չէի աշխատել նրանց հետ, բայց նրանք կարծես կատարյալ պիտանի էին այս նախագծին, ուստի որոշեցի օգտագործել դրանք:

Միկրոհսկիչը

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

RTC (Իրական ժամանակի ժամացույց)

RTC- ի հիմնական պահանջը ճշգրտությունն էր: Ես գիտեի, որ ժամացույցը չի ունենա որևէ ինտերնետային կապ և, հետևաբար, չի կարողանա ինքնահաստատվել ինտերնետ կապի միջոցով, օգտվողը պետք է այն վերահաստատի ձեռքով: Հետևաբար, ես ուզում էի հնարավորինս ճշգրիտ դարձնել ժամաչափը: M41T62 RTC- ն ունի ամենաբարձր ճշգրտություններից մեկը, որը ես կարող էի գտնել (pp 2 էջ / րոպե, որը համարժեք է ամսական seconds 5 վայրկյանի): Բարձր ճշգրտությունը I2C համատեղելիության և ծայրահեղ ցածր ընթացիկ սպառման հետ համատեղելը այս RTC- ն լավ ընտրություն կատարեց այս նախագծի համար:

DC-DC խթանող փոխարկիչ

DC-DC Boost Converter IC- ի ընտրությունը կատարվել է պարզապես միացումին նայելով և պարզելով, թե ինչ լարումներ և հոսանքներ են պահանջվում: Voltageածր լարման վրա միացումն ընթացիկ սպառումը կնվազեցներ, բայց ես չէի կարող 4.5V- ից ցածր լինել (16 ՄՀց հաճախականությամբ միկրոկոնտրոլերի նվազագույն լարումը) և 4.5V- ից (RTC- ի առավելագույն լարումը): Սա նշանակում էր, որ ես պետք է միացնեի ճշգրիտ 4.5 Վ լարման տակ, որպեսզի բաղադրիչները գործարկեի իրենց առաջարկած բնութագրերի սահմաններում: Ես հաշվեցի, որ շղթայի առավելագույն հոսանքը չի գերազանցի 250 մԱ: Այսպիսով, ես սկսեցի փնտրել խթանման փոխարկիչ, որը կարող էր բավարարել պահանջները և արագ բախվեց TPS61220- ի հետ: TPS61220- ը պահանջում էր նվազագույն արտաքին բաղադրիչներ, բավականին էժան էր և կարող էր բավարարել ընթացիկ և լարման պահանջները:

Մարտկոցը

Մարտկոցի հիմնական պահանջը չափն էր: Մարտկոցը պետք է բավականաչափ փոքր լիներ, որպեսզի այն տեղավորվեր ժամացույցի խցիկի ներսում ՝ առանց դրա զանգվածային տեսք ունենալու: Ես հասկացա, որ մարտկոցը չի կարող գերազանցել 20 մմ × 35 մմ × 10 մմ: Չափի այս սահմանափակումներով և 250 մԱ -ի ներկայիս պահանջով մարտկոցների իմ ընտրությունը սահմանափակվում էր LiPo մարտկոցներով: Hobbyking- ում գտա «Turnigy nano-tech 300mAh 1S» մարտկոց, որը որոշեցի օգտագործել:

Լիցքավորման IC

Լիցքավորման վերահսկիչի համար հատուկ պահանջ չկար, բացի այն, որ այն պետք է համատեղելի լիներ 1S LiPo մարտկոցի հետ: Ես գտա MCP73831T- ը, որը լիովին ինտեգրված լիցքավորման վերահսկիչ է, որը նախատեսված է միաբջիջ լիցքավորման ծրագրերի համար: Դրա առանձնահատկություններից մեկը լիցքավորման հոսանքը արտաքին դիմադրության միջոցով կարգավորելու ունակությունն է, որը ես բավականին օգտակար գտա այս ծրագրում:

LiPo պաշտպանություն

Ես ուզում էի ներառել լարման և հոսանքի մոնիտորինգ ՝ մարտկոցը ցանկացած վտանգավոր գերլիցքավորման և գերբեռնաթափման պայմաններից պաշտպանելու համար: Կային սահմանափակ քանակությամբ IC- ներ, որոնք ապահովում էին նման հնարավորություններ, և ավելի էժան տարբերակներից մեկը BQ29700 IC- ն էր: Այն պահանջում էր նվազագույն քանակությամբ արտաքին բաղադրիչներ և ներառում էր ամբողջ բջջային LiPo մարտկոցի համար անհրաժեշտ բոլոր պաշտպանությունը:

Այժմ, երբ բաղադրիչներն ընտրվեցին, ժամանակն էր ստեղծել սխեմատիկ:

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

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

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

Հաջորդ քայլը PCB- ի սխեման կազմելն էր:

Քայլ 6: PCB դասավորություն

PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը
PCB դասավորությունը

PCB- ի դասավորությունը պարզվեց, որ այս նախագծի ամենաբարդ խնդիրն է: Ես ընտրեցի օգտագործել երկշերտ PCB ՝ PCB- ի արտադրության ծախսերը նվազագույնի հասցնելու համար: Ես նախընտրեցի օգտագործել 36 մմ ստանդարտ ժամացույցի չափսեր, քանի որ այն, կարծես, բավականին լավ տեղավորվում էր LED- ների մոտ: Addedամացույցի պատյանում PCB- ն ամրացնելու համար ես ավելացրեցի պտուտակային 1 մմ անցքեր: Նպատակն էր պահպանել մաքուր և գեղեցիկ տեսք ՝ տեղադրելով բոլոր բաղադրիչները (իհարկե, LED- ներից) ներքևի շերտի վրա: Ես նաև ցանկանում էի օգտագործել բացարձակապես նվազագույն թվով վիասներ `վերին շերտում տեսանելի վիասներ չունենալու համար: Սա նշանակում էր, որ ես ստիպված էի բոլոր հետքերը մեկ շերտով ուղղել ՝ միաժամանակ համոզվելով, որ շղթայի «աղմկոտ» հատվածները հեռու եմ պահում ազդանշանի զգայուն հետքերից: Ես նաև համոզվեցի, որ հնարավորինս կարճ պահեմ բոլոր հետքերը ՝ շրջանցող կոնդենսատորները տեղադրելով բեռի մոտ, օգտագործելով ավելի հզոր հետքեր բարձր հզորության բաղադրիչների համար և հակառակ դեպքում հետևեմ PCB- ի նախագծման բոլոր ընդհանուր լավ փորձերին: Երթուղին բավականին ժամանակ տևեց, բայց ես կարծում եմ, որ այն շատ լավ ստացվեց:

Հաջորդ քայլը ժամացույցի պարիսպի համար 3D մոդելի ստեղծումն էր:

Քայլ 7: 3D ձևավորում

3D դիզայն
3D դիզայն
3D դիզայն
3D դիզայն
3D դիզայն
3D դիզայն

Watchամացույցի պարիսպը նախագծվել է շատ սովորական, դասական ժամացույցի դիզայնից հետո `Fusion 360 -ի միջոցով: Ես օգտագործել եմ ժամացույցի ժապավենի 18 մմ ստանդարտ տարածություն, որպեսզի ժամացույցը համատեղելի լինի այլ բազմազան ժապավենների հետ: PCB- ի կտրվածքը նախագծված էր 0.4 մմ-ով ավելի մեծ, քան ինքնին ՝ այն արտադրական անճշտությունների համար: Ես ներառեցի մի քանի պտուտակավոր սյուներ ՝ PCB- ն ամրացնելու համար, և մի փոքր եզր ՝ PCB- ի վրա ՝ դրա տեղադրման համար: Ես համոզվեցի, որ PCB- ն վերևից մի քանի միլիմետր հեռավորության վրա եմ դնում, որպեսզի LED- ների սուր եզրերը հագուստի վրա չմնան: Խցիկի բարձրությունը որոշվում էր միայն մարտկոցի հաստությամբ: Մնացած պարիսպը նախատեսված էր պարզապես լավ տեսք ունենալու համար ՝ կլորացված եզրերով և հղկված անկյուններով: Ես իսկապես պետք է պահպանեի դիզայնը 3D- տպման համար, որպեսզի կարողանայի այն 3D- տպել տանը ՝ առանց որևէ օժանդակ նյութի:

Այժմ, երբ սարքավորումն ավարտված է, ժամանակն է սկսել աշխատել ծրագրաշարի վրա:

Քայլ 8: Կոդ

Օրենսգիրքը
Օրենսգիրքը

Ես սկսեցի ծածկագիրը ՝ ներառելով բոլոր անհրաժեշտ գրադարանները: Սա ներառում է գրադարան RTC- ի հետ հաղորդակցվելու և LED- ները վարելու համար: Դրանից հետո ես ստեղծեցի առանձին գործառույթներ ռեժիմներից յուրաքանչյուրի համար: Երբ օգտվողը ռեժիմը փոխում է կոճակը սեղմելով, ծրագիրը կանչում է այդ ռեժիմին համապատասխան գործառույթ: Եթե օգտագործողը որոշակի ժամանակահատվածում չի սեղմում կոճակը, ժամացույցը քնում է:

Քնի ռեժիմը ցույց է տալիս, որ բոլոր LED- ները մարում են մինչև դրանք ամբողջովին անջատված: Քնի ռեժիմի օգտագործումը մեծապես մեծացնում է մարտկոցի կյանքը և LED- ները անջատած է պահում, երբ դրանք չեն օգտագործվում: Օգտագործողը կարող է արթնացնել ժամացույցը ՝ սեղմելով վերին կոճակը: Արթնանալուց ժամացույցը ստուգելու է մարտկոցի մակարդակը `ապահովելու համար, որ այն չի պահանջում լիցքավորում: Եթե լիցքավորումը պահանջվում է, LED- ները մի քանի անգամ կարմիր կշարունակեն ժամանակը ցույց տալուց առաջ: Եթե մարտկոցը կրիտիկական մակարդակից ցածր է, այն ընդհանրապես չի միանա:

Մնացած ժամանակի ծրագրավորումը սկսեց մյուս ռեժիմները հնարավորինս ինտուիտիվ դարձնել: Ես մտածեցի, որ միևնույն կոճակը, որը պատասխանատու է միևնույն ֆունկցիոնալության համար բոլոր ռեժիմներում, կլինի ամենաինտուիտիվը: Որոշ փորձարկումներից հետո սա կոճակի կազմաձևն է, որը ես գտա.

  • Վերևի կոճակի սեղմում. Արթնացեք / շրջանցեք «Displayուցադրման ժամանակը», «Displayուցադրման ամսաթիվը», «վայրկյանաչափ» և «rmարթուցիչ» ռեժիմների միջև:
  • Վերևի կոճակի պահում. Մուտքագրեք «Սահմանել ժամանակը», «Սահմանել ամսաթիվը», «Գործարկել վայրկյանաչափ» կամ «Alaարթուցիչ սահմանել» ռեժիմները:
  • Ստորին կոճակի սեղմում. Բարձրացրեք պայծառությունը:
  • Ստորին կոճակի պահում. Մուտքագրեք «Ընտրեք գույնը» ռեժիմը:

Ստորին կոճակը միշտ պատասխանատու է պայծառության և գույնի ճշգրտումների համար `անկախ նրանից, թե որ ռեժիմում եք գտնվում: Երբ օգտվողը մտնում է« Ընտրել գույնը »ռեժիմը, LED- ները սկսում են հեծանիվ վարել RGB- ի բոլոր հնարավոր գույներով: Օգտագործողը կարող է դադարեցնել անիմացիան և ընտրել այն գույնը, որը նախընտրում է տվյալ հատուկ ռեժիմի համար (Timeուցադրման ժամանակը կարմիրով, Dateուցադրման ամսաթիվը կապույտով և այլն): Գույները պետք է հեշտությամբ կարգավորվեն օգտագործողի կողմից ՝ օգնելու նրանց տարբերակել տարբեր ռեժիմները:

Այժմ, երբ ծածկագիրն ավարտված է, ժամանակն է այն վերբեռնել միկրոկառավարիչ:

Քայլ 9: mingրագրավորում

Ծրագրավորում
Ծրագրավորում

Almostոդման և հավաքման ժամանակը մոտ էր, բայց մինչ այդ ես պետք է ծրագրավորեի միկրոկառավարիչը: Ես հետևեցի այս ձեռնարկին

Այրեք բեռնիչը ATmega328P-AU SMD- ին

այն մասին, թե ինչպես կարելի է այրել bootloader- ը և ծրագրավորել միկրոկառավարիչը `օգտագործելով սովորական Arduino Uno- ն որպես ծրագրավորող:

Առաջին քայլը Arduino Uno- ն ISP- ի վերածելն էր `վերբեռնելով« ArduinoISP »օրինակով ծածկագիրը: Ես օգտագործեցի տախտակ ՝ ծրագրավորման վարդակի հետ միասին և միացրեցի ձեռնարկի սխեման: Դրանից հետո ես կարողացա այրել bootloader- ը միկրոկառավարիչի վրա `պարզապես Arduino IDE- ում սեղմելով« Burn Bootloader » - ը:

Երբ միկրոկառավարիչը բեռնող սարք ուներ, ես պարզապես հեռացրեցի գոյություն ունեցող միկրոկառավարիչը Arduino Uno- ից և օգտագործեցի Arduino Uno տախտակը որպես USB դեպի սերիական ադապտեր `ծածկագիրը միկրոկոնտրոլերի վրա ծրագրավորման վարդակից վերբեռնելու համար: Վերբեռնումն ավարտվելուց հետո ես կարող եմ սկսել զոդման գործընթացը:

Հաջորդ քայլը բոլոր բաղադրամասերը հավաքելն ու դրանք միասին միացնելն էր:

Քայլ 10: Sոդում

Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման

Ոդման գործընթացը բաժանված էր երկու մասի: Սկզբում անհրաժեշտ էր զոդել ստորին շերտը, այնուհետև վերին շերտը:

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

Երբ ստորին շերտը զոդվեց, ես այն արագ տեսողական ստուգում տվեցի `համոզվելու համար, որ զոդումը հաջող է: Այնուհետև ես շրջեցի տախտակի վրա և կրկնեցի զոդման գործընթացը մյուս կողմից, այս անգամ բոլոր LED- ների հետ: Շատ կարևոր էր, որ տախտակը գերտաքացում չլինի վերին շերտը զոդելիս, քանի որ ներքևի բոլոր բաղադրամասերը ընկնելու վտանգի տակ են: Բարեբախտաբար, բոլոր բաղադրիչները մնացին տեղում, և սովորական զոդման միջոցով կոճակները միացնելուց հետո, PCB- ն ավարտվեց:

Հիմա եկել էր վերջնական համաժողովի ժամանակը:

Քայլ 11: Հավաքում

Ժողով
Ժողով

Հավաքը շատ պարզ էր: Ես մարտկոցը միացրի PCB- ին և մարտկոցն ու PCB- ն տեղադրեցի 3D տպված պատյանում: Ես շարունակեցի պտուտակել PCB- ի յուրաքանչյուր անկյունի ամրացման անցքերի չորս պտուտակները: Դրանից հետո, ես ամրացրի ժամացույցի ժապավենները ՝ օգտագործելով 18 մմ գարնանային ձողեր, և ժամացույցն ավարտված էր:

Քայլ 12. Եզրակացություն և բարելավումներ

Եզրակացություն և բարելավումներ
Եզրակացություն և բարելավումներ
Եզրակացություն և բարելավումներ
Եզրակացություն և բարելավումներ

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

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

Եթե ունեք որևէ մտքեր, մեկնաբանություններ կամ հարցեր այս նախագծի վերաբերյալ, խնդրում ենք թողնել դրանք ստորև: Կարող եք նաև դրանք ուղարկել [email protected] էլ.

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

Priամացույցների մրցույթում առաջին մրցանակ

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