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

Arduino և TM1638 LED ցուցադրման մոդուլներ. 11 քայլ
Arduino և TM1638 LED ցուցադրման մոդուլներ. 11 քայլ

Video: Arduino և TM1638 LED ցուցադրման մոդուլներ. 11 քայլ

Video: Arduino և TM1638 LED ցուցադրման մոդուլներ. 11 քայլ
Video: Arduino Լեդ լույսերի և ձայնի համակցում 2024, Նոյեմբեր
Anonim
Arduino և TM1638 LED ցուցադրման մոդուլներ
Arduino և TM1638 LED ցուցադրման մոդուլներ

Եթե Ձեզ անհրաժեշտ է արագ և հեշտ միջոց ՝ նախագծին օգտագործողի մուտքն ու ելքը ավելացնելու համար, ցուցադրման այս մոդուլները հետաքրքիր և զվարճալի են:

Դրանք պարունակում են 7 հատվածից բաղկացած ութ կարմիր LED թվանշան, ութ կարմիր/կանաչ LED և օգտագործողի մուտքի ութ կոճակ: Միավորները կարող են նաև շղթայված լինել ՝ թույլ տալով միանգամից հինգ, և յուրաքանչյուր մոդուլի հետ ներառված է կարճ մալուխ, ինչպես նաև որոշ կարճ հեռավորություններ և պտուտակներ, ինչպես ցույց է տրված նկարում:

Քայլ 1:

Պատկեր
Պատկեր

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

Քայլ 2:

Պատկեր
Պատկեր

Տախտակը վերահսկվում է TM1638 IC- ով:

Սա LED- ի և ինտերֆեյսի վարորդի IC է «Titan Micro Electronics» - ից: Դուք նաև կարող եք գնել այս IC- ները PMD Way- ից: Լրացուցիչ մանրամասների համար կարող եք նաև ներբեռնել տվյալների թերթիկը:

Քայլ 3: Սկսում - Սարքաշար

Սկսելը - Սարքավորումներ
Սկսելը - Սարքավորումներ

Սարքաշար-Arduino- ի հետ համատեղելի տախտակին (կամ այլ MCU) միացումը բավականին պարզ է: Պինետները ցուցադրվում են PCB- ի հետևի մասում և համապատասխանում են ժապավենի մալուխի կցամասին: Եթե դուք նայեք մալուխի ծայրին, որպես այդպիսին:

Վերևի աջ անցքը կապում է մեկը, վերևում ձախը ՝ երկու, ներքևի աջը ՝ ինը և ներքևի ձախը ՝ տասը: Այսպիսով, քորոցներն են.

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. միացված չէ:

Arduino- ի օգտագործման համար 1 ~ 4 կապումներն ամենաքիչը անհրաժեշտ են մեկ մոդուլից օգտվելու համար: Յուրաքանչյուր լրացուցիչ մոդուլ կպահանջի մեկ այլ թվային կապ, որը միացված է STB2, STB3 և այլն: Այս մասին ավելի ուշ: Խնդրում ենք նկատի ունենալ, որ յուրաքանչյուր լուսադիոդի միացված ամբողջ լուսավորության վրա ծախսվում է 127 մԱ, ուստի խելամիտ կլինի օգտագործել արտաքին էներգիան մեկից ավելի մոդուլներով և այլ կապեր Arduino տախտակների հետ:

Քայլ 4: Սկսում - Softwareրագրակազմ

Softwareրագրային ապահովում - ներբեռնեք և տեղադրեք T1638 գրադարանը այստեղից: Շնորհակալություն և փառք rjbatista- ին gmail dot com գրադարանի համար: Էսքիզում մոդուլների մեկնարկը պարզ է: Գրադարանն ընդգրկեք ՝

#ներառում

ապա յուրաքանչյուր մոդուլի համար օգտագործեք հետևյալներից մեկը.

TM1638 մոդուլ (x, y, z);

