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

MAX7219 LED Dot Matrix հավաքում և փորձարկում. 6 քայլ (նկարներով)
MAX7219 LED Dot Matrix հավաքում և փորձարկում. 6 քայլ (նկարներով)

Video: MAX7219 LED Dot Matrix հավաքում և փորձարկում. 6 քայլ (նկարներով)

Video: MAX7219 LED Dot Matrix հավաքում և փորձարկում. 6 քայլ (նկարներով)
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Հուլիսի
Anonim
Image
Image
Ստուգեք Փաթեթը
Ստուգեք Փաթեթը

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 վարորդ
MAX7219 վարորդ
MAX7219 վարորդ
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: Շղթան

The Circuit
The Circuit
The Circuit
The Circuit

Շղթան բավականին պարզ է և կարող է կառուցվել ՝ օգտագործելով արականից իգական ցատկող լարերը: Պարզապես հետևեք 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: Արդյունք

Image
Image
Ելքը
Ելքը
Ելքը
Ելքը
Ելքը
Ելքը

Ամբողջական տեսանյութը դիտեք այստեղ ՝ -MAX7219 8x8 LED MATRIX հավաքում և փորձարկում ARDUINO- ի միջոցով

Դե, այս ամբողջ քրտնաջան աշխատանքը, անշուշտ, բավականին լավ է հատուցում, երբ տեսնում ես արդյունքը: Արժե !!

Բաժանորդագրվեք իմ youtube ալիքին ՝-Creative Stuff

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