LED յոթ հատվածի ցուցիչներ: Յոթ հատվածի ցուցիչ Յոթ հատվածի LED ցուցիչներ ընդհանուր կաթոդով

LED-ը (կամ լուսարձակող դիոդը) օպտիկական դիոդ է, որը լույսի էներգիա է արձակում «ֆոտոնների» տեսքով, երբ այն դեպի առաջ կողմնակալ է: Էլեկտրոնիկայի մեջ մենք այս պրոցեսն անվանում ենք էլեկտրալյումինեսցենտություն: LED-ների արտանետվող տեսանելի լույսի գույնը տատանվում է կապույտից կարմիր և որոշվում է արտանետվող լույսի սպեկտրային սպեկտրով, որն իր հերթին կախված է տարբեր կեղտերից, որոնք ավելացվում են կիսահաղորդչային նյութերին դրանց արտադրության գործընթացում:

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

Բայց LED-ների հիմնական առավելությունն այն է, որ փոքր չափերի պատճառով դրանցից մի քանիսը կարող են կենտրոնանալ մեկ կոմպակտ բնակարանում՝ ձևավորելով այսպես կոչված յոթ հատվածի ցուցիչ:

Յոթ հատվածի ցուցիչը բաղկացած է յոթ LED-ից (այստեղից էլ նրա անունը), որոնք դասավորված են ուղղանկյունով, ինչպես ցույց է տրված նկարում: Յոթ LED-ներից յուրաքանչյուրը կոչվում է հատված, քանի որ, երբ լուսավորված է, հատվածը կազմում է թվանշանի մի մասը (տասնորդական կամ 12 նիշ): Երբեմն նույն փաթեթում օգտագործվում է 8-րդ լրացուցիչ LED: Այն ծառայում է տասնորդական կետը ցուցադրելու համար: (DP), այդպիսով թույլ տալով ցուցադրել, եթե երկու կամ ավելի 7 հատվածի ցուցիչները միացված են միասին՝ ներկայացնելու տասը հատից մեծ թվեր:

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

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

Ընդհանուր քորոցը սովորաբար օգտագործվում է 7 հատվածի ցուցադրման տեսակը որոշելու համար: Ցուցադրման յուրաքանչյուր LED ունի երկու միացնող տերմինալ, որոնցից մեկը կոչվում է «անոդ», իսկ մյուսը, համապատասխանաբար, կոչվում է «կաթոդ»: Հետևաբար, յոթ հատվածի LED ցուցիչը կարող է ունենալ երկու տեսակի շղթայի ձևավորում՝ ընդհանուր կաթոդով (OC) և ընդհանուր անոդով (OA):

Այս երկու տեսակի դիսփլեյների տարբերությունն այն է, որ OK դիզայնում բոլոր 7 հատվածների կաթոդները ուղղակիորեն կապված են միմյանց հետ, իսկ ընդհանուր անոդի (CA) դիզայնում բոլոր 7 հատվածների անոդները միացված են միմյանց։ Երկու սխեմաներն էլ աշխատում են հետևյալ կերպ.

  • Ընդհանուր կաթոդ (OC) - բոլոր LED հատվածների փոխկապակցված կաթոդներն ունեն «0» տրամաբանական մակարդակ կամ միացված են ընդհանուր մետաղալարին: Առանձին հատվածները լուսավորվում են՝ կիրառելով տրամաբանական բարձր կամ տրամաբանական 1 ազդանշան իրենց անոդային պինդին սահմանափակող ռեզիստորի միջոցով՝ առանձին լուսադիոդները առաջ մղելու համար:
  • Ընդհանուր անոդ (CA) - բոլոր LED հատվածների անոդները համակցված են և ունեն «1» տրամաբանական մակարդակ: Ցուցանիշի լույսի առանձին հատվածներ, երբ յուրաքանչյուր կոնկրետ կաթոդ միացված է գետնին, տրամաբանական «0» կամ ցածր պոտենցիալ ազդանշան համապատասխան սահմանափակող ռեզիստորի միջոցով:

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

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

Նման յոթ հատվածի ցուցիչները կոչվում են ստատիկ: Նրանց զգալի թերությունը փաթեթում մեծ քանակությամբ կապում է: Այս թերությունը վերացնելու համար օգտագործվում են յոթ հատվածի ցուցիչների դինամիկ կառավարման սխեմաներ:

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

Այս դասում մենք կծանոթանանք յոթ հատվածի LED ցուցիչները միկրոկառավարիչներին միացնելու դիագրամներին և ինչպես կառավարել ցուցիչները:

LED յոթ հատվածի ցուցիչները մնում են թվային տեղեկատվության ցուցադրման ամենատարածված տարրերից մեկը:

Դրան նպաստում են նրանց հետեւյալ հատկանիշները.

  • Ցածր գին. Ցուցադրման առումով LED թվային ցուցիչներից ավելի էժան բան չկա:
  • Չափերի բազմազանություն. Ամենափոքր և ամենամեծ ցուցիչները LED են: Ես գիտեմ LED ցուցիչներ, որոնց բարձրությունը 2,5 մմ-ից մինչև 32 սմ է:
  • Փայլեք մթության մեջ: Որոշ ծրագրերում այս հատկությունը գրեթե որոշիչ է:
  • Նրանք ունեն տարբեր փայլի գույներ: Կան նույնիսկ երկգույններ։
  • Բավականին ցածր հսկողության հոսանքներ: Ժամանակակից LED ցուցիչները կարող են միացված լինել միկրոկոնտրոլերների քորոցներին առանց լրացուցիչ բանալիների:
  • Հարմար է կոշտ աշխատանքային պայմանների համար (ջերմաստիճանի միջակայք, բարձր խոնավություն, թրթռում, ագրեսիվ միջավայր և այլն): Այս որակի համար LED ցուցիչները հավասար չեն ցուցադրման այլ տեսակների տարրերի մեջ:
  • Անսահմանափակ ծառայության ժամկետ:

LED ցուցիչների տեսակները.

Յոթ հատվածից բաղկացած LED ցուցիչը ցուցադրում է նիշ՝ օգտագործելով յոթ LED՝ թվանշանային հատվածներ: Ութերորդ LED-ը լուսավորում է տասնորդական կետը: Այսպիսով, յոթ հատվածի ցուցիչում կա 8 հատված:

Հատվածները նշանակվում են լատինատառ «A»-ից «H» տառերով:

Յուրաքանչյուր LED-ի անոդները կամ կաթոդները համակցված են ցուցիչում և կազմում են ընդհանուր մետաղալար: Հետեւաբար, կան ցուցիչներ ընդհանուր անոդով և ընդհանուր կաթոդով:

LED ցուցիչ ընդհանուր անոդով:

LED ցուցիչ ընդհանուր կաթոդով:

Ստատիկ LED հսկողություն:

LED ցուցիչները պետք է միացված լինեն միկրոկառավարիչին ընթացիկ սահմանափակող ռեզիստորների միջոցով:

Ռեզիստորների հաշվարկը նույնն է, ինչ առանձին LED-ների համար:

R = (U մատակարարում - U հատված) / I հատված

Այս միացման համար՝ I հատված = (5 – 1,5) / 1000 = 3,5 մԱ

Ժամանակակից LED ցուցիչները բավականին վառ են փայլում նույնիսկ 1 մԱ հոսանքի դեպքում: Ընդհանուր անոդ ունեցող շղթայի համար հատվածները կլուսավորվեն, որոնց հսկիչ քորոցներում միկրոկառավարիչը ցածր մակարդակ կառաջացնի:

Ընդհանուր կաթոդով ցուցիչի միացման դիագրամում փոխվում է էլեկտրամատակարարման և կառավարման ազդանշանների բևեռականությունը:

Կվառվի հատվածը, որի հսկիչ պտուտակի վրա կստեղծվի բարձր մակարդակ (5 Վ):

LED ցուցիչները կառավարելու մուլտիպլեքսացված ռեժիմ:

Յուրաքանչյուր յոթ հատվածի ցուցիչ միկրոկառավարիչին միացնելու համար պահանջվում է ութ կապում: Եթե ​​կա 3-4 ցուցիչ (նիշ), ապա առաջադրանքը գործնականում անհնար է դառնում: Պարզապես միկրոկոնտրոլերի համար բավականաչափ կապում չկա: Այս դեպքում ցուցիչները կարող են միանալ մուլտիպլեքսային ռեժիմով, դինամիկ ցուցման ռեժիմով:

Յուրաքանչյուր ցուցանիշի նույնանուն հատվածների բացահայտումները համակցված են: Սա հանգեցնում է լուսադիոդների մատրիցայի, որը միացված է հատվածի կապումների և ընդհանուր ցուցիչի կապումների միջև: Ահա ընդհանուր անոդով եռանիշ ցուցիչի մուլտիպլեքսային կառավարման միացում:

Երեք ցուցիչ միացնելու համար պահանջվեց 11 կապ, և ոչ թե 24, ինչպես ստատիկ կառավարման ռեժիմում:

Դինամիկ էկրանով ցանկացած պահի վառվում է միայն մեկ թվանշան: Բարձր մակարդակի ազդանշան (5 Վ) մատակարարվում է բիթերից մեկի ընդհանուր պինդին, և ցածր մակարդակի ազդանշաններ են ուղարկվում հատվածի պիններին այն հատվածների համար, որոնք պետք է լուսավորվեն այս բիթում: Որոշ ժամանակ անց հաջորդ արտանետումը վառվում է: Բարձր մակարդակը կիրառվում է նրա ընդհանուր փինին, և այս բիտի կարգավիճակի ազդանշաններն ուղարկվում են հատվածի կապին: Եվ այսպես շարունակ բոլոր թվանշանների համար անվերջ օղակում: Ցիկլի ժամանակը կոչվում է ցուցիչի վերականգնման ժամանակ: Եթե ​​վերականգնման ժամանակը բավականաչափ կարճ է, ապա մարդու աչքը չի նկատի արտանետումների անցումը: Թվում է, որ բոլոր արտանետումները անընդհատ փայլում են: Ցուցանիշների թարթումից խուսափելու համար ենթադրվում է, որ վերականգնման ցիկլի հաճախականությունը պետք է լինի առնվազն 70 Հց: Փորձում եմ օգտագործել առնվազն 100 Հց:

