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

LED բազմակի ցուցադրման մոդուլ ՝ 6 քայլ (նկարներով)
LED բազմակի ցուցադրման մոդուլ ՝ 6 քայլ (նկարներով)

Video: LED բազմակի ցուցադրման մոդուլ ՝ 6 քայլ (նկարներով)

Video: LED բազմակի ցուցադրման մոդուլ ՝ 6 քայլ (նկարներով)
Video: Ինչպես օգտագործել TM1637 4 թվանշանով յոթ հատվածի ցուցադրումը Arduino- ի հետ 2024, Նոյեմբեր
Anonim
Image
Image
Բազմաթիվ LED ցուցադրման մոդուլ
Բազմաթիվ LED ցուցադրման մոդուլ
Բազմաթիվ LED ցուցադրման մոդուլ
Բազմաթիվ LED ցուցադրման մոդուլ

Բարև բոլորին, Ինձ դուր է գալիս աշխատել LED էկրաններով ՝ 7 հատվածով կամ կետային մատրիցով, և ես նրանց հետ արդեն կատարել եմ բազմաթիվ տարբեր նախագծեր:

Ամեն անգամ դրանք հետաքրքիր են, քանի որ կա մի տեսակ կախարդություն, թե ինչպես կարող են նրանք աշխատել, քանի որ այն, ինչ տեսնում եք, օպտիկական պատրանք է:

Էկրաններն ունեն բազմաթիվ կապում Arduino- ի (կամ մեկ այլ միկրոկոնտրոլերի) հետ կապի համար, և լավագույն լուծումը տվյալների բազմապատկման տեխնիկայի կիրառումն է `իրենց նավահանգիստների օգտագործումը նվազագույնի հասցնելու համար:

Երբ դա անեք, յուրաքանչյուր հատված կամ LED յուրաքանչյուր լուսարձակը միացված կլինի մի քանի ակնթարթով (միլիվայրկյան կամ ավելի քիչ), սակայն դրա կրկնությունը վայրկյանում այնքան անգամներ ստեղծում է այն պատկերի պատրանք, որը ցանկանում եք ցուցադրել:

Ինձ համար ամենահետաքրքիրն այն է, որ զարգացնեմ տրամաբանությունը, ծրագիրը `պարզելու համար, թե ինչպես կարող են նրանք ճիշտ տեղեկատվություն ցույց տալ ըստ ձեր նախագծի:

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

Ես գիտեմ, որ շուկայում կան բազմաթիվ տարբեր ցուցադրումներ, որոնք աշխատում են I2C- ով, պարզեցված եղանակներով (կամ ոչ), դրանք ծրագրավորելու համար, և ես դրանք նույնպես օգտագործել եմ, բայց նախընտրում եմ աշխատել ստանդարտ բաղադրիչների հետ, ինչպիսիք են 74HC595 (մուլտիպլեքսեր IC) և ULN2803 (վարորդներ), քանի որ դրանք ձեզ տալիս են ավելի շատ վերահսկողություն ձեր ծրագրում, ինչպես նաև ավելի ուժեղ և հուսալի ձեր օգտագործման մեջ:

Հավաքման գործընթացը պարզեցնելու համար ես մշակել եմ LED Dipslay մոդուլ բազմաթիվ նպատակների համար `օգտագործելով պարզ և սովորական բաղադրիչները Arduino- ի աշխարհում:

Այս մոդուլով դուք կարող եք աշխատել երկու ստանդարտ չափի երկակի գունավոր LED- ներ ունեցող կետային մատրիցով (ավելի մեծ և փոքր), ինչպես նաև կարող եք վերահսկել 7 Seg x 4 թվանշանի էկրան, որը շատ տարածված է և հեշտ է գտնել դրանք շուկայում:

Եվ դուք կարող եք աշխատել այս մոդուլների հետ կասկադով ՝ սերիական եղանակով (տարբեր տվյալներ ՝ էկրանների մեջ) կամ պարալելային եղանակով (նույն տվյալները ՝ ցուցադրումների մեջ):

Այսպիսով, եկեք տեսնենք, թե ինչպես կարող է աշխատել այս մոդուլը և օգնել ձեզ ձեր զարգացումներում:

Տեսանյութ (LED ցուցադրման մոդուլ)

Տեսանյութ (Dot Matrix Test)

Հարգանքներով, ԼԱԳՍԻԼՎԱ

Քայլ 1: Բաղադրիչներ

Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ

PCB (տպագիր տպատախտակ)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Տրանզիստոր PNP - BC327 (08 x)

- Դիմադրություն 150 Օմ (16 x)

- դիմադրություն 470 Օմ (08 x)

- կոնդենսատոր 100 nF (03 x)

- IC վարդակից 16 կապում (03 x)

- IC վարդակից 18 կապում (02 x)

- Pin միակցիչ իգական - 6 կապում (8 x)

- ամրացրեք վերնագրերը 90º (01 x)

- ամրացրեք վերնագրերը 180º (01 x)

- Conector Borne KRE 02 կապում (02 x)

- PCB (01 x) - Արտադրված է

Մյուսները

- Arduino Uno R3 / Nano / համանման

- LED էկրան 04 թվանշան x 7 հատվածներ - (ընդհանուր անոդ)

- LED Dot Matrix Երկակի գույն (կանաչ և կարմիր) - (ընդհանուր անոդ)

Կարևոր դիտողություններ

  1. Բոլոր ամենակարևոր բաղադրիչների տվյալների թերթիկը դնում եմ միայն որպես հղում, բայց դրանք օգտագործելուց առաջ դուք պետք է ստուգեք ձեր սեփական բաղադրիչների տվյալների թերթիկը:
  2. Այս տախտակը նախատեսված էր օգտագործել միայն ԱՌԱՆ ԱՆՈԴԻ ցուցադրումները:

Քայլ 2: Առաջին նախատիպերը

Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը
Առաջին նախատիպերը

Իմ առաջին նախատիպը պատրաստվեց հացահատիկի վրա `շղթան ստուգելու համար:

Դրանից հետո ես արեցի մեկ այլ նախատիպ ՝ օգտագործելով ունիվերսալ տախտակ, ինչպես տեսնում եք նկարներում:

Այս տախտակը հետաքրքիր է արագ նախատիպ պատրաստելու համար, բայց հասկանում եք, որ այն դեռ շատ լարեր է պահում:

Դա ֆունկցիոնալ լուծում է, բայց ոչ այնքան էլեգանտ `համեմատած վերջնական արտադրված PCB- ի (կապույտի) հետ:

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

Հավանաբար, իմ հաջորդ խաղատախտակի արդյունքները ավելի լավ կլինեն պրակտիկայի շնորհիվ:

Դրա շնորհիվ ես խրախուսում եմ ձեզ փորձել այսպիսի փորձը, քանի որ այն հիանալի կլինի ձեզ համար:

Պարզապես հիշեք տաք երկաթով խնամել և փորձեք մի քանի վայրկյանից ավել չծախսել բաղադրամասի վրա, որպեսզի այն չայրվի:

Եվ վերջապես, Youtube- ում կարող եք գտնել զոդման մասին բազմաթիվ տեսանյութեր, որոնք կարող եք սովորել իրական աշխարհ գնալուց առաջ:

Քայլ 3: PCB նախագծում

PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն

Ես նախագծեցի այս PCB- ն ՝ օգտագործելով հատուկ ծրագրակազմ ՝ երկշերտ տախտակ արտադրելու համար, և այն մշակվեց մի քանի տարբեր տարբերակով ՝ մինչև այս վերջինը:

Սկզբից ես ունեի մեկ տարբերակ յուրաքանչյուր տեսակի ցուցադրման համար և ի վերջո որոշեցի ամեն ինչ համատեղել միայն մեկ տարբերակի մեջ:

Դիզայնի նպատակներ

  • Պարզ և օգտակար նախատիպերի համար:
  • Հեշտ տեղադրում և ընդլայնում:
  • Կարող է օգտագործել 3 տարբեր տեսակի էկրաններ:
  • LED- ի մեծ կետային մատրիցի առավելագույն լայնությունը:
  • Տախտակի արտադրության ծախսերը նվազագույնի հասցնելու համար առավելագույն երկարությունը `100 մմ:
  • Կիրառեք ավանդական բաղադրիչներ SMD- ի փոխարեն `ձեռքով զոդման գործընթացում ավելի մեծ դժվարություններից խուսափելու համար:
  • Տախտակը պետք է մոդուլային լինի, որպեսզի այն միանա կասկադի մեկ այլ տախտակին:
  • Սերիական կամ պարալելային ելք այլ տախտակների համար:
  • Մի քանի տախտակներ պետք է վերահսկվեն միայն Arduino- ի կողմից:
  • Արդուինոյի միացման համար տվյալների ընդամենը 3 լար:
  • Արտաքին 5 Վ հոսանքի միացում:
  • Բարձրացրեք էլեկտրական ամրությունը `կիրառելով տրանզիստորներ և վարորդներ (ULN2803)` LEDS- ները վերահսկելու համար:

Նշում

Այս վերջին կետի հետ կապված, խորհուրդ եմ տալիս կարդալ այս բաղադրիչների վերաբերյալ իմ մեկ այլ հրահանգը.

Օգտագործելով Shift Register 74HC595 ULN2803- ով, UDN2981- ով և BC327- ով

PCB արտադրություն

Դիզայնն ավարտելուց հետո ես այն ուղարկեցի Չինաստանում գտնվող PCB արտադրողին `տարբեր տեղական մատակարարների և տարբեր երկրներում բազմաթիվ որոնումներից հետո:

Հիմնական հարցը կապված էր տախտակների քանակի և արժեքի հետ, քանի որ դրանցից մի քանիսն են ինձ պետք:

Ի վերջո, ես որոշեցի կանոնավոր պատվերներ կատարել (ոչ թե բարձրագույն ծախսերի պատճառով) ընդամենը 10 տախտակի ՝ Չինաստանում գտնվող ընկերության հետ:

Ընդամենը 3 օր անց տախտակները պատրաստվեցին և ուղարկվեցին ինձ ՝ աշխարհը հատելով ավելի քան 4 օրվա ընթացքում:

Արդյունքները հիանալի էին !!

Գնման պատվերից մեկ շաբաթ անց տախտակները իմ ձեռքում էին, և ես իսկապես տպավորված էի դրանց բարձր որակով և արագությամբ:

Քայլ 4: Programրագրավորում

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

Programրագրավորման համար դուք պետք է հիշեք որոշ կարևոր հասկացություններ ապարատային դիզայնի և 74HC595 հերթափոխի գրանցամատյանի մասին:

74HC595- ի հիմնական գործառույթն է 8-բիթանոց սերիալ-ները վերածել 8 զուգահեռ ելքի հերթափոխի:

Բոլոր սերիական տվյալները մտնում են Pin #14 և յուրաքանչյուր ժամացույցի ազդանշանի դեպքում բիթերը գնում են դրա համապատասխան զուգահեռ ելքային կապերին (Qa- ից Qh):

Եթե դուք շարունակեք ավելի շատ տվյալներ ուղարկել, բիթերը մեկ առ մեկ կտեղափոխվեն Pin #9 (Qh ') կրկին որպես սերիական ելք, և այս գործառույթի շնորհիվ կարող եք տեղադրել մեկ այլ չիպսեր, որոնք կապված են կասկադի հետ:

Կարևոր:

Այս նախագծում մենք ունենք 74HC595 երեք IC: Առաջին երկուսը աշխատում են սյուները վերահսկելու համար (ԴՐԱԿԱՆ տրամաբանությամբ) և վերջինը ՝ տողերը (բացասական տրամաբանությամբ, քանի որ գործում են PNP տրանզիստորները):

Դրական տրամաբանությունը նշանակում է, որ դուք պետք է ուղարկեք Բարձր մակարդակի ազդանշան (+5V) Arduino- ից, իսկ բացասական տրամաբանությունը նշանակում է, որ դուք պետք է ուղարկեք OWԱOWՐ մակարդակի ազդանշան (0V):

LED- ների կետային մատրիցա

  1. Առաջինը Կարմիր LED լուսադիոդների (8 x) >> Սյունակ ԿԱՐՄԻՐ (1 -ից 8) ելքերի համար է:
  2. Երկրորդը `կանաչ LED- ների կաթոդների ելքի համար (8 x) >> Սյունակ Կանաչ (1 -ից 8):
  3. Վերջինը բոլոր LED- ների (08 x Red & Green) անոդների ելքի համար է >> LINES (1 -ից 8):

Օրինակ, եթե ցանկանում եք միացնել սյունակ 1 -ի և 1 -ին տողի միայն կանաչ LED- ը, ապա պետք է ուղարկեք սերիական տվյալների հետևյալ հաջորդականությունը.

1º) Գ LԵՐ

~ 10000000 (միայն առաջին տողը միացված է) - symbol խորհրդանիշն է ՝ բոլոր բիթերը շրջել 1 -ից 0 -ի և հակառակը:

2º) Սյունակ Կանաչ

10000000 (Կանաչ LED- ի միայն առաջին սյունակը միացված է)

3º) Սյունակ ԿԱՐՄԻՐ

00000000 (Կարմիր LED- ների բոլոր սյուներն անջատված են)

Արդուինոյի հայտարարություններ

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Բացասական տրամաբանություն տողերի համար

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Կանաչ սյուների համար դրական տրամաբանություն

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Կարմիր սյուների համար դրական տրամաբանություն

Նշում

Կարող եք նաև համատեղել երկու LED- ները (Կանաչ և Կարմիր) ՝ դեղին գույնը ստանալու համար հետևյալ կերպ.

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 հատվածների ցուցադրում

Այս տեսակի ցուցադրումների դեպքում հաջորդականությունը նույնն է: Միակ տարբերությունն այն է, որ ձեզ հարկավոր չէ օգտագործել Կանաչ LED- ները:

1º) ԹՎՅԱԼ (1 -ից 4 -ը ձախից աջ) ~ 10000000 (սահմանել թվանշան #1)

00 01000000 (սահմանել թվանշան #2)

1 00100000 (սահմանել համարը #3)

1 00010000 (սահմանել համարը #4)

2º) ՉԻ ՕԳՏԱԳՈՐՎՈՄ

00000000 (բոլոր բիթերը զրոյական են)

3º) SEGMENTS (A- ից F և DP - ստուգեք ձեր ցուցադրման տվյալների թերթիկը)

10000000 (սահմանված հատված A)

01000000 (սահմանել հատված B)

00100000 (սահմանել հատված C)

00010000 (սահմանել հատված D)

00001000 (սահմանված հատված E)

00000100 (սահմանել F հատվածը)

00000010 (սահմանել հատված G)

00000001 (սահմանել DP)

Arduino- ի օրինակ ՝ ցուցադրել թիվ 2 -ը 3 -ով

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Սահմանել DISPLAY 2 (Բացասական տրամաբանություն)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Տվյալների զրոյականացում (չի օգտագործվում)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Սահմանել հատվածներ A, B, C, D, G)

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

Քայլ 5: Փորձարկում

Փորձարկում
Փորձարկում
Փորձարկում
Փորձարկում
Փորձարկում
Փորձարկում

Ահա երկու ծրագիր `որպես ցուցադրման մոդուլի ֆունկցիոնալության օրինակ:

1) Հետհաշվարկի ցուցադրում (999,9 վայրկյանից մինչև զրո)

2) Կետային մատրիցա (0 -ից 9 թվանշաններ և այբուբեն A- ից Z)

3) Թվային ժամացույցի RTC 4 թվանշանի և 7 հատվածի LED էկրանով

Այս վերջինը թվային ժամացույցի իմ առաջին տարբերակի թարմացումն է:

Քայլ 6: Եզրակացություն և հաջորդ քայլեր

Եզրակացություն և հաջորդ քայլերը
Եզրակացություն և հաջորդ քայլերը
Եզրակացություն և հաջորդ քայլերը
Եզրակացություն և հաջորդ քայլերը

Այս մոդուլը օգտակար կլինի բոլոր այն ապագա նախագծերում, որոնք պահանջում են LED էկրան:

Հաջորդ քայլերի համար ես ավելի շատ տախտակներ կհավաքեմ `դրանց հետ կասկադային ռեժիմով աշխատելու համար, և ես շատ գրադարան կմշակեմ` ծրագրավորումն էլ ավելի պարզեցնելու համար:

Հուսով եմ, որ ձեզ դուր եկավ այս նախագիծը:

Խնդրում եմ, ուղարկեք ինձ ձեր մեկնաբանությունները, քանի որ դա կարևոր է նախագիծը և այս Հրահանգի տեղեկատվությունը բարելավելու համար:

Հարգանքներով, ԼԱԳՍԻԼՎԱ

26. Մայիս 2016 թ

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