Բովանդակություն:
- Պարագաներ
- Քայլ 1: Ստուգեք փաթեթը
- Քայլ 2. Մի փոքր այս հատուկ կետային մատրիցի մասին
- Քայլ 3: MAX7219 վարորդը
- Քայլ 4: Շղթան
- Քայլ 5: Կոդ
- Քայլ 6: Արդյունք
Video: MAX7219 LED Dot Matrix հավաքում և փորձարկում. 6 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Dot-Matrix Display- ը ցուցադրման սարք է, որը պարունակում է լուսադիոդներ, որոնք դասավորված են մատրիցի տեսքով: Այս Dot matrix ցուցադրումն օգտագործվում է այն ծրագրերում, որտեղ Symbol, Graphic, Characters, Alphabets, Numerals անհրաժեշտ է միասին ցուցադրել ինչպես ստատիկ, այնպես էլ Պտտվող շարժում: Կետային մատրիցը ցուցադրվում է տարբեր չափսերով, ինչպիսիք են ՝ 5x7, 8x8, 16x8, 128x16, 128x32 և 128x64, որտեղ թվերը LED- ներ են ներկայացնում շարքերում և սյունակներում: Բացի այդ, այս էկրանները գալիս են տարբեր գույներով, ինչպիսիք են ՝ կարմիր, կանաչ, դեղին, կապույտ, Նարնջագույն, Սպիտակ:
Այս Ուղեցույցում ես կանցնեմ 8x8 Dot Matrix- ի, որն ունի MAX7219 շարժիչ միացնել Arduino Uno- ին: Եկեք սկսենք:
Պարագաներ
MAX7219
Քայլ 1: Ստուգեք փաթեթը
Ինչպես տեսնում եք, ես ունեմ վարորդի տախտակի smt տարբերակ, շատ կարևոր է ստուգել անհրաժեշտ յուրաքանչյուր բաղադրիչ, քանի որ smd բաղադրիչները շատ փոքր են, և դրանք հեշտությամբ կարող եք կորցնել: Կան նաև առցանց հասանելի տարբերակներ, բայց ես օգտագործել եմ դրանք: smt տարբերակը իր չափի համար:
Քայլ 2. Մի փոքր այս հատուկ կետային մատրիցի մասին
մեկ մոդուլը կարող է վարել 8x8 կետային մատրիցով ընդհանուր կաթոդ:
Գործող լարումը `5 վ
Չափերը ՝ երկարություն 3,2 սմ X 3,2 սմ լայնություն 1,3 սմ բարձրություն, անցքեր չորս պտուտակներով, տրամագիծը ՝ 3 մմ
Մուտքային և ելքային միջերեսներով մոդուլներ, բազմաթիվ մոդուլների կասկադի աջակցություն:
Տվյալների IN և OUT տերմինալները նշված են մոդուլի վրա:
Քայլ 3: MAX7219 վարորդը
MAX7219- ը IC է, որը նախատեսված է 8x8 LED MATRIX- ը կառավարելու համար: IC- ն սովորական կաթոդ (ընդհանուր բացասական) ցուցադրման սերիական շարժիչ է, որը միակցում է միկրոպրոցեսորներին (կամ միկրոկառավարիչին) մինչև 8 նիշ ունեցող 7-հատվածանոց թվային LED էկրաններին, գծապատկերային էկրաններին կամ 64 առանձին LED- ներին:
Առանձնահատկություններ և տեխնիկական պայմաններ
Աշխատանքային լարման միջակայք `+4.0 -ից +5.5V
Առաջարկվող աշխատանքային լարումը ` +5V
Առավելագույն մատակարարման լարումը `6 Վ
Առավելագույն հոսանքը, որը թույլատրվում է քաշել յուրաքանչյուր հատվածի քորոցով `100 մԱ
Առավելագույն հոսանքը, որը թույլատրվում է յուրաքանչյուր DIGIT հողային քորոցով `500 մԱ
Powerածր էներգիայի սպառումը
Տվյալների հատվածից ուշացման ժամանակը ՝ 2.2 մվրկ
Գործող ջերմաստիճանը `0 ° C- ից +70 ° C
Պահպանման ջերմաստիճանը `-65 ° C- ից +150 ° C
Քայլ 4: Շղթան
Շղթան բավականին պարզ է և կարող է կառուցվել ՝ օգտագործելով արականից իգական ցատկող լարերը: Պարզապես հետևեք pinout- ին և կառուցեք միացումը: Հետագայում կարող եք այն հավաքել PCB- ի վրա, եթե մշտական դիմում եք կատարում Matrix- ի համար:
The Pin Configuration- ը հետևյալն է
- Vcc- ից մինչև ArVino- ի 5V Pin:
- Gnd to Gnd Pin- ը Arduino- ից:
- DIN- ը Arduino- ի թվային PIN 12 -ին:
- CS- ից Arduino- ի թվային PIN 11
- Սեղմեք Arduino- ի թվային Pin 10 -ին:
Քայլ 5: Կոդ
Այստեղ այս Ուղեցույցում ես ձեզ կտրամադրեմ երկու տարբեր ծածկագրեր: Մեկը կստեղծի որոշ անգլերեն այբուբեններ և սմայլիկներ Մատրիցայի վրա: Մյուսը կամքով բոլոր 64 LED- ները մեկ առ մեկ լուսավորվում են: Աշխատելու համար դուք պետք է օգտագործեք lledcontrol գրադարանը:
Սա անգլերեն այբուբենների և ժպիտների կոդն է
#ներառել int DIN = 12; int CS = 11; int CLK = 10; բայթ e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; բայթ դ [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; բայտ u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; բայթ c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; բայթ ութ [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; բայթ s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; բայթ կետ [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; բայթ o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; բայթ m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX- ը էներգախնայողության ռեժիմում է lc.setIntensity գործարկման ժամանակ (0, 15); // Պայծառությունը սահմանեք առավելագույն արժեքի համար lc.clearDisplay (0); // և մաքրել ցուցադրման} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; բայտ չեզոք [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; բայթ խոժոռված [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (ժպիտ); ուշացում (1000); printByte (չեզոք); ուշացում (1000); printByte (ծամածռված); ուշացում (1000); printEduc8s (); lc.clearDisplay (0); ուշացում (1000); } void printEduc8s () {printByte (e); ուշացում (1000); printByte (դ); ուշացում (1000); printByte (u); ուշացում (1000); printByte (գ); ուշացում (1000); printByte (ութ); ուշացում (1000); printByte (ներ); ուշացում (1000); printByte (կետ); ուշացում (1000); printByte (գ); ուշացում (1000); printByte (o); ուշացում (1000); printByte (մ); ուշացում (1000); } void printByte (բայթ նիշ ) {int i = 0; համար (i = 0; i <8; i ++) {lc.setRow (0, i, նիշ ); }}
և բոլոր 64 LED- ների փորձարկման ծածկագիրը
// Մենք միշտ պետք է ներառենք գրադարանը#include "LedControl.h"
/*
Այժմ մեզ պետք է LedControl, որի հետ աշխատելու համար: ***** Այս կապի համարները, ամենայն հավանականությամբ, չեն աշխատի ձեր սարքաշարի հետ ***** 12 -րդ կապը միացված է DataIn- ի կապին 10 -ը միացված է CLK կապին 11 -ը միացված է LOAD- ին: Մենք ունենք միայն մեկ MAX72XX: */ LedControl lc = LedControl (12, 11, 10, 1);
/ * մենք միշտ մի փոքր սպասում ենք ցուցադրման թարմացումների միջև */
անստորագիր երկար ձգձգում = 100;
void setup () {
/ * MAX72XX- ը գործարկման ժամանակ էներգախնայողության ռեժիմում է, մենք պետք է արթնացնող զանգ կատարենք */ lc. անջատում (0, կեղծ); / * Պայծառությունը սահմանեք միջին արժեքների վրա */ lc.setIntensity (0, 8); / * և մաքրել էկրանը */ lc.clearDisplay (0); }
/*
Այս մեթոդը մատրիցով մեկը մյուսի հետևից կցուցադրի «Arduino» բառի նիշերը: (ամբողջ նշանները տեսնելու համար ձեզ հարկավոր է առնվազն 5x7 լուսարձակներ) */ void writeArduinoOnMatrix () {/ *ահա տվյալները ՝ */ բայթ a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; բայթ r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; բայթ դ [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; բայտ u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; բայթ i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; բայթ n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; բայթ o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * այժմ ցուցադրեք դրանք մեկ առ մեկ փոքր ուշացումով */
lc.setRow (0, 0, ա [0]); lc.setRow (0, 1, ա [1]); lc.setRow (0, 2, ա [2]); lc.setRow (0, 3, ա [3]); lc.setRow (0, 4, ա [4]); ուշացում (ուշացում); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); ուշացում (ուշացում); lc.setRow (0, 0, դ [0]); lc.setRow (0, 1, դ [1]); lc.setRow (0, 2, դ [2]); lc.setRow (0, 3, դ [3]); lc.setRow (0, 4, դ [4]); ուշացում (ուշացում); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); ուշացում (ուշացում); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); ուշացում (ուշացում); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); ուշացում (ուշացում); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); ուշացում (ուշացում); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); ուշացում (ուշացում); }
/*
Այս գործառույթը լուսավորում է մի շարք Leds անընդմեջ: Նախշը կկրկնվի յուրաքանչյուր տողի վրա: Կաղապարը թարթելու է շարքի համարի հետ միասին: 4 -րդ տողը (ինդեքս == 3) կթարթվի 4 անգամ և այլն: lc.setRow (0, տող, B10100000); ուշացում (ուշացում); lc.setRow (0, տող, (բայթ) 0); համար (int i = 0; i
/*
Այս գործառույթը լուսավորում է սյունակի որոշ Leds: Կաղապարը կրկնվելու է յուրաքանչյուր սյունակում: Կաղապարը թարթելու է սյունակի համարի հետ միասին: սյունակ 4 (ինդեքս == 3) կթարթվի 4 անգամ և այլն: */ void սյուներ () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); ուշացում (ուշացում); lc.setColumn (0, col, (byte) 0); համար (int i = 0; i
/*
Այս գործառույթը լուսավորելու է մատրիցի յուրաքանչյուր Led- ը: LED- ը թարթելու է շարքի համարի հետ միասին: տող 4 (ինդեքս == 3) կթարթվի 4 անգամ և այլն: */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { ուշացում (ուշացում); lc.setLed (0, տող, սյուն, ճշմարիտ); ուշացում (ուշացում); համար (int i = 0; i
դատարկ շրջան () {
writeArduinoOnMatrix (); տողեր (); սյուներ (); միայնակ (); }
Քայլ 6: Արդյունք
Ամբողջական տեսանյութը դիտեք այստեղ ՝ -MAX7219 8x8 LED MATRIX հավաքում և փորձարկում ARDUINO- ի միջոցով
Դե, այս ամբողջ քրտնաջան աշխատանքը, անշուշտ, բավականին լավ է հատուցում, երբ տեսնում ես արդյունքը: Արժե !!
Բաժանորդագրվեք իմ youtube ալիքին ՝-Creative Stuff
Խորհուրդ ենք տալիս:
Fake 18650- ի կարողությունների փորձարկում. 7 քայլ (նկարներով)
Fake 18650- ի հզորության ստուգում. Այս հրահանգներում եկեք գտնենք Fake 10400mAh Power bank- ի հզորությունը: Նախկինում ես օգտագործել եմ այս հզորության բանկը `իմ սեփական հզորության բանկ պատրաստելու համար, քանի որ այն գնել եմ 2 դոլարով: բաժանորդագրվել իմ ալիքին: Եկեք գնանք
Dot Matrix 32x8 Max7219 Ինտերֆեյս Արդիունոյի հետ. 5 քայլ (նկարներով)
Dot Matrix 32x8 Max7219 Ինտերֆեյս Ardiuno- ի հետ: Ողջույն, Dot Matrix հիմնված o Max7219- ը 2020 -ին նորություն չեն, մինչև վերջերս կարգաբերման գործընթացը լավ փաստաթղթավորված էր, MajicDesigns- ից կարելի էր բեռնել ապարատային գրադարան: և վերնագրի ֆայլերում փոխեց մի քանի տող, և FC16- ը աշխատեց հմայքի պես: Սա մինչև
Testերմաստիճանի տվիչների փորձարկում. Ո՞րն է ինձ համար: 15 քայլ (նկարներով)
Testերմաստիճանի տվիչների փորձարկում. Ո՞րն է ինձ համար. Ամենահայտնի սենսորներից չորսը TMP36- ն են, որն ունի անալոգային ելք և կարիք ունի անալոգային թվային փոխարկիչի ՝ DS18B20, որը
Սթրեսի փորձարկում ազնվամորի պի. 6 քայլ (նկարներով)
Ազնվամորի Pi- ի փորձարկում. Երբ առաջին անգամ ազնվամորի Pi- ն ազատ արձակվեց, ես գայթակղվեցի մեկը գնելու համար, բայց ի վերջո ես ավելի շատ ժամանակ անցկացրեցի Arduino- ի հետ, քանի որ դրանք ավելի հարմար են էլեկտրոնիկայի նախագծերին: Ես ունեմ երկու օրիգինալ Raspberry Pi տնակում, և ես մտածեցի, որ դա
Brainwave Համակարգչային միջերեսի նախատիպ TGAM Starter Kit oldոդում և փորձարկում. 7 քայլ (նկարներով)
Brainwave Համակարգչային ինտերֆեյսի նախատիպ TGAM Starter Kit oldոդում և փորձարկում. Նյարդագիտության հետազոտությունների վերջին դարը մեծապես մեծացրել է մեր գիտելիքները ուղեղի և, մասնավորապես, ուղեղում արձակվող նեյրոնների կողմից արձակվող էլեկտրական ազդանշանների մասին: Այս էլեկտրական ազդանշանների օրինակներն ու հաճախականությունները կարող են չափվել