Ընդհանուր կաթոդով LED-ների դինամիկ ցուցիչի սխեման այսպիսի տեսք ունի.

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

Լուսադիոդային (LED) ցուցիչների դինամիկ ցուցադրման տարրերի հաշվարկ:

Հաշվարկը որոշ չափով ավելի բարդ է, քան ստատիկ ռեժիմի համար: Հաշվարկի ընթացքում անհրաժեշտ է որոշել.

  • հատվածների միջին հոսանքը;
  • հատվածների իմպուլսային հոսանքը;
  • հատվածի դիմադրության դիմադրություն;
  • արտանետումների ընդհանուր տերմինալների իմպուլսային հոսանքը:

Որովհետեւ Ցուցանիշի թվանշանները հերթով վառվում են, փայլի պայծառությունը որոշում է միջին հոսանքը: Մենք պետք է ընտրենք այն՝ ելնելով ցուցիչի պարամետրերից և պահանջվող պայծառությունից։ Միջին հոսանքը կորոշի ցուցիչի պայծառությունը նույն հաստատուն հոսանքով ստատիկ հսկողությանը համապատասխանող մակարդակում:

Եկեք ընտրենք միջին հատվածի հոսանքը 1 մԱ:

Հիմա եկեք հաշվարկենք հատվածի իմպուլսային հոսանքը: Պահանջվող միջին հոսանքն ապահովելու համար իմպուլսի հոսանքը պետք է լինի N անգամ ավելի մեծ: Որտեղ N-ը ցուցիչի թվանշանների թիվն է:

I հատված ապ. = Ես հատված միջին *Ն

Մեր սխեմայի I հատվածի համար: ապ. = 1 * 3 = 3 մԱ:

Մենք հաշվարկում ենք ռեզիստորների դիմադրությունը, որոնք սահմանափակում են հոսանքը:

R = (U մատակարարում - U հատված) / I հատված: ապ.

R = (5 – 1,5) / 0,003 = 1166 Օմ

Մենք որոշում ենք արտանետումների ընդհանուր տերմինալների իմպուլսային հոսանքները: 8 հատվածները կարող են միաժամանակ լուսավորվել, ինչը նշանակում է, որ դուք պետք է բազմապատկեք մեկ հատվածի իմպուլսային հոսանքը 8-ով:

I կատեգորիա imp. = Ես հատված ապ. * 8

Մեր շղթայի համար I կարգի imp. = 3 * 8 = 24 մԱ:

  • Մենք ընտրում ենք ռեզիստորի դիմադրությունը 1,1 կՕմ;
  • հատվածի հսկիչ միկրոկառավարիչի քորոցները պետք է ապահովեն առնվազն 3 մԱ հոսանք.
  • ցուցիչի նիշը ընտրելու համար միկրոկառավարիչի քորոցները պետք է ապահովեն առնվազն 24 մԱ հոսանք:

Նման ընթացիկ արժեքներով ցուցիչը կարող է ուղղակիորեն միացվել Arduino տախտակի քորոցներին՝ առանց լրացուցիչ ստեղների օգտագործման։ Պայծառ ցուցանիշների համար նման հոսանքները միանգամայն բավարար են։

Լրացուցիչ բանալիներով սխեմաներ.

Եթե ​​ցուցիչները պահանջում են ավելի շատ հոսանք, ապա անհրաժեշտ է օգտագործել լրացուցիչ ստեղներ, հատկապես թվանշանների ընտրության ազդանշանների համար: Լիցքաթափման ընդհանուր հոսանքը 8 անգամ գերազանցում է մեկ հատվածի հոսանքը:

Լիցքաթափման ընտրության համար տրանզիստորային անջատիչներով մուլտիպլեքսացված ռեժիմով ընդհանուր անոդով LED ցուցիչի միացման դիագրամ:

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

Միացման դիագրամ LED ցուցիչի համար ընդհանուր կաթոդով մուլտիպլեքսացված ռեժիմով տրանզիստորային անջատիչներով արտանետումները ընտրելու համար:

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

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

Բարձրացված մատակարարման լարման ցուցիչների բանալիներ.

Կան մեծ ցուցիչներ, որոնցում յուրաքանչյուր հատված բաղկացած է մի քանի LED-ներից, որոնք միացված են հաջորդաբար: Նման ցուցիչները սնուցելու համար անհրաժեշտ է 5 Վ-ից ավելի լարման աղբյուր: Անջատիչները պետք է ապահովեն բարձրացված լարման միացում, որը վերահսկվում է միկրոկոնտրոլերի մակարդակի ազդանշաններով (սովորաբար 5 Վ):

Ցուցանիշի ազդանշանները գետնին միացնող ստեղների միացումը մնում է անփոփոխ: Իսկ հոսանքի անջատիչները պետք է կառուցվեն այլ սխեմայով, օրինակ՝ այսպես.

Այս միացումում ակտիվ բիթն ընտրվում է հսկիչ ազդանշանի բարձր մակարդակով:

Ցուցանիշի թվանշանների փոխարկման միջև բոլոր հատվածները պետք է անջատվեն կարճ ժամանակով (1-5 մկվ): Այս անգամ անհրաժեշտ է բանալիների փոխարկման անցողիկ գործընթացները ավարտելու համար:

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

Հաջորդ դասում մենք կկապենք յոթ հատվածից բաղկացած LED ցուցիչ Arduino տախտակին և կգրենք գրադարան՝ այն կառավարելու համար:

Կատեգորիա: Դուք կարող եք էջանշել այն:

Կամ մեծ թվով ջերմաչափեր, դժվար է գտնել համապատասխան ցուցիչներ (օրինակ՝ ALS), և երբեմն ձեզ անհրաժեշտ է այնպիսի չափ, որը կոմերցիոն առումով հասանելի չէ: Դա անելու համար թվերի յուրաքանչյուր տարր (հատված) հաճախ հավաքվում է մի քանի սովորական կլոր LED-ներից: Մենք առաջարկում ենք այս լուծման ավելի առաջադեմ և հարմար տարբերակը՝ օգտագործելով 74HC595 միկրոսխեման: Ծրագրի արդյունքում հայտնվեցին գրեթե 10 սանտիմետր բարձրությամբ նշաններ, որոնք տեսանելի են երկար հեռավորությունների վրա: Անհրաժեշտության դեպքում մեծ թվով թվանշաններ կարելի է հաջորդաբար միացնել միմյանց մասնագիտացված միակցիչի միջոցով:

Սխեմատիկ դիագրամ

Այս միացումն իրենից ներկայացնում է միանիշ 7 սեգմենտային ցուցադրման կարգավորիչ, որն օգտագործում է 5 LED-ների մեծ հավաքածու յուրաքանչյուր հատվածում և հերթափոխային ռեգիստր՝ միկրոկոնտրոլերի մուտքագրման հեշտ կառավարման համար: Այս նախագծում օգտագործվող LED-ներից յուրաքանչյուրը 5 մմ տրամագծով է:

ULN2003 չիպն օգնում է ուժեղացնել LED-ներով հոսող հոսանքը: R1 - R8 ռեզիստորները ընթացիկ սահմանափակող են LED-ների համար, որոնք միացված են շղթայում շարքով:

Լավ օր! Իմ երկար ու պարտադրված ընդմիջումից հետո կշարունակենք յուրացնել Arduino Programming դասընթացը։ Մեր նախորդ դասերից մեկում մենք արդեն աշխատել ենք LED-ների հաջորդականությամբ, այժմ ժամանակն է անցնել վերապատրաստման հաջորդ փուլին: Այսօրվա հոդվածի թեման կլինի 7 հատվածի ցուցիչ:

7 հատվածի ցուցիչին ծանոթանալը բաղկացած կլինի երկու մասից. Առաջին մասում համառոտ կանցնենք տեսական բաղադրիչին, կաշխատենք սարքավորման հետ և կգրենք պարզ ծրագրեր։

Նախորդ անգամ աշխատել ենք 8 լուսադիոդների հաջորդականությամբ, այսօր դրանք կլինեն նաև 8-ը (7 LED ժապավեն և 1 կետ): Ի տարբերություն նախորդ հաջորդականության, այս հավաքածուի տարրերը շարված չեն (մեկը մյուսի հետևից), այլ դասավորված են որոշակի հերթականությամբ։ Դրա շնորհիվ, օգտագործելով միայն մեկ բաղադրիչ, կարող եք ցուցադրել 10 նիշ (0-ից 9):

Մեկ այլ էական տարբերություն, որը տարբերում է այս ցուցանիշը պարզ LED- ներից: Այն ունի ընդհանուր կաթոդ (ավելի ճիշտ՝ երկու համարժեք ոտքեր՝ 3 և 8, որոնց վրա միացված է կաթոդը)։ Բավական է միայն կաթոդներից մեկը միացնել հողին ( GND) Բոլոր ցուցիչ տարրերն ունեն անհատական ​​անոդներ:

Մի փոքր շեղում. Վերը նշված բոլորը վերաբերում են ընդհանուր կաթոդով 7 հատվածի ցուցիչներին: Այնուամենայնիվ, կան ընդհանուր անոդով ցուցանիշներ: Նման ցուցանիշների միացումը էական տարբերություններ ունի, ուստի խնդրում ենք մի շփոթեք «մեղավորը արդարի հետ»: Դուք պետք է հստակ հասկանաք, թե ինչ տեսակի յոթ հատվածի սարք ունեք ձեր ձեռքերում:

Բացի պարզ LED-ների և 7 հատվածի ցուցիչների տարբերություններից, կան նաև ընդհանուր առանձնահատկություններ: Օրինակ՝ ցուցիչները, ինչպես LED-ները, կարող են տեղադրվել անընդմեջ (հաջորդականությամբ)՝ երկնիշ, երեք, քառանիշ թվեր (նիշեր) ցուցադրելու համար: Այնուամենայնիվ, ես ձեզ խորհուրդ չեմ տալիս շատ անհանգստանալ սեգմենտների հավաքածուները ինքներդ հավաքելու համար: Վաճառվում են «կողքի» միանիշ ցուցիչներ, վաճառվում են նաև բազմանիշ ցուցիչներ։

Հուսով եմ, որ դուք չեք մոռացել LED- ների միացման ժամանակ ընթացիկ սահմանափակող դիմադրիչների օգտագործման անհրաժեշտության մասին: Նույնը վերաբերում է ցուցիչներին. ցուցիչի յուրաքանչյուր տարր պետք է միացված լինի իր ռեզիստորին: 8 տարր (7 + 1) – 8 ռեզիստոր։

Ես ձեռքի տակ ունեի 5161AS (ընդհանուր կաթոդ) մակնշմամբ յոթ հատվածից բաղկացած միավոր: Գծապատկեր.



Սխեմատիկ դիագրամ

Ինչպես արդեն ասացի, «A» հատվածը միացնելու համար մենք հողը միացնում ենք ցանկացած սովորական պինդին (3 կամ 8) և 5 Վ լարում ենք մատակարարում 7-րդ փին: Եթե ​​ցուցիչը ունի ընդհանուր անոդ, ապա մենք անոդին կիրառում ենք 5 Վ, իսկ հատվածի ելքին հող ենք դնում:

Եկեք հավաքենք փորձարկման տակդիր: Հաղորդալարերը միացնում ենք հերթականությամբ՝ սկսած առաջին ոտքից, որը գնում է դեպի Arduino տախտակի 2-րդ քորոցը։ Մենք հողը միացնում ենք ցուցիչի 8-րդ քորոցին:

Ստենդը հավաքելուց հետո կարող եք սկսել որոնվածը գրել:

Ցուցանիշը ստուգելու համար գործարկենք գրավոր ծրագիրը։ Եկեք ընտրենք «A» տարրը և թարթեք այն:


Հիմա եկեք թարթենք 2 թիվը։ Դա անելու համար միացնենք ևս մի քանի տարր։

Մեկ նիշ թողարկելու համար հարկավոր է գրել կոդի տողերի n թիվը: Դժվար է, չե՞ք կարծում:

Մեկ այլ ճանապարհ էլ կա. Ցուցանիշի վրա ցանկացած թիվ ցուցադրելու համար այն նախ պետք է ներկայացվի որպես բիթերի որոշակի հաջորդականություն:

Նամակագրության աղյուսակ.

Եթե ​​էկրանն ունի ընդհանուր անոդ, ապա 1-ը պետք է փոխարինվի 0-ով, իսկ 0-ը 1-ով:

Վեցանկյուն սյունակը թվի ներկայացում է բայթ ձևով (այս մասին ավելի մանրամասն կխոսենք երկրորդ մասում):

Երկուական թվային համակարգում թիվը գրվում է հետևյալ կերպ. 0b00000000. 0բ- երկուական համակարգ. Զրոները նշանակում են, որ բոլոր LED-ները անջատված են:

Միացնելիս մենք օգտագործել ենք 2-ից 9-րդ քորոցները: 2-րդ փին միացնելու համար դրա վրա գրեք մեկը = 0b00000001.Աջից չորրորդ բիթը պատասխանատու է կետի համար: Վերջին բիթը համապատասխանում է ցուցիչի մեջտեղի գծին:

Գրենք 0 համարը դուրս բերելու օրինակ։

Մուտքագրված տողերի քանակը նվազեցնելու համար մենք կօգտագործենք հանգույց, որը թույլ է տալիս «կրկնել» բոլոր 8 բիթերը: Փոփոխական Enable_segmentվերագրվում է ընթերցվող բիտի արժեքը: Դրանից հետո ընթացիկ ելքը դրվում է համապատասխան ռեժիմի ( ազդանշանի առկայությունը կամ բացակայությունը).

Նշում. bitRead() ֆունկցիան կարդում է նշված բիթերի վիճակը և վերադարձնում վիճակի արժեքը (0 կամ 1):bitRead (x, n)որտեղ x այն թիվն է, որի բիթերը պետք է կարդալ. n-ն այն բիթերի թիվն է, որի վիճակը պետք է կարդալ: Համարակալումը սկսվում է ամենաքիչ նշանակալից (ամենաաջ) բիթով, որը համարակալված է 0:

Իսկ առաջին մասի վերջում կգրենք փոքրիկ հաշվիչը։

Այսօրվա հոդվածում մենք կխոսենք 7 հատվածի ցուցիչների և Arduino-ի հետ «ընկերանալու» մասին: Կան մի քանի տարբերակներ. Ամենահեշտը, իհարկե, գնալն է և գնել պատրաստի ցուցիչ ինտեգրված վահանով (այսպես է կոչվում համապատասխան քարտը), բայց մենք հեշտ ուղիներ չենք փնտրում, ուստի մի փոքր ավելի բարդ ճանապարհով կգնանք: Սկսնակներ - մի անհանգստացեք, այս հոդվածը, ինչպես իմ նախորդ հոդվածները (Եվ ) Միայն քեզ համար. Թող գուրուները գրեն նույն փորձառու գուրուների համար, իսկ ես սկսնակ եմ - գրում եմ սկսնակների համար:

Ինչու՞ 7 հատվածի ցուցիչ: Ի վերջո, կան այնքան տարբեր էկրաններ՝ մեծ թվով նիշերով, գծերով, տարբեր անկյունագծերով ու լուծաչափերով, սև-սպիտակ ու գունավոր, որոնցից ամենամատչելն արժե մի երկու դոլար... Եվ ահա՝ «հին» մեկը, ահավոր պարզ է, բայց պահանջում է հսկայական քանակությամբ կապում 7-հատվածի ցուցիչ, բայց, այնուամենայնիվ, այս «ծեր մարդը» նույնպես առավելություն ունի: Փաստն այն է, որ օգտագործելով այստեղ տրված էսքիզները, դուք կարող եք վերակենդանացնել ոչ միայն 14 մմ նիշի բարձրությամբ ցուցիչ, այլև ավելի լուրջ (թեև ինքնաշեն) նախագծեր, և հաշվիչի թվերն այս դեպքում հեռու են սահմանից: Սա գուցե այնքան էլ հետաքրքիր չէ մայրաքաղաքների բնակիչների համար, բայց Նովոկացապետովկայի կամ Նիժնյա Կեդրովկայի բնակչությունը շատ ուրախ կլինի, եթե ակումբում կամ գյուղական խորհրդում հայտնվի ժամացույց, որը կարող է նաև ցույց տալ ամսաթիվը և ջերմաստիճանը, և նրանք կխոսեն ստեղծողի մասին: այս ժամացույցը շատ երկար ժամանակ է: Բայց նման ժամացույցները առանձին հոդվածի թեմա են՝ այցելուները կցանկանան - Գրեմ. Վերևում գրված ամեն ինչ կարելի է ներածություն համարել։ Ինչպես իմ վերջին հոդվածը, այնպես էլ այս հոդվածը բաղկացած կլինի մասերից, այս անգամ՝ երկու: Առաջին մասում մենք պարզապես «կկառավարենք» ցուցանիշը, իսկ երկրորդում կփորձենք հարմարեցնել այն գոնե մի փոքր օգտակար բանի համար։ Այսպիսով, եկեք շարունակենք.

Առաջին մաս. Փորձարարական - ուսումնական

Այս նախագծի հիմքը ARDUINO UNO-ն է, որն արդեն մեզ լավ հայտնի է նախորդ հոդվածներից: Հիշեցնեմ, որ այն գնելու ամենահեշտ ձևն այստեղ է՝կամ այստեղ՝ , բացի այդ, ձեզ անհրաժեշտ կլինի 4 նիշ, 7 հատվածանոց ցուցիչ։ Ես ունեմ, մասնավորապես, GNQ-5641BG-11: Ինչո՞ւ այս մեկը: Այո, պարզապես այն պատճառով, որ 5 տարի առաջ ես այն սխալմամբ գնեցի, ես շատ ծույլ էի գնալ այն փոխելու, ուստի այն ամբողջ ժամանակ պառկած էր և սպասում էր թեւերի մեջ: Կարծում եմ, որ յուրաքանչյուրը, ով ունի ընդհանուր անոդ, կանի (իսկ ընդհանուր կաթոդով դա հնարավոր է, բայց դուք ստիպված կլինեք շրջել զանգվածի տվյալները և պորտի այլ արժեքները, այսինքն՝ փոխել դրանք հակառակ արժեքների), քանի դեռ այն այնքան էլ հզոր չէ, որպեսզի չայրի Arduino-ն: Բացի այդ, 4 հոսանք սահմանափակող ռեզիստորներ, յուրաքանչյուրը մոտավորապես 100 Օմ, և մալուխի մի կտոր (ինձ համար բավական էր 10 սմ) 12 քորոցների (միջուկների) համար, կարելի է «պոկել» ավելի լայնից, ինչը ես արեցի: Կամ նույնիսկ կարող եք դրանք զոդել առանձին լարերով, խնդիրներ չեն լինի։ Տախտակի համար կպահանջվեն նաև քորոցներ (11 հատ), թեև զգույշ լինելու դեպքում կարող եք առանց դրանց: Ցուցանիշի ուրվագիծը կարելի է տեսնել Նկար 1-ում, իսկ դրա դիագրամը՝ Նկար 2-ում: Նաև նշեմ, որ ավելի լավ է այս ցուցիչի յուրաքանչյուր հատվածին մատակարարել ոչ ավելի, քան 2,1 Վ (սահմանափակված է 100 Օհմ ռեզիստորներով), և այս դեպքում այն ​​կսպառի 20 մԱ-ից ոչ ավելի: Եթե ​​«8» թիվը վառվի, ապա սպառումը չի գերազանցի 7x20=140 մԱ-ը, ինչը միանգամայն ընդունելի է Arduino-ի ելքերի համար։ Հետաքրքրասեր ընթերցողը հարց կտա. «Բայց յուրաքանչյուրը 140 մԱ-ի 4 արտանետումն արդեն 4x140 = 560 մԱ է, և սա արդեն չափազանց շատ է»: Ես կպատասխանեմ՝ կմնա 140, ինչպե՞ս։ Շարունակեք կարդալ: Ցուցանիշի վրա քորոցների գտնվելու վայրը երևում է Նկար 3-ում: Եվ կապը կատարում ենք ըստ Աղյուսակ 1-ի:


Բրինձ. 1 - Ցուցանիշի ուրվագիծ


Բրինձ. 2 - Ցուցանիշի միացում


Բրինձ. 3 - փին տեղադրություն

Աղյուսակ 1

Pin Arduino Uno

Ցուցանիշի քորոց

Նշում

Հատված Գ

Հատված Ֆ

Հատված Ե

Հատված Դ

Հատված Գ

Հատված Բ

Հատված Ա

Թիվ 1 հատվածի ընդհանուր անոդը, միացրեք 100 Օմ դիմադրության միջոցով:

Թիվ 2 հատվածի ընդհանուր անոդը, միացրեք 100 Օհմ դիմադրության միջոցով:

Թիվ 3 հատվածի ընդհանուր անոդը միացրեք 100 Օհմ դիմադրության միջոցով։

Թիվ 6 հատվածի ընդհանուր անոդը միացրեք 100 Օհմ դիմադրության միջոցով։



Մենք լրացնում ենք պարզ ուրվագիծ, որը 0-ից 9-ը պարզ «հաշվելու աղյուսակ» է.


Հիմա որոշ պարզաբանումների համար: DDRD-ը D պորտի ռեգիստր է (DDRB - համապատասխանաբար, նավահանգիստ B) «սարսափելի» «գրանցում» բառի հետևում կա պարզապես «թաքնված» ֆունկցիա, որը ցույց է տալիս, թե արդյոք նավահանգիստը ինչ-որ բան կկարդա իր փինով (տեղեկատվություն կստանա), թե հակառակը: ընդհակառակը, այնտեղ հնարավոր կլինի ինչ-որ բան անել, հետո գրել (տեղեկատվություն տալ): Այս դեպքում տողը DDRD=B11111111; ցույց է տալիս, որ D նավահանգստի բոլոր քորոցները ելքային են, այսինքն. դրանցից տեղեկատվություն դուրս կգա։ «B» տառը նշանակում է, որ գրանցամատյանում գրված է երկուական համար: Անհամբեր ընթերցողն անմիջապես կհարցնի. «Հնարավո՞ր է տասնորդական»: Ես շտապում եմ ձեզ հանգստացնել, որ դա հնարավոր է, բայց դրա մասին մի փոքր ուշ։ Եթե ​​ուզենայինք մուտքագրման համար օգտագործել պորտի կեսը, իսկ ելքի համար՝ կեսը, ապա այն կարող էինք նշել այսպես. DDRD=B11110000; մեկը ցույց է տալիս այն քորոցները, որոնք կտրամադրեն տեղեկատվություն, իսկ զրոները ցույց են տալիս նրանք, ովքեր կստանան այս տեղեկատվությունը: Ռեգիստրի հիմնական հարմարավետությունը կայանում է նաև նրանում, որ ձեզ հարկավոր չէ գրանցել բոլոր փիները 8 անգամ, այսինքն. մենք ծրագրում պահպանում ենք 7 տող: Հիմա եկեք նայենք հետևյալ տողին.

PORTB=B001000; // սահմանել B պորտի 11 փին բարձր

PORTB-ը B պորտի տվյալների ռեգիստրն է, այսինքն. Դրանում թիվ գրելով՝ նշում ենք, թե պորտի որ փինն է ունենալու մեկ, իսկ որը՝ զրո։ Բացի քոմենթից, ասեմ, որ եթե Arduino Uno-ն վերցնես այնպես, որ տեսնես վերահսկիչն ու թվային փիները վերևում են, ռեգիստրում մուտքը պարզ կլինի, այսինքն. որը «զրո» (կամ «մեկ») համապատասխանում է, թե որ փինին, այսինքն. B պորտի ամենաաջ զրոն պատասխանատու է 8-րդ փին, իսկ ձախը 13-րդի համար է (որն ունի ներկառուցված LED): D պորտի համար, համապատասխանաբար, աջը 0-ի համար է, ձախը՝ 7-ի համար:
Հուսով եմ նման մանրամասն բացատրություններից հետո ամեն ինչ պարզ է, բայց քանի որ պարզ է, առաջարկում եմ վերադառնալ մանկուց մեզ հայտնի և սիրելի տասնորդական թվային համակարգին։ Եվ ևս մեկ բան. 25 տողից բաղկացած էսքիզը կարող է փոքր թվալ, բայց սկսնակների համար այն դեռևս ինչ-որ չափով ծանր է: Մենք կնվազեցնենք այն:

Լրացնենք ավելի պարզ ուրվագիծ՝ նույն «հաշվարկի աղյուսակը».


Տեսանյութ 1.
Ընդամենը 11 տող: Սա մեր ճանապարհն է, «նորեկ ճանապարհը»: Խնդրում ենք նկատի ունենալ, որ գրանցամատյաններում երկուական թվերի փոխարեն գրվում են տասնորդական թվեր: Բնականաբար, տասնորդական թվերի համար առջևի տառեր պետք չեն: Կարծում եմ, որ բոլոր թվերը աղյուսակների մեջ դնելը չի ​​խանգարի:

Աղյուսակ 2. Ցուցադրվող նիշի համապատասխանությունը պորտի տվյալներին

Ընդհանուր անոդ

Ընդհանուր կաթոդ

Երկուական համակարգ

Տասնորդական համակարգ

Երկուական համակարգ

Տասնորդական համակարգ

Աղյուսակ 3. Ցուցադրված թվի համապատասխանությունը նավահանգստի տվյալներին

Ընդհանուր անոդ

Ընդհանուր կաթոդ

Երկուական համակարգ

Տասնորդական համակարգ

Երկուական համակարգ

Տասնորդական համակարգ



Ուշադրություն. Աղյուսակներ 2-ի և 3-ի տվյալները վավեր են միայն 1-ին աղյուսակի համաձայն հաղորդալարով:
Հիմա եկեք վերբեռնենք էսքիզ «հաշվման աղյուսակով» 0-ից մինչև 9999:




Բրինձ. 4 - Հաշվիչ սեղան

Էսքիզը գործողության մեջ կարող եք տեսնել այստեղՏեսանյութ 2.

Այս էսքիզում ավելի շատ մեկնաբանություններ կան, քան ինքնին կոդը: Հարցեր չպետք է լինեն... Բացի մի բանից, ի՞նչ «թարթման ցիկլ» է սա, ի՞նչն է իրականում թարթում այնտեղ և ինչո՞ւ։ Եվ դրա համար կա նաև մի տեսակ փոփոխական...
Եվ ամբողջ հարցն այն է, որ բոլոր չորս կատեգորիաների համանուն հատվածները միացված են մեկ կետում։ A1, A2, A3 և A4-ն ունեն ընդհանուր կաթոդ. A1, B1,…..G1 ընդհանուր անոդ: Այսպիսով, քառանիշ ցուցիչի վրա միաժամանակ կիրառելով «1234»՝ մենք կստանանք «8888» և շատ կզարմանանք դրա վրա։ Որպեսզի դա տեղի չունենա, դուք պետք է նախ վառեք «1»-ը ձեր կատեգորիայում, այնուհետև անջատեք այն, ձեր «2»-ը և այլն: Եթե ​​դա անեք շատ արագ, ապա թվերի թարթումը կմիաձուլվի, ինչպես ֆիլմի շրջանակները, և աչքը գործնականում չի նկատի դա: Իսկ թարթող փոփոխականի առավելագույն արժեքը այս դեպքում վերահսկում է ցուցիչի վրա թվերի փոփոխման արագությունը։ Ի դեպ, հենց այս «թարթման» շնորհիվ է, որ առավելագույն հոսանքի սպառումը 560-ի փոխարեն ընդամենը 140 մԱ է։ Հիմա առաջարկում եմ անցնել ավելի օգտակար բանի։

Մաս երկրորդ. Գոնե մի քիչ օգտակար

Այս մասում ARDUINO MEGA-ի միջոցով մենք անհատական ​​համակարգչից դուրս կբերենք նիշերը 7 հատվածի ցուցիչի վրա: Ինչու՞ հանկարծ առաջացավ «անցումում ձիերը փոխելու» գաղափարը: Երկու պատճառ կա. առաջինը, ես նախկինում իմ հոդվածներում երբեք չէի դիտարկել ARDUINO MEGA-ն. և երկրորդը, ARDUINO UNO-ում ես դեռ չեմ հասկացել, թե ինչպես կարող եմ դինամիկ կերպով փոխել COM պորտը և D պորտը: Բայց ես նորեկ եմ, ինձ կարող են ներել: Բնականաբար, այս կարգավորիչը կարող եք գնել այստեղ՝ . Պլանն իրականացնելու համար ես ստիպված էի վերցնել զոդման երկաթ և նորից զոդել մալուխը Arduino-ի կողմից, ինչպես նաև գրել նոր էսքիզ։ Դուք կարող եք տեսնել, թե ինչպես է մալուխը զոդում Նկար 5-ում: Բանն այն է, որ ARDUINO MEGA-ն և ARDUINO UNO-ն ունեն տարբեր նավահանգիստներ, իսկ Mega-ն ունի շատ ավելի շատ նավահանգիստներ: Օգտագործված քորոցների համապատասխանությունը կարելի է տեսնել Աղյուսակ 4-ից:



Բրինձ. 5 - Նոր մալուխային լարեր

Աղյուսակ 4

Պորտ Մեգա


Ուշադրություն. Այս աղյուսակը գործում է միայն այս նախագծի համար:

Պետք է նաև նկատի ունենալ, որ Arduino Mega-ի C նավահանգիստը «սկսվում է» 37-րդ փինից, այնուհետև նվազման կարգով, իսկ նավահանգիստը սկսվում է 22-րդ կետից և այնուհետև աճող կարգով:



Բրինձ. 6 - Ընդհանուր տեսք



Իրականացման փոքր առանձնահատկություններ. մենք կարտադրենք 4 նիշ: Նիշերը պետք է լինեն թվեր: Եթե ​​մուտքագրել եք «1234» և մենք կտեսնենք «1234», եթե մուտքագրել եք «123456», մենք դեռ կտեսնենք «1234», եթե մուտքագրել եք «ytsuk», «fyva1234», «otiog485909oapom», մենք ոչինչ չենք տեսնի: Եթե ​​մուտքագրեք «pp2345mm», մենք կտեսնենք «23», այսինքն. փոքր, ներկառուցված «անհեթեթություն»:

Էսքիզն ինքնին.



Դուք կարող եք տեսնել, թե ինչպես է այս ծրագիրը աշխատումՏեսանյութ 3.



Գրախոսություն պատրաստեց Պավել Սերգեևը