Turinys:

MAX7219 LED taškų matricos surinkimas ir bandymas: 6 žingsniai (su paveikslėliais)
MAX7219 LED taškų matricos surinkimas ir bandymas: 6 žingsniai (su paveikslėliais)

Video: MAX7219 LED taškų matricos surinkimas ir bandymas: 6 žingsniai (su paveikslėliais)

Video: MAX7219 LED taškų matricos surinkimas ir bandymas: 6 žingsniai (su paveikslėliais)
Video: M#3 MAX7219 7 Segmentiniai ir taškų matricos ekranai | Outseal Dev. PLC Mega 2024, Lapkritis
Anonim
Image
Image
Patikrinkite pakuotę
Patikrinkite pakuotę

Taškų matricos ekranas yra rodymo įrenginys, kuriame yra matricos pavidalu išlyginti šviesos diodai. Šie taškų matricos ekranai naudojami programose, kuriose simboliai, grafiniai, simboliai, abėcėlės, skaitmenys turi būti rodomi kartu statiškai ir Slinkimo judesys. Taškinio matricos ekranas gaminamas įvairių matmenų, tokių kaip 5x7, 8x8, 16x8, 128x16, 128x32 ir 128x64, kur skaičiai žymi šviesos diodus eilutėse ir stulpeliuose, taip pat šie ekranai yra skirtingų spalvų, tokių kaip raudona, žalia, geltona, mėlyna, Oranžinė, balta.

Šioje „Instructable“programoje aš sujungsiu 8x8 taškų matricą, kurioje yra MAX7219 tvarkyklė, prie „Arduino Uno“. Pradėkime.

Prekės

MAX7219

1 žingsnis: patikrinkite pakuotę

Kaip matote, turiu tvarkyklės plokštės „smt“versiją, labai svarbu patikrinti kiekvieną reikalingą komponentą, nes smd komponentai yra labai maži ir galite juos lengvai prarasti. Taip pat galima rasti internetinės versijos, bet aš naudojau smt versija dėl savo dydžio.

2 žingsnis: šiek tiek apie šią ypatingą taškų matricą

Šiek tiek apie šią ypatingą taškų matricą
Šiek tiek apie šią ypatingą taškų matricą

vienas modulis gali valdyti 8x8 taškų matricos bendrą katodą.

Darbinė įtampa: 5 v

Matmenys: ilgis 3,2 cm x 3,2 cm plotis X 1,3 cm aukščio, skylės keturiais varžtais, skersmuo 3 mm

Moduliai su įvesties ir išvesties sąsajomis, kelių modulių pakopų palaikymas.

Duomenų įvesties ir išvesties terminalai nurodyti modulyje.

3 žingsnis: MAX7219 tvarkyklė

MAX7219 vairuotojas
MAX7219 vairuotojas
MAX7219 vairuotojas
MAX7219 vairuotojas

MAX7219 yra IC, skirtas valdyti 8x8 LED MATRIX. IC yra nuosekliosios įvesties bendrojo katodo (bendro neigiamo) ekrano tvarkyklės, jungiančios mikroprocesorius (arba mikrovaldiklius) su 7 segmentų skaitmeniniais LED ekranais iki 8 skaitmenų, juostiniais grafikais arba 64 atskirais šviesos diodais.

Savybės ir specifikacijos

Darbinės įtampos diapazonas: nuo +4,0 iki +5,5V

Rekomenduojama darbinė įtampa: +5V

Maksimali maitinimo įtampa: 6V

Didžiausia leidžiama srovė per kiekvieną segmento kaištį: 100 mA

Didžiausia leidžiama srovė per kiekvieną DIGIT įžeminimo kaištį: 500 mA

Mažos energijos sąnaudos

Duomenų segmento atidėjimo laikas: 2,2 mSek

Darbinė temperatūra: nuo 0 ° C iki +70 ° C

Laikymo temperatūra: nuo -65 ° C iki +150 ° C

4 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit

Grandinė yra gana paprasta ir gali būti sukurta naudojant trumpiklius nuo patelių iki moterų. Tiesiog sekite pinout ir sukurkite grandinę. Vėliau galite ją surinkti ant PCB, jei kuriate nuolatinę „Matrix“programą.

Smeigtukų konfigūracija yra tokia:

  • Vcc į 5V „Arduino“kaištį.
  • Gnd į Gnd Pin iš Arduino.
  • DIN į „Arduino“skaitmeninį kaištį 12.
  • CS į „Arduino“skaitmeninį kaištį 11
  • CLK iki „Arduino“skaitmeninio kaiščio 10.

5 žingsnis: Kodas

Čia, šioje instrukcijoje, pateiksiu jums du skirtingus kodus. „Matrix“sukurs keletą angliškų abėcėlių ir šypsenėlių. Kitas - vienas po kito užsidegs visi 64 šviesos diodai. Kad ji veiktų, turite naudoti „lledcontrol“biblioteką.

Tai angliškų abėcėlių ir šypsenų kodas

#include int DIN = 12; int CS = 11; int CLK = 10; baitas e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; baitas d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; baitas u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; baitas c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; aštuoni baitai [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; baitas s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; baitų taškas [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; baitas o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; baitas m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX veikia energijos taupymo režimu paleidžiant lc.setIntensity (0, 15); // Nustatykite maksimalią ryškumą lc.clearDisplay (0); // ir išvalykite ekraną} void loop () {baitas šypsena [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; baitų neutralus [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; baitas surauktas [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (šypsena); vėlavimas (1000); printByte (neutralus); vėlavimas (1000); printByte (susiraukęs); vėlavimas (1000); printEduc8s (); lc.clearDisplay (0); vėlavimas (1000); } void printEduc8s () {printByte (e); vėlavimas (1000); printByte (d); vėlavimas (1000); printByte (u); vėlavimas (1000); printByte (c); vėlavimas (1000); printByte (aštuoni); vėlavimas (1000); printByte (s); vėlavimas (1000); printByte (taškas); vėlavimas (1000); printByte (c); vėlavimas (1000); printByte (o); vėlavimas (1000); printByte (m); vėlavimas (1000); } void printByte (baitų simbolis ) {int i = 0; (i = 0; i <8; i ++) {lc.setRow (0, i, simbolis ); }}

ir visų 64 šviesos diodų bandymo kodas

// Mes visada turime įtraukti biblioteką#include "LedControl.h"

/*

Dabar mums reikia „LedControl“, kad galėtume dirbti. ***** Šie PIN kodai tikriausiai neveiks su jūsų aparatine įranga ***** 12 kaištis yra prijungtas prie „DataIn“kaištis 10 yra prijungtas prie CLK kaiščio 11 yra prijungtas prie LOAD Turime tik vieną MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * visada šiek tiek palaukiame tarp ekrano atnaujinimų */

nepasirašytas ilgas atidėjimo laikas = 100;

void setup () {

/ * Įjungus „MAX72XX“veikia energijos taupymo režimas, turime atlikti pažadinimo skambutį */ lc.shutdown (0, false); / * Nustatykite vidutinio ryškumo šviesą */ lc.setIntensity (0, 8); / * ir išvalykite ekraną */ lc.clearDisplay (0); }

/*

Šis metodas matricoje vienas po kito rodys žodžio „Arduino“simbolius. (norint matyti visus simbolius, reikia mažiausiai 5x7 šviesos diodų) */ void writeArduinoOnMatrix () {/ *čia yra simbolių */ baito a duomenys [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; baitas r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; baitas d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; baitas u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; baitas i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; baitas n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; baitas o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * dabar rodykite juos po vieną su nedideliu vėlavimu */

lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); vėlavimas (vėlavimo laikas); 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]); vėlavimas (vėlavimo laikas); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); vėlavimas (vėlavimo laikas); 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]); vėlavimas (vėlavimo laikas); 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]); vėlavimas (vėlavimo laikas); 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]); vėlavimas (vėlavimo laikas); 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]); vėlavimas (vėlavimo laikas); 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); vėlavimas (vėlavimo laikas); }

/*

Ši funkcija apšviečia kai kuriuos šviesos diodus iš eilės. Raštas bus kartojamas kiekvienoje eilutėje. Raštas mirksės kartu su eilutės numeriu. 4 eilutės numeris (indeksas == 3) sumirksės 4 kartus ir pan. lc.setRow (0, eilutė, B10100000); vėlavimas (vėlavimo laikas); lc.setRow (0, eilutė, (baitas) 0); už (int i = 0; i

/*

Ši funkcija apšviečia kai kuriuos stulpelio šviesos diodus. Raštas bus kartojamas kiekviename stulpelyje. Raštas mirksės kartu su stulpelio numeriu. stulpelio numeris 4 (indeksas == 3) sumirksės 4 kartus ir pan. */ void column () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); vėlavimas (vėlavimo laikas); lc.setColumn (0, col, (baitas) 0); už (int i = 0; i

/*

Ši funkcija užsidegs kiekvienoje matricos lemputėje. Šviesos diodas mirksės kartu su eilutės numeriu. 4 eilutės numeris (indeksas == 3) sumirksės 4 kartus ir pan. vėlavimas (vėlavimo laikas); lc.setLed (0, eilutė, kolona, tiesa); vėlavimas (vėlavimo laikas); už (int i = 0; i

void loop () {

writeArduinoOnMatrix (); eilutės (); stulpeliai (); vienvietis (); }

6 žingsnis: išvestis

Image
Image
Išvestis
Išvestis
Išvestis
Išvestis
Išvestis
Išvestis

Žiūrėkite visą vaizdo įrašą čia: -MAX7219 8x8 LED MATRIX SURINKIMAS IR BANDYMAS naudojant ARDUINO

Na, visas šis sunkus darbas tikrai gerai pasiteisina, kai pamatai rezultatą. Tai verta !!

Prenumeruokite mano „YouTube“kanalą: -Creative Stuff

Rekomenduojamas: