Orodha ya maudhui:

Mkutano na Upimaji wa MAX7219 LED Dot Matrix: Hatua 6 (na Picha)
Mkutano na Upimaji wa MAX7219 LED Dot Matrix: Hatua 6 (na Picha)

Video: Mkutano na Upimaji wa MAX7219 LED Dot Matrix: Hatua 6 (na Picha)

Video: Mkutano na Upimaji wa MAX7219 LED Dot Matrix: Hatua 6 (na Picha)
Video: Majambazi walipopambana na Polisi baada ya kuiba pesa NMB Bank 2024, Julai
Anonim
Image
Image
Angalia Kifurushi
Angalia Kifurushi

Onyesho la Dot-Matrix ni kifaa cha kuonyesha ambacho kina diode nyepesi zinazotoa hali ya tumbo. Maonyesho haya ya Matiti ya Dot hutumiwa katika programu ambazo Alama, Picha, Wahusika, Alfabeti, Nambari zinahitajika kuonyeshwa pamoja kwa tuli na vile vile Mwendo wa kutembeza. Onyesho la Matrix ya Dot hutengenezwa kwa vipimo anuwai kama 5x7, 8x8, 16x8, 128x16, 128x32 na 128x64 ambapo nambari zinawakilisha LED katika safu na safu, Pia maonyesho haya huja kwa rangi tofauti kama Nyekundu, Kijani, Njano, Bluu, Chungwa, Nyeupe.

Katika hii Inayoweza kufundishwa, nitapita kupitia kuingiliana na 8x8 Dot Matrix ambayo ina dereva MAX7219 kwa Arduino Uno. Wacha tuanze.

Vifaa

MAX7219

Hatua ya 1: Angalia Kifurushi

Kama unavyoona nina toleo la smt la bodi ya dereva, ni muhimu sana kuhakikisha kila kitu kinachohitajika kwani vifaa vya smd ni ndogo sana na unaweza kuzipoteza. Kuna pia toleo la kuzamisha linapatikana mkondoni lakini nilitumia toleo la smt kwa saizi yake.

Hatua ya 2: Kidogo juu ya hii Matrix maalum ya Nukta

Kidogo Juu ya hii Matrix maalum ya Dot
Kidogo Juu ya hii Matrix maalum ya Dot

moduli moja inaweza kuendesha cathode ya kawaida ya nukta 8x8.

Voltage ya kufanya kazi: 5 v

Vipimo: urefu wa 3.2 cm X 3.2 cm upana wa X 1.3 cm, mashimo na screws nne, kipenyo cha 3 mm

Moduli zilizo na mwingiliano wa pembejeo na pato, msaada wa kupitisha moduli nyingi.

Vituo vya data IN na OUT vimeainishwa kwenye moduli.

Hatua ya 3: Dereva MAX7219

Dereva MAX7219
Dereva MAX7219
Dereva MAX7219
Dereva MAX7219

MAX7219 ni IC iliyoundwa kudhibiti 8x8 LED MATRIX. IC ni uingizaji wa kawaida wa kawaida-cathode (Kawaida ya Hasi) madereva ya kiolesura ambayo interface ya microprocessors (au microcontroller) kwa sehemu-7 za maonyesho ya nambari za LED za nambari 8, maonyesho ya bar-graph, au LED za kibinafsi za 64.

Makala na Maelezo

Aina ya voltage ya uendeshaji: +4.0 hadi + 5.5V

Voltage ya uendeshaji iliyopendekezwa: + 5V

Upeo wa usambazaji wa voltage: 6V

Upeo wa sasa unaruhusiwa kuteka kupitia kila pini ya sehemu: 100mA

Upeo wa sasa unaruhusiwa kupitia kila pini ya ardhi ya DIGIT: 500mA

Matumizi ya nguvu ya chini

Ucheleweshaji wa Takwimu-kwa-Sehemu: 2.2mSec

Joto la kufanya kazi: 0 ° C hadi + 70 ° C

Joto la Uhifadhi: -65 ° C hadi + 150 ° C

Hatua ya 4: Mzunguko

Mzunguko
Mzunguko
Mzunguko
Mzunguko

Mzunguko ni rahisi sana na unaweza kujengwa kwa kutumia waya za kiume na za kike za kuruka. Fuata tu pinout na ujenge mzunguko. Baadaye unaweza kukusanyika kwenye PCB ikiwa unafanya programu ya kudumu ya Matrix.

Usanidi wa Pin ni kama ifuatavyo:

  • Vcc hadi 5V Pini ya Arduino.
  • Gnd kwa Gnd Pin ya Arduino.
  • DIN kwa Dijiti ya Dijiti 12 ya Arduino.
  • CS kwa Digital Pin 11 ya Arduino
  • CLK kwa Dijiti ya Dijiti 10 ya Arduino.

Hatua ya 5: Kanuni

Hapa katika hii ya kufundisha nitakupa nambari mbili tofauti. Mtu atazalisha alfabeti za Kiingereza na smilies kwenye Matrix. Nyingine itataka LED zote 64 ziangaze moja kwa moja. Lazima utumie maktaba ya lledcontrol kuifanya ifanye kazi.

Hii ndio nambari ya alfabeti ya Kiingereza na tabasamu

# pamoja na DIN = 12; int CS = 11; int CLK = 10; baiti e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; baiti d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; baiti u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; baiti c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; baiti nane [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; baiti s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; nukta ndogo [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; baiti o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); usanidi batili () {lc. kuzima (0, uwongo); // MAX72XX iko katika hali ya kuokoa nguvu wakati wa kuanza lc.setIntension (0, 15); // Weka mwangaza kwa thamani ya juu lc. clearDisplay (0); // na futa onyesho} kitanzi batili () {byte tabasamu [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; upande wowote [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; kaanga ka [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; chapaByte (tabasamu); kuchelewesha (1000); magazetiByte (upande wowote); kuchelewesha (1000); printByte (kukunja uso); kuchelewesha (1000); chapaEduc8s (); lc Onyesha wazi (0); kuchelewesha (1000); } batili printEduc8s () {printByte (e); kuchelewesha (1000); chapaByte (d); kuchelewesha (1000); chapaByte (u); kuchelewesha (1000); chapaByte (c); kuchelewesha (1000); printByte (nane); kuchelewesha (1000); chapaByte (s); kuchelewesha (1000); chapaByte (nukta); kuchelewesha (1000); chapaByte (c); kuchelewesha (1000); chapaByte (o); kuchelewesha (1000); chapaByte (m); kuchelewesha (1000); } batili ya kuchapishaByte (herufi ndogo ) {int i = 0; kwa (i = 0; i <8; i ++) {lc.setRow (0, i, tabia ); }}

na nambari ya kupima LED zote 64

// Daima tunapaswa kujumuisha maktaba # ni pamoja na "LedControl.h"

/*

Sasa tunahitaji LedControl kufanya kazi nayo. Nambari hizi za pini labda hazitafanya kazi na vifaa vyako. * / LedControl lc = LedControl (12, 11, 10, 1);

/ * tunasubiri kidogo kati ya sasisho za onyesho * /

kuchelewesha muda mrefu = 100;

usanidi batili () {

/ * MAX72XX iko katika hali ya kuokoa nguvu wakati wa kuanza, tunapaswa kupiga simu ya kuamsha * / lc.shutdown (0, uwongo); / * Weka mwangaza kwa maadili ya kati * / lc.setIntensity (0, 8); / * na futa onyesho * / lc. clearDisplay (0); }

/*

Njia hii itaonyesha wahusika wa neno "Arduino" mmoja baada ya mwingine kwenye tumbo. (unahitaji angalau mwongozo 5x7 kuona chars nzima) * / void writeArduinoOnMatrix () {/ * hapa kuna data ya herufi * / byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; baiti r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; baiti d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; baiti u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; baiti i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; byte n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; baiti o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * sasa waonyeshe moja kwa moja kwa ucheleweshaji mdogo * /

lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc. RetRow (0, 2, a [2]); lc. RetRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc. RetRow (0, 2, r [2]); lc. RetRow (0, 3, r [3]); lc. RetRow (0, 4, r [4]); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc. RowRow (0, 2, d [2]); lc. RetRow (0, 3, d [3]); lc. RetRow (0, 4, d [4]); kuchelewesha (muda wa kuchelewesha); 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]); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc. RetRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc. RetRow (0, 2, n [2]); lc. RetRow (0, 3, n [3]); lc. RetRow (0, 4, n [4]); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc. RetRow (0, 2, o [2]); lc. RetRow (0, 3, o [3]); lc. RetRow (0, 4, o [4]); kuchelewesha (muda wa kuchelewesha); 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); kuchelewesha (muda wa kuchelewesha); }

/*

Kazi hii inaangazia Leds kadhaa mfululizo. Mfumo huo utarudiwa kila safu. Mfano utaangaza pamoja na nambari ya safu. safu namba 4 (index == 3) itapepesa mara 4 n.k * / safu tupu () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, safu, B10100000); kuchelewesha (muda wa kuchelewesha); lc.setRow (0, safu, (byte) 0); kwa (int i = 0; i

/*

Kazi hii inaangazia Leds kadhaa kwenye safu. Mfumo huo utarudiwa kwenye kila safu. Mfano utaangaza pamoja na nambari ya safu. safu wima 4 (index == 3) itapepesa mara 4 n.k * / safu tupu () {for (int col = 0; col <8; col ++) {kuchelewesha (kuchelewesha); lc safu ya safu (0, kol, B10100000); kuchelewesha (muda wa kuchelewesha); lc safu ya safu (0, col, (byte) 0); kwa (int i = 0; i

/*

Kazi hii itaangazia kila Kilichoongozwa kwenye tumbo. Iliyoongozwa itaangaza pamoja na nambari ya safu. safu ya nambari 4 (index == 3) itapepesa mara 4 n.k. kuchelewesha (muda wa kuchelewesha); lc.setLed (0, safu, kol, kweli); kuchelewesha (muda wa kuchelewesha); kwa (int i = 0; i

kitanzi batili () {

andikaArduinoOnMatrix (); safu (); nguzo (); moja (); }

Hatua ya 6: Pato

Image
Image
Pato
Pato
Pato
Pato
Pato
Pato

Tazama video kamili hapa: -MAX7219 8x8 LED MATRIX ASSEMBLY NA KUJARIBU kwa kutumia ARDUINO

Kweli kazi hii ngumu, hakika inalipa vizuri sana unapoona matokeo. Ni thamani yake !!

Jisajili kwenye kituo changu cha youtube: -Vitu vya Ubunifu

Ilipendekeza: