Բովանդակություն:
- Քայլ 1: Գաղափարը
- Քայլ 2: Մասեր և գործիքներ
- Քայլ 3. Սխեմաների նկարագրություն
- Քայլ 4: Sոդում
- Քայլ 5: Հավաքում
- Քայլ 6: Համառոտ ծրագրավորման ներածություն
- Քայլ 7: Կոդի նկարագրություն
- Քայլ 8: Վերջնական ծածկագիր և օգտակար ֆայլեր
Video: Tiny LED Matrix Display ockամացույց ՝ 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ես միշտ ցանկացել եմ ունենալ հնաոճ աշխատասեղան, որը նման է 90-ականների ֆիլմերին, բավականին համեստ գործառույթներով ՝ իրական ժամանակի ժամացույց, ամսաթիվ, ֆոնի լուսարձակի փոփոխություն, ազդանշանային ազդանշան և զարթուցիչ: Այսպիսով, ես եկել եմ մեկ գաղափար ստեղծելու ՝ թվային սարք, որը հիմնված է միկրոկառավարիչի վրա ՝ վերը նշածս բոլոր հատկանիշներով և սնուցվում է USB- ով ՝ ԱՀ կամ բջջային USB լիցքավորիչ: Քանի որ ես ցանկանում էի այն ծրագրավորելի դարձնել ՝ ընտրացանկերով և պարամետրերի ճշգրտմամբ, MCU- ի տեղադրումն այս նախագծում անխուսափելի էր: ATMEGA328P IC- ն (որից կազմված է յուրաքանչյուր Arduino Uno տախտակ) ընտրվել է որպես շրջանի «ուղեղ» (որի մասին խոսելու համար ես պարզապես ունեի դրանցից շատերը): Համակցելով որոշ էլեկտրոնային մասեր ՝ որպես RGB LED, լիցքավորման ժամանակաչափի չիպ և կոճակներ, հնարավորություն ընձեռեց ամբողջ նախագծի ծնունդը.
Այսպիսով, նախագծի էությունը լուսաբանելուց հետո եկեք կառուցենք այն:
Քայլ 1: Գաղափարը
Ինչպես նշվեց նախկինում, մեր սարքը պարունակում է մի քանի գեղեցիկ LED մատրիցային էկրաններ, գույնը փոխող RGB LED լուսային լուսավորություն, հոսանքի լիցքավորման ժամանակաչափի չիպ, հարմար USB սնուցման սարք և փոքր չափի պատյան:
Եկեք նկարագրենք սարքի շահագործման բլոկային դիագրամը ըստ մասերի.
1. Էներգամատակարարման միավոր:
Քանի որ սարքը գործում է 5 վոլտ DC- ով, էլեկտրամատակարարման բաղադրիչը բաղկացած է երկու առանձին սխեմաներից.
- Միկրո USB մուտք - Ուղղակի լիցքավորիչ / ԱՀ սնուցման համար:
- 5V Գծային լարման կարգավորիչի միացում `հիմնված LM7805 IC- ի վրա:
LM7805 IC միացումն ընտրովի չէ, եթե չեք նախընտրում էներգիայի մատակարարման տարբեր մուտքերի առկայություն: Մեր սարքում օգտագործվում է Micro-USB PSU:
2. Միկրոկառավարիչ միավոր:
Միկրոկոնտրոլեր ATMEGA328P, գործում է որպես ամբողջ սարքի «ուղեղ»: Դրա նպատակն է հաղորդակցվել բոլոր ծայրամասային սխեմաների հետ, տրամադրել անհրաժեշտ տվյալներ և վերահսկել սարքի օգտագործողի միջերեսը: Քանի որ ընտրված միկրոկառավարիչը ATMEGA328P- ն է, մեզ պետք կգա Atmel Studio- ն և հիմնական C գիտելիքները (սխեմաներն ու ծրագրավորման հաջորդականությունները նկարագրված են հետագա քայլերում):
3. Իրական ժամանակի ժամացույցի միացում
Երկրորդ ամենակարևոր սխեման սարքում: Դրա նպատակն է տրամադրել ամսաթվի և ժամի տվյալներ ՝ դրանք պահելու պահանջով, առանց մուտքային հոսանքի միացումից կախվածության, այսինքն ՝ ժամանակի տվյալները թարմացվում են իրական ժամանակի ռեժիմում: Որպեսզի RTC բաղադրիչը կարողանա շարունակել փոփոխել ժամանակի / ամսաթվի տվյալները, միացմանը միացվում է 3V մետաղադրամ բջջային մարտկոց: IC- ն DS1302 է, դրա գործողությունը նկարագրված է հետագա քայլերում:
4. Մուտքային ինտերֆեյս - սեղմիչ կոճակների անջատիչներ
Մուտքային PB անջատիչները օգտվողին ապահովում են մուտքային միջերես: Այս անջատիչները մշակվում են MCU- ում և վերահսկիչ սարքի կողմից սահմանված ծրագրում:
5. LED մատրիցային էկրան
Սարքի ցուցադրումը բաղկացած է երկու IC- ով փաթաթված HCMS-2902 ալֆան թվային LED մատրիցներից, յուրաքանչյուր IC- ն ունի 5x7 փոքր LED մատրիցի 4 նիշ: Այս էկրանները պարզ են օգտագործման համար, 3-Wire հաղորդակցությունն ապահովված է և փոքր չափսերով `այն ամենը, ինչ մեզ անհրաժեշտ է այս նախագծում:
6. RGB լուսավորություն
Գույնը փոխող լուսավորությունը հիմնված է արտաքին RGB LED- ի վրա, որը վերահսկվում է MCU- ից եկող PWM ազդանշաններով: Այս նախագծում RGB LED- ն ունի ընդհանուր 4 կապում `R, G, B և սովորական, որտեղ R, G, B գույնի ներկապնակը վերահսկվում է PWM- ի միջոցով MCU- ի կողմից:
7. Buzzer:
Buzzer սխեման օգտագործվում է որպես ձայնային ելք, հիմնականում ահազանգման նպատակով: BJT անջատիչն օգտագործվում է ազդանշանային բաղադրիչին բավարար հոսանք ապահովելու համար, այնպես որ դրա ձայնը բավական բարձր կլինի կենդանի մարդուն արթնացնելու համար:
Քայլ 2: Մասեր և գործիքներ
I. Էլեկտրոնիկա:
Ա. Ինտեգրված և ակտիվ բաղադրիչներ
- 1 x ATMEGA328P - MCU
- 2 x HCMS2902 - AVAGO ցուցադրում
- 1 x DS1302 - RTC
- 1 x 2N2222A - BJT (NPN)
B. Պասիվ բաղադրիչներ
-
Ռեզիստորներ.
- 5 x 10K
- 1 x 180R
- 2 x 100R
-
Կոնդենսատորներ:
- 3 x 0.1uF
- 1 x 0.47uF
- 1 x 100uF
- 2 x 22pF
- 1 x 4-փին RGB LED
- 1 x Buzzer
- 1 x 32,768 ԿՀց բյուրեղ
C. Միակցիչներ:
- 1 x Micro-USB միակցիչ
- 2 x 6-պինական ստանդարտ սկիպիդար (100 մղոն) միակցիչ:
- 2 x 4-պինական ստանդարտ սկիպիդար (100 մղոն) միակցիչ:
- 1 x Մետաղադրամների մարտկոցի պատյան:
D. Տարբեր:
- 3 x SPST Push-Button անջատիչներ
- 1 x 3V մետաղադրամ բջջային մարտկոց:
E. Լրացուցիչ PSU:
- 1 x LM7805 - գծային կարգավորիչ
- 2 x 0.1uF կափարիչ
- 2 x 100uF կափարիչ
II. Մեխանիկական:
- 1 x Պլաստիկ պատյան
- 4 x Ռետինե կցորդներ
- 1 x զոդման տախտակի նախատիպ
- 1 x MCU վերնագիր (միկրոկառավարիչի խափանման դեպքում)
- 2 x 8 մմ փոքր պտուտակներ
- 2 x 8 մմ լվացքի մեքենա
III. Գործիքներ և նյութեր
- Oldոդման լարեր
- Նեղացող խողովակներ
- Oldոդման անագ
- Oldոդման երկաթ
- Դանակ
- Աքցան
- Պինցետ
- Հորատման բիթեր
- Փոքր չափի ֆայլ
- Տարբեր պտուտակահաններ
- Կալիպեր
- Բազմաչափ
- Հացաթուղթ (ըստ ցանկության)
- Միկրո USB մալուխ
- Միջին չափի ֆայլ
- Տաք սոսինձ ատրճանակ
-
AVR ISP ծրագրավորող
IV. Programրագրավորում
- Atmel Studio 6.3 կամ 7.0.
- ProgISP կամ AVRDude
- Microsoft Excel (ցուցադրման նիշերի ստեղծման համար)
Քայլ 3. Սխեմաների նկարագրություն
Շղթայի աշխատանքը հասկանալն ավելի դյուրին դարձնելու համար սխեմատիկ քայլը բաժանված է յոթ ենթախմբի: Պետք է նկատել, որ ցանցային անունները սահմանված են սխեմատիկ էջում, ինչպես նաև սահմանում են կապեր սարքի առանձին ենթաշղթաների միջև:
Ա. Հիմնական բաղադրիչների խորհուրդ
Ինչպես նշվեց նախկինում, բոլոր համապատասխան ենթաշրջանները, որոնք մենք ցանկանում ենք լինել «սարքի ներսում», տեղադրված են մեկ կտրված նախատիպի տախտակի վրա: Եկեք անցնենք հիմնական տախտակի տեղադրված սխեմաների շահագործման բացատրությանը.
1. Միկրոկառավարիչ միացում
Այս նախագծում օգտագործվող MCU- ն ATMEGA328P է: Այն սնուցվում է արտաքին 5 Վ էլեկտրամատակարարմամբ, այս դեպքում ՝ միկրո USB միակցիչով: Բոլոր համապատասխան I/O կապումներն միացված են ըստ նախագծման պահանջների: Նավահանգիստների մուտքի/ելքի քարտեզագրումը հեշտ է հասկանալ, քանի որ բոլոր զուտ անունները սահմանվում են ճիշտ այնպես, ինչպես այն օգտագործվելու է ծրագրավորման փուլում: MCU- ն ունի պարզ RC զրոյական միացում, որն օգտագործվում է կամ ծրագրավորման հաջորդականության և էներգիայի սկզբնավորման ժամանակ:
MCU- ի վճռական մասը ծրագրավորման սխեման է: Գոյություն ունի 6 -պին ծրագրավորման միակցիչ `J5, համոզվեք, որ VCC, GND և RESET ցանցերը ընդհանուր են արտաքին ISP ծրագրավորողի և հիմնական բաղադրիչների տախտակի համար:
2. Իրական ժամանակի ժամացույցի միացում
Հաջորդ շրջանը նախագծի հիմնական ծայրամասային մասն է: DS1302- ը լիցքավորման ժամանակացույց է, որը տրամադրում է մշակված ժամանակի և ամսաթվի արժեքներ մեր մշակման միավորին: DS1302- ը MCU- ի հետ հաղորդակցվում է եռալար ինտերֆեյսի միջոցով, որը նման է եռալար SPI հաղորդակցությանը, հետևյալ տողերով.
- RTC_SCK (Արդյունք). Կատարում է SDO գծով փոխանցվող տվյալների վարում և նմուշառում:
- RTC_SDO (I/O). Տվյալների վարման գիծ: Գործում է որպես մուտքագրում MCU- ին, երբ տվյալները/ժամերն են ստացվում և որպես ելք, երբ տվյալները փոխանցվում են (լրացուցիչ բացատրության համար տե՛ս Programming Essentials քայլը):
- RTC_CE: (Ելք). Տվյալների փոխանցման միացման գիծ: Երբ MCU- ի կողմից սահմանվում է HIGH, տվյալները պատրաստ են փոխանցման/ստացման:
DS1302- ը պահանջում է արտաքին 32.768KHz բյուրեղային տատանում `համարժեք շղթայի վարքագծի համար: Շղթաների հաշվման համակարգի վրա մեծ շեղումից խուսափելու համար (այս տիպի ինտեգրալ սխեմաներում դրեյֆի երևույթներն ուղղակի անխուսափելի են), յուրաքանչյուր բյուրեղապակու վրա պետք է տեղադրել երկու տրամաչափիչ կոնդենսատոր (տե՛ս սխեմաներում X1, C8 և C9 մասերը): Այս նախագծում ժամանակի պահպանման բազմաթիվ փորձերից հետո 22pF- ն օպտիմալ արժեքներ էին, այնպես որ, երբ դուք պատրաստվում եք միացնել միացումն ամբողջությամբ, համոզվեք, որ կա այդ կոնդենսատորները այլ արժեքներով փոխարինելու տարբերակ: Բայց 22pF փոքր չափի տախտակի համար բավականին լավ աշխատեց շատ փոքր դրեյֆի համար (ամսական 7 վայրկյան):
Այս շրջանի վերջին, բայց ոչ պակաս կարևոր բաղադրիչը `3 Վ մետաղադրամանոց մարտկոցը պետք է տեղադրվի տախտակի վրա` DS1302 IC- ին բավականաչափ էներգիա մատակարարելու համար, որպեսզի այն շարունակի ժամանակի հաշվման աշխատանքը:
4. 8 Նիշերի LED մատրիցա
Սարքի ցուցադրումը հիմնված է 2 x 4 նիշ LED Մատրիցային ցուցադրման IC- ների վրա, որոնք ծրագրավորված են 3-լարային ինտերֆեյսով, RTC- ի DS1302- ի նմանությամբ, մեկ տարբերությամբ, որ տվյալների տրամադրման տողը (SDI) սահմանվում է որպես MCU- ի ելք (եթե չեք ցանկանում ավելացնել ձեր ցուցադրման սխեմայի կարգավիճակի ստուգման ունակություն): Disուցադրությունները համակցված են 3-Wire շարքի ընդլայնման մեջ, ուստի երկու IC- ն գործում են որպես մեկ ցուցադրման սարք, որտեղ կա հնարավորություն ծրագրավորելու այն ցուցադրման բոլոր նիշերի սահմանման համար (տես SPI շարքի համադրություն): Շղթայի բոլոր զուտ անվանումները համընկնում են MCU- ի համապատասխան միացումների հետ - նշեք, որ կան ընդհանուր ցանցեր, որոնք հաղորդակցություն են հաստատում դիսփլեյների միջև, և անհրաժեշտություն չկա երկու էկրանին հաղորդակցման միջերեսները միացնել MCU- ին: Mingրագրավորումը և կերպարների կառուցման հաջորդականությունը սահմանվում են հետագա քայլերում: Օգտվողի միջերեսի միացում.
Օգտվողի միջերեսը բաժանված է երկու ենթախմբի `Մուտքային և ելքային համակարգեր. Մուտքային համակարգ. Սարքն ինքն է օգտվողին տրամադրել մուտքագրում, որը սահմանվում է որպես SPST կոճակի երեք անջատիչ, լրացուցիչ ձգվող դիմադրիչներով` սահմանված տրամաբանությունը բարձր կամ ցածր հասցնելու համար: MCU- ն: Այս անջատիչներն ապահովում են կառավարման համակարգ ամբողջ ծրագրավորված ալգորիթմի համար, քանի որ անհրաժեշտ է հարմարեցնել ժամի/ամսաթվի արժեքները, մենյուի կառավարումը և այլն:
6. Ելքային համակարգ
A. Buzzer- ի միացումն ապահովում է ձայնի ելք երկու նահանգներում, մենյուի փոխարկումը ճանաչում է ձայնի և ահազանգի ալգորիթմը: NPN տրանզիստորը օգտագործվում է որպես անջատիչ ՝ ազդանշանին ապահովելով բավականաչափ հոսանք ՝ այն հնչեցնելով համապատասխան ճկունությամբ: Buzzer- ը վերահսկվում է անմիջապես MCU- ի ծրագրակազմով: B RGB LED- ն օգտագործվում է որպես սարքի լուսային լուսավորություն: Այն վերահսկվում է անմիջապես MCU- ի կողմից, լուսավորության ընտրության չորս տարբերակով `ԿԱՐՄԻՐ, Կանաչ, ԿԱՊՈՀ, PWM կամ OFF ռեժիմներ: Նկատի ունեցեք, որ LED R, G և B կապանքներին հաջորդաբար միացված դիմադրողները ունեն տարբեր արժեքներ, քանի որ յուրաքանչյուր գույն ունի տարբեր ինտենսիվություն հաստատուն հոսանքի նկատմամբ: Կանաչ և կապույտ LEDS- ի համար կան նույն բնութագրերը, երբ կարմիրն ունի մի փոքր ավելի մեծ ինտենսիվություն: Այսպիսով, կարմիր LED- ն միացված է դիմադրության ավելի մեծ արժեքին `այս դեպքում` 180 Օմ (տես RGB LED բացատրություն): 7. Միակցիչներ:
Միակցիչները տեղադրված են հիմնական տախտակի վրա `արտաքին ինտերֆեյսի բաղադրիչների միջև հաղորդակցություն ապահովելու համար, ինչպիսիք են` Displayուցասարքը, RGB LED- ն, հոսանքի մուտքի և սեղմման կոճակները և հիմնական տախտակը: Յուրաքանչյուր միակցիչ նվիրված է տարբեր միացումներին, ուստի սարքի հավաքման բարդությունը կտրուկ ընկնում է: Ինչպես կարող եք տեսնել սխեմաներում, միակցիչների ցանցերի յուրաքանչյուր կարգը պարտադիր չէ և կարող է փոխանակվել, եթե դա էլեկտրամոնտաժման գործընթացը շատ ավելի պարզ է դարձնում: Բոլոր սխեմատիկ հասկացություններն ընդգրկելուց հետո անցնենք հաջորդ քայլին:
Քայլ 4: Sոդում
Հավանաբար, մեզանից ոմանց համար դա ամենածանր քայլն է ամբողջ նախագծում: Որպեսզի սարքը հնարավորինս արագ աշխատեցնելը շատ ավելի դյուրին դարձնելու համար զոդման գործընթացը պետք է ավարտվի հետևյալ հաջորդականությամբ.
1. MCU և ծրագրավորման միակցիչ. Խորհուրդ է տրվում ինքնին MCU- ի փոխարեն զոդել 28 փին վերնագիր, որպեսզի ձախողման դեպքում կարողանաք փոխարինել MCU IC- ն: Համոզվեք, որ սարքը կարող է ծրագրավորվել և միացվել: Itրագրավորման միակցիչի վրա խորհուրդ է տրվում տեղադրել նկարագրության քորոց (տես երրորդ նկարը):
2. RTC միացում. Բոլոր անհրաժեշտ մասերը զոդելուց հետո համոզվեք, որ չափիչ կոնդենսատորները հեշտությամբ փոխարինվում են: Եթե ցանկանում եք օգտագործել 3V մետաղադրամների մարտկոցի պատյան, համոզվեք, որ այն համապատասխանում է սարքի պարիսպի չափսերին:
3. Displayուցասարք. Առանձին փոքր չափի տախտակի վրա պետք է զոդել երկու ցուցադրման IC (նկ. 1): Բոլոր անհրաժեշտ ցանցերը միացնելուց հետո անհրաժեշտ է պատրաստել լարերից դուրս (նկ. 4). Այդ լարերը պետք է զոդել և անցկացնել ցուցադրման տախտակի կողքին, նշեք, որ լարերի վրա կիրառվող լարվածությունն ու մեխանիկական սթրեսը չեն ազդել ցուցադրման տախտակի վրա ամրացվող հոդերի վրա:
4. Նախորդ քայլի լարերի վրա պետք է տեղադրվեն պիտակների կպչուն պիտակներ, ինչը հետագա քայլում հավաքման գործընթացը շատ ավելի դյուրին կդարձնի: Լրացուցիչ քայլ. Յուրաքանչյուր մետաղալարին ավելացրեք արական միակողմանի միակցիչ (Arduino ոճ):
5. boardոդեք հիմնական տախտակի մնացած միակցիչները, ներառյալ ծայրամասային բաղադրիչները: Մեկ անգամ ևս խորհուրդ է տրվում տեղադրել կպչուն պիտակներ `յուրաքանչյուր միակցիչի համար քորոց նկարագրությամբ:
6. Ազդանշանային միացում. Ազդանշանը գտնվում է սարքի ներսում, ուստի այն պետք է զոդել հիմնական տախտակին, փոխկապակցվող միակցիչի կարիք չկա:
7. RGB LED. Հիմնական տախտակի տարածքը խնայելու համար ես միացրել եմ շարանի դիմադրիչները LED լուսադիոդների վրա, որտեղ յուրաքանչյուր ռեզիստոր համապատասխանում է իր համապատասխան գույնին և համապատասխան MCU կապին (նկ. 5):
Քայլ 5: Հավաքում
Այս քայլը սահմանում է նախագծի տեսքը `էլեկտրական և մեխանիկական: Եթե հաշվի առնվեն բոլոր առաջարկվող գրառումները, հավաքման գործընթացը շատ հեշտ է կատարվում: Հետևյալ քայլ առ քայլ հաջորդականությունը տալիս է ամբողջական տեղեկատվություն գործընթացի վերաբերյալ.
Մաս Ա
1. Հորատեք երեք անցք ՝ ըստ կոճակի կոճակի տրամագծի (այս դեպքում 3 մմ): 2. Drանկապատի կողքին փորեք մեկ ազդանշանի համար նախատեսված մեկ անցք: Կարելի է օգտագործել ցանկացած ցանկալի փորվածք տրամագիծ: Փոքր փոս պատրաստեք որպես հղկման հիմք ՝ ըստ USB միակցիչի, որը պետք է օգտագործեք (այս դեպքում միկրո USB): Դրանից հետո մանրեցրեք փոքր չափի ֆայլը ՝ միակցիչի չափսերին համապատասխանելու համար: 4. Համեմատաբար մեծ փոս հորատեք որպես հղկման հիմք: Կատարեք հղկում միջին չափի ֆայլով ՝ ըստ ցուցադրման չափսերի: Համոզվեք, որ ցուցադրման IC- ներ առկա են պարիսպի արտաքին կողմում: Սարքի ներքևի հատվածում փորեք միջին չափի անցք ՝ ըստ RGB LED տրամագծի: Մաս Բ - հավելվածներ.
1. pushոդեք երկու լար երեք կոճակներից յուրաքանչյուրին (GND և ազդանշան): Լարերի վրա առաջարկվում են պիտակների կպչուն պիտակներ և միակցիչ միակցիչներ: RGB LED կապում ամրացրեք չորս պատրաստված լար: Labelոդման հոդերի վրա տեղադրեք պիտակի կպչուն պիտակներ և փոքրացող խողովակներ: Սարքի ներքևում ամրացրեք չորս ռետինե ոտք: Մաս C - Մասերի միացում.
1. Տեղադրեք RGB LED- ը պարիսպի ներքևում, միացրեք այն հիմնական տախտակի հատուկ միակցիչին: Կցեք այն տաք սոսինձով: 2. Տեղադրեք երեք կոճակ անջատիչ, միացրեք դրանք հիմնական տախտակին նվիրված միակցիչին, ամրացրեք դրանք տաք սոսինձով: Տեղադրեք USB միակցիչ, միացրեք այն ծրագրավորման միակցիչի սնուցման աղբյուրներին (VCC և GND): Համոզվեք, որ էլեկտրահաղորդման գծերի բևեռականությունը համընկնում է եռակցված մասերի հետ: Կցեք այն տաք սոսինձով: 4. Տեղադրեք ցուցադրման տախտակը, միացրեք այն նվիրված միակցիչին: Կցեք այն տաք սոսինձով: Նշումներ.
1. Խորհուրդ է տրվում պտուտակ-ընկույզի զույգեր ավելացնել հիմնական տախտակի պարիսպին և վերին ծածկին (ինչպես ցույց է տրված այս դեպքում): 2. Կոտրված լարերի խափանումից խուսափելու համար դրանք հաշվի են առնում պարիսպի ներսում:
Քայլ 6: Համառոտ ծրագրավորման ներածություն
Բոլոր մասերը միացնելուց հետո խորհուրդ է տրվում սարքի նախնական փորձարկում կատարել նախքան հավաքման վերջին փուլին անցնելը: MCU ծածկագիրը գրված է C- ով, իսկ ATMEGA328P- ը ծրագրավորվում է ցանկացած ISP ծրագրավորողի միջոցով (Atmel ծրագրավորման սարքերի տարբեր տեսակներ կան. AVR MKII, AVR DRAGON և այլն. Programրագրավորման միջավայրը պետք է լինի Atmel Studio 4 և ավելի բարձր (խստորեն խորհուրդ եմ տալիս ծրագրային ապահովման նորագույն տարբերակները): Եթե օգտագործվում է արտաքին, ոչ Atmel Studio- ին բնորոշ ծրագրավորող, անհրաժեշտ է.hex ֆայլի ուղի տալ ծրագրավորման ծրագրին (սովորաբար գտնվում է ծրագրի Debug կամ Release թղթապանակում): Համոզվեք, որ նախքան հավաքման փուլին անցնելը, սարքը կարող է ծրագրավորվել, և ցանկացած հիմնական AVR նվիրված նախագծի կառուցման և կազմման գործընթացը հիմնված է ATMEGA328P միկրոկառավարիչի վրա (տես Atmel Studio ձեռնարկը):
Քայլ 7: Կոդի նկարագրություն
Decice կոդի ալգորիթմը շերտավորվում է երկու կիսափակ շերտերի ՝ 1. Հիմնական շերտ. Շփում ծայրամասային սխեմաների հետ, սարքի գործառնությունների սահմանում, նախաստորագրում և բաղադրիչի հայտարարագրեր: Ինտերֆեյսի շերտ. Օգտվող-սարք փոխազդեցություն, ընտրացանկի ֆունկցիոնալություն, ժամացույց/ազդանշան/գույնի/ահազանգի ճշգրտում: sequenceրագրի հաջորդականությունը նկարագրված է Նկարում: 1, որտեղ յուրաքանչյուր բլոկ համապատասխանում է MCU- ի վիճակին: Նկարագրված ծրագիրը գործում է որպես հիմնական «օպերացիոն համակարգ», որն ապահովում է ինտերֆեյս ապարատային և արտաքին աշխարհի միջև: Հետևյալ բացատրությունը նկարագրում է ծրագրի էական աշխատանքը ըստ մասերի. Մաս Ա. Հիմնական շերտ.
1. MCU I/O Initialization: Առաջին հերթին, անհրաժեշտ է սկզբնավորել ապարատային բաղադրիչները.
2. Հիմնական ընդհանուր գործառույթներ. Որոշ գործառույթներ օգտագործվում են առանձին կոդերի բլոկների միջոցով, սահմանում են ծրագրակազմի կողմից վերահսկվող կապում գործողությունները.- Միացնել/անջատել RTC- ի և ցուցադրման տախտակի հաղորդակցությունը: up/Clock down գործառույթները:- characterուցադրել կերպարի ստեղծման գործառույթներ: Ipայրամասային սկզբնավորում. I/O նավահանգիստների կազմաձևումից հետո տեղի է ունենում հաղորդակցություն սխեմաների գործառույթների միջև սահմանում: Ավարտելուց հետո - MCU- ն սկսում է RTC- ի և ցուցադրման սխեմաների սկզբնավորումը `օգտագործելով վերը սահմանված գործառույթները:
4. Հիմնական գործառույթների սահմանում. Այս փուլում սարքը պատրաստ է և պատրաստ է հաղորդակցություն իրականացնել որոշ ծայրամասային սխեմաների հետ: Այս գործառույթները սահմանում են.
5. Displayուցադրման գործառույթներ. Ես ինտերնետում շատ բան չեմ գտել իմ օգտագործած HSMS IC- ների մասին, ուստի դրա գրադարանը գրել եմ ինքս: Displayուցադրման գործառույթները ապահովում են բնույթի ցուցադրման ամբողջական գործառույթ, ներառյալ ASCII նիշերի և ցանկացած ամբողջ թվերի ցուցադրումը: Գործառույթները գրված են ընդհանրացված ձևով, այնպես որ, եթե անհրաժեշտ է կոդի ցանկացած հատվածից կանչել ցուցադրման գործառույթներ, դրանք հեշտ է օգտագործել, քանի որ դրանք ընդհանրացված են գործողությամբ (օրինակ ՝ լարային ցուցադրում, մեկ նիշ ցուցադրում և այլն):
6. RTC- ի շահագործման գործառույթները. RTC- ի բոլոր գործառույթները գրված են ընդհանրացված ձևով (նման է ցուցադրված գործառույթներին) `համաձայն DS1302 IC- ի գործողության: Կոդը հիմնված է գրավոր գրադարանի վրա, որը հասանելի է gitHub- ի բազմաթիվ տատանումներով: Ինչպես կտեսնեք վերջնական ծածկագրում, ցուցադրման և RTC գործառույթների հավաքածուն ներառված է առանձին.c և.h ֆայլերում: Մաս B - ինտերֆեյսի շերտ.
1. Հիմնական գործառույթ. Void main () բաժնում կա սկզբնավորման բոլոր հիմնական գործառույթների հայտարարագիր: Բոլոր բաղադրիչների սկզբնավորումից անմիջապես հետո MCU- ն մտնում է անսահման օղակ, որտեղ սարքի ֆունկցիոնալությունը վերահսկվում է օգտագործողի կողմից:
2. Իրական ժամանակի անջատիչներ, լուսային լուսավորություն և ցուցադրման հսկողություն. Անսահմանափակ հանգույցով աշխատելիս MCU- ն թարմացում է կատարում սարքի յուրաքանչյուր մասում: Այն ընտրում է, թե ինչ տվյալներ ցուցադրվեն, որ կոճակը սեղմված է և որ լուսավորման ռեժիմն է ընտրված:
3. Օգտվողի ընտրացանկի գործառույթները. Այս գործառույթներն ունեն ծառի տեսք (տես նկ. X), որտեղ ընտրացանկի համակարգը և հիերարխիան սահմանվում են որպես պետական մեքենա: Յուրաքանչյուր պետական մեքենա, որը վերահսկվում է օգտագործողի մուտքի միջոցով. Այն նախագծված է այնպես, որ ընտրացանկում կատարված սարքի ցանկացած փոփոխություն անմիջապես փոխվի:
4Օգտվողի ընտրացանկի փոխում. Երբ մուտքագրվում է օգտվողը, ընտրացանկի վիճակը պետք է փոխի իր վիճակը: Այսպիսով, այս գործառույթները ապահովում են օգտվողից կախված վերահսկողություն պետական մեքենայի նկատմամբ: Այս կոնկրետ դեպքում ՝ հաջորդ, նախորդ և OK:
Քայլ 8: Վերջնական ծածկագիր և օգտակար ֆայլեր
Եվ վերջ! Այս քայլում կարող եք գտնել ձեզ անհրաժեշտ բոլոր ֆայլերը.. Եթե ցանկանում եք ինքնուրույն կերպարներ կառուցել, Print_Character ('') գործառույթում ավելացրեք մեծատառերի վիճակ ASCII հղումով (տե՛ս display.c գործառույթները): Հուսով եմ, որ այս Instructable- ը օգտակար կգտնեք:) Շնորհակալություն կարդալու համար:
Խորհուրդ ենք տալիս:
Ockամացույց, LCD էկրան, ինֆրակարմիր ՝ սահմանելու համար ՝ 6 քայլ
Ockամացույց, LCD էկրան, ինֆրակարմիր կարգավորիչ Կոդն ու բաղադրիչները կարող են հեշտությամբ վերափոխվել այլ նախագծերի: Այս նախագիծը պահանջում է նվազագույն քանակությամբ էլեկտրագծեր և առանց զոդման: Theամանակապահը DS3231- ի իրական
Numismatic ockամացույց ՝ 9 քայլ (նկարներով)
Numismatic ockամացույց. REAL- ը բրազիլական արժույթ է 1994 թ. -ից և դրա 25 -ամյակը նշելու համար անցյալ տարի (2019 թ.) Casa da Moeda- ն (բրազիլական դրամահատարան) դիմերեսին (ոչ հանրապետության սովորական պատկերով) հուշադրամ 1 REAL մետաղադրամ պատրաստեց: ). Հումինը
Վահան Arduino- ի համար հին ռուսական VFD խողովակներից. Ockամացույց, ջերմաչափ, վոլտաչափ : 21 քայլ (նկարներով)
Վահան Arduino- ի համար հին ռուսական VFD խողովակներից. Clամացույց, ջերմաչափ, վոլտ մետր …. Չեմ կարող նկարագրել, թե որքան աշխատանք է կատարվել այս նախագծի համար: Այս նախագիծը միայնակ անելը ինձ հավիտյան կտևեր, այնպես որ ես որոշ օգնություն ունեի իմ ընկերներից: Այստեղ դուք կարող եք տեսնել մեր աշխատանքը ՝ կազմված մեկ շատ երկար հրահանգով
ESP8266 Networkանցային ժամացույց առանց որևէ RTC - Nodemcu NTP ockամացույց No RTC - ԻՆՏԵՐՆԵՏ CLԱՄԱՈՅԹԻ JՐԱԳԻՐ ՝ 4 քայլ
ESP8266 Networkանցային ժամացույց առանց որևէ RTC | Nodemcu NTP ockամացույց No RTC | TERՐԱԳԻՐԻ TERԱՄԱՆԱԿԻ PROՐԱԳԻՐ. Նախագծում կկատարվի ժամացույցի նախագիծ առանց RTC- ի, ինտերնետից ժամանակ կպահանջվի wifi- ի միջոցով և այն կցուցադրվի st7735 էկրանին
A 'Faberge' Styled Single Tube Nixie ockամացույց. 6 քայլ (նկարներով)
«Faberge» ոճով միայնակ խողովակ Nixie ժամացույց. Այս Nixie ժամացույցը Facebook- ի Nixie ժամացույցների երկրպագուների էջում միայնակ խողովակների ժամացույցների մասին խոսակցության արդյունք էր: Մեկ խողովակի ժամացույցները հայտնի չեն որոշ nixie սիրահարների մոտ, ովքեր նախընտրում են 4 կամ 6 նիշ ունեցող խողովակներով ժամացույցներ: ընթերցանության հեշտություն: Մեկ խողովակի ժամացույց