x- ը Arduino- ի թվային կապն է, որը միացված է մոդուլային մալուխի 4 -րդ կապին, y- ն `Arduino- ի թվային կապն է, որը միացված է մոդուլի մալուխի 3 -րդ կապին, իսկ z- ն ՝ strobe- ի քորոցին: Այսպիսով, եթե դուք ունենայիք մեկ մոդուլ ՝ 8, 7 և 6 կապումներին միացված տվյալներով, ժամացույցով և ստրոբով, դուք կօգտագործեիք.

TM1638 մոդուլ (8, 7, 6);

Եթե դուք ունենայիք երկու մոդուլ, որոնցից մեկի ստրոբը միացված էր Arduino digital 6 -ին, և երկրորդ մոդուլի ստրոբը ՝ թվային 5 -ին, դուք կօգտագործեիք.

TM1638 մոդուլ (8, 7, 6); TM1638 մոդուլ (8, 7, 5);

և այլն ՝ ավելի շատ մոդուլների համար: Այժմ վերահսկել ցուցադրումը…

Քայլ 5. Երկ գույնի LED- ները

Երկու գույնի լուսադիոդներ
Երկու գույնի լուսադիոդներ

Կարմիր/կանաչ LED- ների վերահսկումը հեշտ է: Տեղեկության համար նրանք ձախից աջ համարակալված են զրոյից յոթ: Մեկ LED- ը միացնելու կամ անջատելու համար օգտագործեք հետևյալը.

module.setLED (TM1638_COLOR_RED, x); // LED համարը x սահմանել redmodule.setLED (TM1638_COLOR_GREEN, x); // LED համարը x սահմանել կանաչ module.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // սահմանել LED համարը x կարմիր և կանաչ

Վերոնշյալ մեթոդի օգտագործումը կարող է պարզ լինել, այն որոշ չափով անարդյունավետ է: Ավելի լավ միջոց է բոլոր LED- ների հասցեագրումը մեկ հայտարարության մեջ: Դա անելու համար մենք ցուցադրման ենք ուղարկում տասնհինգ թվով տվյալների բայթ: MSB- ն (ամենանշանակալից բայթը) բաղկացած է ութ բիթից, որոնցից յուրաքանչյուրը ներկայացնում է մեկ կանաչ LED (միացված կամ անջատված (0)): LSB- ն (նվազագույն նշանակալի բայթ) ներկայացնում է կարմիր LED- ները:

LED- ները վերահսկելու համար տասնվեցական արժեքը որոշելու հեշտ միջոցը պարզ է, պատկերն ունի LED- ների մեկ տող `առաջին ութը կանաչ, իսկ երկրորդ ութը` կարմիր: Յուրաքանչյուր թվանշան սահմանեք 1 -ի միացման և 0 -ի անջատման համար: Երկու երկու թվերը փոխակերպեք տասնվեցականի և օգտագործեք այս գործառույթը.

module.setLEDs (0xgreenred);

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

00000111 11100000 որը տասնվեցական է E007:

Այսպիսով, մենք կօգտագործենք.

module.setLEDs (0xE007);

որն արտադրում է պատկերը, ինչպես ցույց է տրված վերևում:

Քայլ 6: 7 հատվածի ցուցադրում

Թվային էկրանը (բայց ոչ ներքևի LED- երը) մաքրելու համար պարզապես օգտագործեք.

module.clearDisplay ();

կամ միացնել յուրաքանչյուր հատվածը ԵՎ բոլոր LED- ները, օգտագործեք հետևյալը

module.setupDisplay (ճշմարիտ, 7); // որտեղ 7 -ը ինտենսիվություն է (0 ~ 7 -ից)

Տասնորդական թվեր ցուցադրելու համար օգտագործեք գործառույթը.

module.setDisplayToDecNumber (a, b, false);

որտեղ a- ն ամբողջ թիվն է, b- ն տասնորդական կետի (0 -ի համար, 1 -ը ՝ 8 -ի, 2 -ի, 7 -ի համար, 4 -ի 6 -ի, 8 -ի 4 -ի և այլն) դիրքն է, և վերջին պարամետրը (ճշմարիտ/ կեղծ) միացնում կամ անջատում է առաջատար զրոները: Հետևյալ ուրվագիծը ցույց է տալիս այս գործառույթի օգտագործումը.

#include // սահմանել տվյալների մոդուլ 8 -ի, ժամացույցի կապի 9 -ի և strobe pin 7 TM1638 մոդուլի (8, 9, 7) մոդուլ; անստորագիր երկար a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); ուշացում (1); } (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); ուշացում (1); }}

… Տեսանյութում ցուցադրված արդյունքներով:

Քայլ 7:

Image
Image

Ամենահետաքրքիր հատկություններից մեկը տեքստը մեկ կամ մի քանի էկրանով ոլորելու ունակությունն է: Դա անելու համար իրականում բացատրության կարիք չկա, քանի որ ներառված ցուցադրական ուրվագիծը.

tm_1638_scrolling_modules_example.pde

TM1638 գրադարանում ներառված հեշտությամբ կարելի է հետևել: Պարզապես տեղադրեք ձեր տեքստը const char տողում , համոզվեք, որ մոդուլը (ներ) ը միացված են էսքիզի սկզբում մոդուլի սահմանման համաձայն, և դուք կարգավորված եք: Հասանելի նիշերը տեսնելու համար այցելեք գործառույթի էջը: Նկատի ունեցեք, որ էկրանն ընդամենը յոթ հատված է, այնպես որ որոշ կերպարներ կարող են կատարյալ տեսք չունենալ, բայց համատեքստում ձեզ լավ գաղափար կտա. Տեսեք տեսանյութը այս քայլում:

Քայլ 8:

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

բայթ արժեքներ = {1, 2, 4, 8, 16, 32, 64, 128};

յուրաքանչյուր տարր ներկայացնում է 1 ~ 8 թվանշանները: Յուրաքանչյուր տարրի արժեքը որոշում է, թե թվանշանի որ հատվածն է միանում: A ~ f, dp հատվածների համար արժեքները 1, 2, 4, 6, 16, 32, 64, 128 են: Այսպիսով, վերևի զանգվածի օգտագործման արդյունքները հետևյալ ֆունկցիայում.

module.setDisplay (արժեքներ);

կլինի ըստ պատկերի:

Քայլ 9:

Պատկեր
Պատկեր

Բնականաբար, յուրաքանչյուր թվանշանի համար կարող եք միավորել արժեքներ ՝ ձեր սեփական նիշերը, խորհրդանիշները և այլն: Օրինակ ՝ օգտագործելով հետևյալ արժեքները.

բայթ արժեքներ = {99, 99, 99, 99, 99, 99, 99, 99, 99};

մենք ստեղծել ենք ըստ այս քայլի պատկերի:

Քայլ 10: Կոճակներ

Կոճակների արժեքները ֆունկցիայից վերադարձվում են որպես բայթ:

module.getButtons ();

Քանի որ կան ութ կոճակներ, յուրաքանչյուրը ներկայացնում է երկուական համարի մեկ բիթ, որը վերադարձվում է որպես բայթ: Ձախ կողմում գտնվող կոճակը վերադարձնում է տասնորդական թիվը, իսկ աջը ՝ 128 -ը: Այն կարող է նաև վերադարձնել միաժամանակյա սեղմումներ, այնպես որ մեկ և ութ կոճակները սեղմելը վերադարձնում է 129 -ը: Մտածեք հետևյալ ուրվագծի վրա, որը վերադարձնում է կոճակների սեղմումների արժեքները տասնորդական տեսքով, այնուհետև ցուցադրվում է արժեք:

#include // տվյալների մոդուլ 8 -ի, ժամացույցի կապի 9 -ի և strobe pin 7 TM1638 մոդուլի (8, 9, 7) մոդուլի սահմանում; բայթ կոճակներ; void setup () {} void loop () {buttons = module.getButtons (); module.setDisplayToDecNumber (կոճակներ, 0, կեղծ); }

և արդյունքները ՝ տեսանյութում:

Այս ցուցատախտակները օգտակար են և, հուսով եմ, տուն կգտնեն ձեր նախագծերում: Այս գրառումը ձեզ է բերել pmdway.com- ը ՝ առաջարկելով ամեն ինչ արտադրողների և էլեկտրոնիկայի սիրահարների համար ՝ անվճար առաքում ամբողջ աշխարհով:

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