Përmbajtje:

Montimi dhe testimi i MAX7219 LED Dot Matrix: 6 hapa (me fotografi)
Montimi dhe testimi i MAX7219 LED Dot Matrix: 6 hapa (me fotografi)

Video: Montimi dhe testimi i MAX7219 LED Dot Matrix: 6 hapa (me fotografi)

Video: Montimi dhe testimi i MAX7219 LED Dot Matrix: 6 hapa (me fotografi)
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Nëntor
Anonim
Image
Image
Kontrolloni Paketën
Kontrolloni Paketën

Një Dot-Matrix Display është një pajisje e cila përmban diodë emetuese të dritës të radhitura në formën e matricës. Këto ekrane matricash dot përdoren në aplikacionet ku Simbolet, Grafikët, Karakteret, Alfabetet, Numrat duhet të shfaqen së bashku në statikë, si dhe Lëvizja rrotulluese. Dot Matrix Display është prodhuar në dimensione të ndryshme si 5x7, 8x8, 16x8, 128x16, 128x32 dhe 128x64 ku numrat përfaqësojnë LED -të në rreshta dhe kolona, gjithashtu këto ekrane vijnë në ngjyra të ndryshme si të kuqe, jeshile, të verdhë, blu, Portokalli, e Bardhë.

Në këtë Instructable, unë do të kaloj përmes ndërlidhjes së një matricë 8x8 Dot e cila ka një drejtues MAX7219 me një Arduino Uno. Le të fillojmë.

Furnizimet

MAX7219

Hapi 1: Kontrolloni Paketën

Siç mund ta shihni, unë kam një version smt të bordit të drejtuesit, është shumë e rëndësishme të verifikoni secilin komponent të nevojshëm pasi përbërësit smd janë shumë të vegjël në madhësi dhe ju lehtë mund t'i humbisni ato. Ekzistojnë edhe versione dip të disponueshme në internet, por unë i përdor versioni smt për madhësinë e tij.

Hapi 2: Pak për këtë matricë të veçantë pikash

Pak për këtë matricë të veçantë pikash
Pak për këtë matricë të veçantë pikash

moduli i vetëm mund të drejtojë një katodë të zakonshme me matricë 8x8 pika.

Tensioni i funksionimit: 5 v

Përmasat: gjatësia 3.2 cm X 3.2 cm e gjerë X 1.3 cm e lartë, vrima me katër vida, diametri 3 mm

Module me ndërfaqe hyrëse dhe dalëse, mbështetje për kaskadimin e moduleve të shumta.

Terminalet e të dhënave IN dhe OUT janë specifikuar në modul.

Hapi 3: Drejtuesi MAX7219

Shoferi MAX7219
Shoferi MAX7219
Shoferi MAX7219
Shoferi MAX7219

MAX7219 është një IC i krijuar për të kontrolluar një MATRIX LED 8x8. IC është drejtuesi i serive të ekranit të zakonshëm të katodës (Common Negative) që ndërlidh mikroprocesorët (ose mikrokontrolluesit) në ekranet LED numerike me 7 segmente deri në 8 shifra, ekranet me grafikë ose 64 LED individualë.

Karakteristikat dhe Specifikimet

Gama e tensionit të funksionimit: +4.0 në +5.5V

Tensioni i rekomanduar i funksionimit: +5V

Tensioni maksimal i furnizimit: 6V

Rryma maksimale e lejuar për të nxjerrë përmes secilës kunj të segmentit: 100mA

Rryma maksimale e lejuar përmes secilës kunj tokëzimi DIGIT: 500mA

Konsum i ulët i energjisë

Koha e vonesës nga e dhëna në segment: 2.2mSec

Temperatura e funksionimit: 0 ° C deri +70 ° C

Temperatura e Magazinimit: -65 ° C deri +150 ° C

Hapi 4: Qarku

Qarku
Qarku
Qarku
Qarku

Qarku është mjaft i thjeshtë dhe mund të ndërtohet duke përdorur tela bluzë meshkuj në femra. Vetëm ndiqni pinout -in dhe ndërtoni qarkun. Më vonë mund ta montoni në një PCB nëse jeni duke bërë një aplikim të përhershëm për Matricën.

Konfigurimi i Pin është si më poshtë:

  • Vcc në 5V Pin të Arduino.
  • Gnd në Gnd Pin të Arduino.
  • DIN në Pin Digital 12 të Arduino.
  • CS në Pin dixhital 11 të Arduino
  • KLIKONI në Pin dixhital 10 të Arduino.

Hapi 5: Kodi

Këtu në këtë Instructable unë do t'ju ofroj dy kode të ndryshme. Njëri do të gjenerojë disa alfabete angleze dhe figurina në Matrix. Njëra tjetër do të ndezë të gjitha 64 LED -të një nga një. Ju duhet të përdorni bibliotekën lledcontrol për ta bërë atë të funksionojë.

Ky është kodi për alfabetet dhe buzëqeshjet angleze

#përfshi int DIN = 12; int CS = 11; int CLK = 10; bajt e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; bajt d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; byte u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bajt c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; bajt tetë [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bajt s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bajt pikë [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; bajt o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bajt m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX është në modalitetin e kursimit të energjisë gjatë fillimit lc.setIntensity (0, 15); // Vendosni shkëlqimin në vlerën maksimale lc.clearDisplay (0); // dhe pastro ekranin} lakun e pavlefshëm () {byte buzëqeshje [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; bajt neutral [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; byte i vrenjtur [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (buzëqeshje); vonesa (1000); printByte (neutrale); vonesa (1000); printByte (vrenjtje); vonesa (1000); printEduc8s (); lc. ClearDisplay (0); vonesa (1000); } void printEduc8s () {printByte (e); vonesa (1000); printByte (d); vonesa (1000); printByte (u); vonesa (1000); printByte (c); vonesa (1000); printByte (tetë); vonesa (1000); printBajt (et); vonesa (1000); printByte (pikë); vonesa (1000); printByte (c); vonesa (1000); printByte (o); vonesa (1000); printBajt (m); vonesa (1000); } void printByte (karaktere byte ) {int i = 0; për (i = 0; i <8; i ++) {lc.setRow (0, i, karakteri ); }}

dhe kodin për testimin e të gjitha 64 LED -ve

// Ne gjithmonë duhet të përfshijmë bibliotekën#përfshijë "LedControl.h"

/*

Tani na duhet një LedControl për të punuar me të. ***** Këta numra pin nuk do të funksionojnë me pajisjen tuaj. ***** pin 12 është i lidhur me DataIn pin 10 është i lidhur me CLK pin 11 është i lidhur me LOAD Ne kemi vetëm një MAX72XX të vetme. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * ne gjithmonë presim pak midis azhurnimeve të ekranit */

vonesë e gjatë e panënshkruar = 100;

void setup () {

/ * MAX72XX është në modalitetin e kursimit të energjisë gjatë fillimit, duhet të bëjmë një thirrje zgjimi */ lc.shutdown (0, false); / * Vendosni shkëlqimin në vlerat mesatare */ lc.setIntensity (0, 8); / * dhe pastroni ekranin */ lc.clearDisplay (0); }

/*

Kjo metodë do të shfaqë personazhet për fjalën "Arduino" njëra pas tjetrës në matricë. (keni nevojë për të paktën 5x7 led për të parë të gjithë karakteret) */ void writeArduinoOnMatrix () {/ *këtu janë të dhënat për personazhet */ byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; byte r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; bajt d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; byte u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; byte i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; bajt n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; byte o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * tani shfaqini ato një nga një me një vonesë të vogël */

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]); vonesë (vonesë); 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]); vonesë (vonesë); 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]); vonesë (vonesë); 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]); vonesë (vonesë); 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]); vonesë (vonesë); 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]); vonesë (vonesë); 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]); vonesë (vonesë); 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); vonesë (vonesë); }

/*

Ky funksion ndriçon disa Leds me radhë. Modeli do të përsëritet në çdo rresht. Modeli do të pulsojë së bashku me numrin e rreshtit. rreshti numër 4 (indeksi == 3) do të pulsojë 4 herë etj. */ void rreshtat () {për (int rreshti = 0; rreshti <8; rreshti ++) {vonesë (vonesë); lc.setRow (0, rresht, B10100000); vonesë (vonesë); lc.setRow (0, rresht, (bajt) 0); për (int i = 0; i

/*

Ky funksion ndriçon disa Leds në një kolonë. Modeli do të përsëritet në çdo kolonë. Modeli do të pulsojë së bashku me numrin e kolonës. numri i kolonës 4 (indeksi == 3) do të pulsojë 4 herë etj. lc.setColumn (0, col, B10100000); vonesë (vonesë); lc.setColumn (0, col, (byte) 0); për (int i = 0; i

/*

Ky funksion do të ndriçojë çdo Led në matricë. Ledi do të pulsojë së bashku me numrin e rreshtit. rreshti numër 4 (indeksi == 3) do të pulsojë 4 herë etj. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { vonesë (vonesë); lc.setLed (0, rresht, kol, e vërtetë); vonesë (vonesë); për (int i = 0; i

lak void () {

shkruajArduinoOnMatrix (); rreshta (); kolona (); beqare (); }

Hapi 6: Rezultati

Image
Image
Produkti
Produkti
Produkti
Produkti
Produkti
Produkti

Shikoni videon e plotë këtu: -MAX7219 8X8 MATRIX LED MATRIM DHE TESTIM duke përdorur ARDUINO

Epo e gjithë kjo punë e vështirë, sigurisht që paguhet mjaft mirë kur shihni rezultatin. Është e vlefshme !!

Regjistrohuni në kanalin tim në youtube: -Gjëra krijuese

Recommended: