Orodha ya maudhui:
Video: Jinsi ya Kuingiliana na Matrix 8x8 inayoendeshwa na MAX7219 Na ATtiny85 Microcontroller: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Mdhibiti wa MAX7219 hutengenezwa na Maxim Jumuishi ni kompakt, pembejeo la serial / dereva wa kawaida-cathode dereva anayeweza kuidhibiti wadhibiti kwa LED za kibinafsi za 64, sehemu-7 za maonyesho ya nambari za LED za hadi tarakimu 8, maonyesho ya bar-graph, n.k. pamoja na -chip ni kificho cha BCD kificho-B, mizunguko ya skanisho nyingi, sehemu na madereva ya tarakimu na 8 × 8 tuli ya RAM ambayo huhifadhi kila tarakimu.
Moduli za MAX7219 ni rahisi sana kutumia na wadhibiti wadogo kama ATtiny85, au, kwa upande wetu Bodi ya Tinusaur.
Hatua ya 1: Vifaa
Moduli MAX7219 kawaida huonekana kama hii. Wana basi ya kuingiza upande mmoja na basi ya pato kwa upande mwingine. Hii hukuruhusu kuweka mnyororo wa moduli 2 au moduli zaidi, kwa mfano, moja baada ya nyingine, ili kuunda usanidi ngumu zaidi.
Moduli ambazo tunatumia zinauwezo wa kuunganisha kwenye mlolongo kwa kutumia viruka 5 vidogo. Tazama picha hapa chini.
Hatua ya 2: Pinout na Ishara
Moduli ya MAX7219 ina pini 5:
- VCC - nguvu (+)
- GND - ardhi (-)
- DIN - Uingizaji wa data
- CS - Chip chagua
- CLK - Saa
Hiyo inamaanisha kuwa tunahitaji pini 3 kwa upande wa ATtiny85 microcontroller kudhibiti moduli. Hizo zitakuwa:
- PB0 - imeunganishwa na CLK
- PB1 - imeunganishwa na CS
- PB2 - imeunganishwa na DIN
Hii ni ya kutosha kuungana na moduli ya MAX7219 na kuipanga.
Hatua ya 3: Itifaki
Kuwasiliana na MAX7219 ni rahisi sana - hutumia itifaki inayolingana ambayo inamaanisha kuwa kwa kila data kidogo tunayotuma kuna mzunguko wa saa ambao unaashiria uwepo wa data hiyo kidogo.
Kwa maneno mengine, tunatuma mfuatano 2 unaofanana kwa bits - moja kwa saa na nyingine kwa data. Hii ndio programu inafanya.
Hatua ya 4: Programu
Njia ambayo moduli hii ya MAX7219 inafanya kazi ni hii:
- Tunaandika ka kwa rejista yake ya ndani.
- MAX7219 hutafsiri data.
- MAX7219 inadhibiti LED kwenye tumbo.
Hiyo inamaanisha pia kwamba sio lazima tuzunguke kupitia safu ya LED kila wakati ili kuwasha - mtawala wa MAX7219 anajali hiyo. Inaweza pia kudhibiti ukubwa wa LEDs.
Kwa hivyo, kutumia moduli za MAX7219 kwa njia rahisi tunahitaji maktaba ya kazi kutimiza kusudi hilo.
Kwanza, tunahitaji kazi kadhaa za msingi ili kuandika kwa rejista za MAX7219.
- Kuandika baiti kwa MAX7219.
- Kuandika neno (2 ka) kwa MAX7219.
Kazi inayoandika baiti moja kwa mdhibiti inaonekana kama hii:
batili max7219_byte (data uint8_t) {kwa (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // Weka CLK hadi chini ikiwa (data & 0x80) // Ficha MSB ya data PORTB | = (1 << MAX7219_DIN); // Weka DIN kwa HIGH nyingine PORTB & = ~ (1 << MAX7219_DIN); // Weka DIN kwenye PORTB ya chini | = (1 << MAX7219_CLK); // Weka CLK kwa data ya juu << = 1; // Shift kushoto}}
Sasa kwa kuwa tunaweza kutuma kaiti kwa MAX7219 tunaweza kuanza kutuma amri. Hii imefanywa kwa kutuma vidole 2 - 1 kwa anwani ya rejista ya ndani na ya 2 kwa data ambayo tungependa kutuma.
Kuna zaidi ya dazeni ya rejista katika kidhibiti cha MAX7219.
Kutuma amri, au neno, kimsingi ni kutuma kaiti 2 mfululizo. Utekelezaji wa kazi hiyo ni rahisi sana.
batili max7219_word (anwani ya uint8_t, data uint8_t) {PORTB & = ~ (1 << MAX7219_CS); // Weka CS kwa LOW max7219_byte (anwani); // Kutuma anwani max7219_byte (data); // Kutuma data PORTB | = (1 << MAX7219_CS); // Weka CS kwa HIGH PORTB & = ~ (1 << MAX7219_CLK); // Weka CLK kuwa CHINI}
Ni muhimu kutambua hapa mstari ambapo tunaleta ishara ya CS kurudi HIGH - hii inaashiria mwisho wa mlolongo - katika kesi hii, mwisho wa amri. Mbinu kama hiyo hutumiwa wakati wa kudhibiti zaidi tumbo moja iliyounganishwa kwenye mnyororo. Hatua inayofuata, kabla ya kuanza kuwasha na kuzima LED, ni kuanzisha mtawala wa MAX7219. Hii imefanywa kwa kuandika maadili fulani kwa madaftari fulani. Kwa urahisi, wakati tunaiandika tunaweza kuweka mlolongo wa uanzishaji katika safu.
uint8_t initseq] 0x0c, 0x01, // Daftari la Kuzima, 0x01 = Operesheni ya Kawaida 0x0f, 0x00, // Rejista ya Jaribio la Kuonyesha, 0x00 = Operesheni ya Kawaida};
Tunahitaji tu kutuma amri 5 hapo juu kwa mlolongo kama jozi za anwani / data. Hatua inayofuata - kuwasha safu za LED.
Hii ni rahisi sana - tunaandika tu amri moja ambapo 1 byte ni anwani (kutoka 0 hadi 7) na baiti ya 2 ni bits 8 zinazowakilisha LED 8 mfululizo.
void max7219_row (anwani ya uint8_t, data uint8_t) {ikiwa (anwani> = 1 && anwani <= 8) max7219_word (anwani, data); }
Ni muhimu kutambua kwamba hii itafanya kazi kwa tumbo 1 tu. Ikiwa tutaunganisha matrices zaidi katika mnyororo wote wataonyesha data sawa. Sababu ya hii ni kwamba baada ya kutuma agizo tunaleta ishara ya CS tena kwa HIGH ambayo inasababisha vidhibiti vyote vya MAX7219 kwenye mnyororo kukwama na kuonyesha chochote amri ya mwisho ilikuwa.
Ilipendekeza:
Dot Matrix 32x8 Max7219 Kuingiliana na Ardiuno: Hatua 5 (na Picha)
Dot Matrix 32x8 Max7219 Kuingiliana na Ardiuno: Halo Wote, Dot Matrix msingi o Max7219 sio mpya mnamo 2020, hadi hivi karibuni, mchakato wa usanidi ulikuwa umeandikwa vizuri, mtu angepakua maktaba ya vifaa kutoka MajicDesigns. na akabadilisha mistari michache kwenye faili za kichwa na FC16 ilifanya kazi kama hirizi. Hii ilikuwa
Kuingiliana kwa Atmega16 Microcontroller na Dot Matrix Led Display: Hatua 5
Kuingiliana kwa Atmega16 Microcontroller na Dot Matrix Led Display: Katika mradi huu tutaunganisha onyesho moja la nukta moja la onyesho la LED na microcontroller ya AVR (Atmega16). Hapa tutaonyesha uigaji katika proteni, unaweza kutumia kitu kimoja katika vifaa vyako. Kwa hivyo hapa tutachapisha tabia moja kwanza tuseme 'A' katika t
Jinsi ya kutumia Matrix ya Doti ya Max7219 8x8 Pamoja na "skiiiD": Hatua 9
Jinsi ya Kutumia Max7219 8x8 Dot Matrix Na "skiiiD": Hii ni maagizo ya video ya Max7219 8x8 Dot Matrix kupitia " skiiiD " Kabla ya kuanza, chini ni mafunzo ya msingi ya jinsi ya kutumia skiiiDhttps: //www.instructables.com/id / Kuanza-W
Jinsi ya Kujenga 8x8 BIG LED Matrix (MAX7219 LED 10mm): Hatua 9 (na Picha)
Jinsi ya Kujenga Matrix 8x8 BIG LED (MAX7219 LED 10mm): Je! Umefanya kazi na tumbo tayari la 8x8 la LED kama maonyesho? Zinakuja kwa saizi anuwai na zinavutia kufanya kazi nazo. Ukubwa mkubwa unaopatikana kwa urahisi ni karibu 60mm x 60mm. Walakini, ikiwa unatafuta tumbo kubwa zaidi la LED tayari,
Dot Matrix Kuonyesha kwa LED Kuingiliana na Microcontroller 8051: Hatua 5
Dot Matrix Kuonyesha Uonyesho wa LED na Microcontroller 8051: Katika mradi huu tutaunganisha onyesho moja la nukta moja la onyesho la LED na microcontroller 8051. Hapa tutaonyesha uigaji katika proteni, unaweza kutumia kitu kimoja katika vifaa vyako. Kwa hivyo hapa tutachapisha tabia moja kwanza tuseme 'A' katika hii