Talaan ng mga Nilalaman:

MAX7219 LED Dot Matrix Assembly at Pagsubok: 6 Hakbang (na may Mga Larawan)
MAX7219 LED Dot Matrix Assembly at Pagsubok: 6 Hakbang (na may Mga Larawan)

Video: MAX7219 LED Dot Matrix Assembly at Pagsubok: 6 Hakbang (na may Mga Larawan)

Video: MAX7219 LED Dot Matrix Assembly at Pagsubok: 6 Hakbang (na may Mga Larawan)
Video: MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING using ARDUINO 2024, Nobyembre
Anonim
Image
Image
Suriin ang Package
Suriin ang Package

Ang isang Dot-Matrix Display ay isang display aparato na naglalaman ng mga light emitting diode na nakahanay sa anyo ng matrix. Ang mga Dot matrix display na ito ay ginagamit sa mga application kung saan ang Simbolo, Graphic, Character, Alphabets, Numerals ay kailangang ipakita nang magkasama sa static pati na rin Pag-scroll ng paggalaw. Ang Display Matrix ng Dot ay gawa sa iba't ibang mga sukat tulad ng 5x7, 8x8, 16x8, 128x16, 128x32 at 128x64 kung saan ang mga numero ay kumakatawan sa mga LED sa mga hilera at haligi, Gayundin ang mga ipinakitang ito ay may iba't ibang mga kulay tulad ng Pula, berde, dilaw, asul, Orange, Maputi.

Sa Instructable na ito, dadaan ako sa pag-interfacing ng isang 8x8 Dot Matrix na mayroong isang driver na MAX7219 sa isang Arduino Uno. Magsimula na tayo.

Mga gamit

MAX7219

Hakbang 1: Suriin ang Package

Tulad ng nakikita mong mayroon akong isang smt bersyon ng driver board, napakahalagang i-verify ang bawat bahagi na kinakailangan dahil ang mga sangkap ng smd ay napakaliit ng laki at madali mong mawala ang mga ito. Mayroon ding bersyon ng dip na magagamit online ngunit ginamit ko ang bersyon ng smt para sa laki nito.

Hakbang 2: Isang Maliit Tungkol sa Partikular na Dot Matrix na ito

Isang Maliit Tungkol sa Partikular na Dot Matrix na ito
Isang Maliit Tungkol sa Partikular na Dot Matrix na ito

ang solong module ay maaaring magmaneho ng isang 8x8 dot matrix karaniwang cathode.

Operating boltahe: 5 v

Mga Dimensyon: haba 3.2 cm X 3.2 cm ang lapad X 1.3 cm ang taas, butas na may apat na turnilyo, ang diameter ng 3 mm

Ang mga module na may input at output interface, suporta para sa cascading ng maramihang mga module.

Ang mga terminal ng Data IN at OUT ay tinukoy sa modyul.

Hakbang 3: Ang MAX7219 Driver

Ang MAX7219 Driver
Ang MAX7219 Driver
Ang MAX7219 Driver
Ang MAX7219 Driver

Ang MAX7219 ay isang IC na idinisenyo upang makontrol ang isang 8x8 LED MATRIX. Ang IC ay serial input na karaniwang-cathode (Karaniwang Negatibo) na nagpapakita ng mga driver na nag-interface ng mga microprocessor (o microcontroller) sa 7-segment na numerong LED na nagpapakita ng hanggang sa 8 digit, mga bar-graph display, o 64 na indibidwal na LED.

Mga Tampok at pagtutukoy

Saklaw ng boltahe ng operating: +4.0 hanggang + 5.5V

Inirekumenda na operating boltahe: + 5V

Maximum na boltahe ng suplay: 6V

Pinapayagan ang maximum na kasalukuyang gumuhit sa bawat segment na pin: 100mA

Pinapayagan ang maximum na kasalukuyang sa pamamagitan ng bawat pin ng ground DIGIT: 500mA

Mababang pagkonsumo ng kuryente

Oras ng Pag-antala ng Data-to-Segment: 2.2mSec

Temperatura sa pagpapatakbo: 0 ° C hanggang + 70 ° C

Temperatura ng Imbakan: -65 ° C hanggang + 150 ° C

Hakbang 4: Ang Circuit

Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit

Ang circuit ay medyo simple at maaaring maitayo gamit ang lalaki hanggang babaeng jumper wires. Sundin lamang ang pinout at buuin ang circuit. Maaari mo itong mapagsama sa isang PCB kung gumagawa ka ng permanenteng aplikasyon para sa Matrix.

Ang Pag-configure ng Pin ay ang mga sumusunod:

  • Vcc sa 5V Pin ng Arduino.
  • Gnd kay Gnd Pin ng Arduino.
  • DIN sa Digital Pin 12 ng Arduino.
  • Ang CS sa Digital Pin 11 ng Arduino
  • CLK sa Digital Pin 10 ng Arduino.

Hakbang 5: Ang Code

Dito sa Instructable na ito bibigyan kita ng dalawang magkakaibang mga code. Ang isa ay bubuo ng ilang mga alpabetong Ingles at smily sa Matrix. Ang isa pa ay gagawin ang lahat ng 64 LEDs na nag-iilaw nang isa-isa. Dapat mong gamitin ang lledcontrol library upang ito ay gumana.

Ito ang code para sa mga alpabetong Ingles at ngiti

# isama ang int DIN = 12; int CS = 11; int CLK = 10; byte e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; byte d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; byte u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; byte eight [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; byte dot [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; byte 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); void setup () {lc.shutdown (0, false); // Ang MAX72XX ay nasa power-save mode sa startup lc.setIntensity (0, 15); // Itakda ang ningning sa maximum na halaga lc.clearDisplay (0); // at i-clear ang display} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; byte neutral [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; byte frown [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (ngiti); pagkaantala (1000); printByte (walang kinikilingan); pagkaantala (1000); printByte (nakasimangot); pagkaantala (1000); printEduc8s (); lc.clearDisplay (0); pagkaantala (1000); } walang bisa printEduc8s () {printByte (e); pagkaantala (1000); printByte (d); pagkaantala (1000); printByte (u); pagkaantala (1000); printByte (c); pagkaantala (1000); printByte (walong); pagkaantala (1000); printByte (mga); pagkaantala (1000); printByte (tuldok); pagkaantala (1000); printByte (c); pagkaantala (1000); printByte (o); pagkaantala (1000); printByte (m); pagkaantala (1000); } void printByte (byte character ) {int i = 0; para sa (i = 0; i <8; i ++) {lc.setRow (0, i, character ); }}

at ang code para sa pagsubok sa lahat ng 64 LEDs

// Palagi naming isasama ang library # isama ang "LedControl.h"

/*

Ngayon kailangan namin ng isang LedControl upang gumana. ***** Ang mga pin na numero ay malamang na hindi gagana sa iyong hardware ***** pin 12 ay konektado sa DataIn pin 10 ay konektado sa CLK pin 11 ay konektado sa LOAD Mayroon lamang kaming isang MAX72XX. * / LedControl lc = LedControl (12, 11, 10, 1);

/ * Palagi kaming naghihintay nang kaunti sa pagitan ng mga pag-update ng display * /

unsigned matagal na pagkaantala = 100;

walang bisa ang pag-setup () {

/ * Ang MAX72XX ay nasa mode ng pag-save ng kuryente sa pagsisimula, kailangan naming gumawa ng isang tawag sa paggising * / lc.shutdown (0, hindi totoo); / * Itakda ang ningning sa isang katamtamang halaga * / lc.setIntensity (0, 8); / * at i-clear ang display * / lc.clearDisplay (0); }

/*

Ang pamamaraang ito ay ipapakita ang mga character para sa salitang "Arduino" nang sunud-sunod sa matrix. (kailangan mo ng hindi bababa sa 5x7 leds upang makita ang buong mga chars) * / walang bisa ang writeArduinoOnMatrix () {/ * narito ang data para sa mga character * / byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; byte r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; byte d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; byte u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; byte i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; byte n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; byte o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * ngayon ipakita ang mga ito isa-isa na may isang maliit na pagkaantala * /

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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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]); antala (pagkaantala ng oras); 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); antala (pagkaantala ng oras); }

/*

Ang pagpapaandar na ito ay nag-iilaw ng ilang mga Leds sa isang hilera. Ang pattern ay paulit-ulit sa bawat hilera. Ang pattern ay magpapikit kasama ang row-number. row number 4 (index == 3) ay magpikit ng 4 beses atbp. * / void row () {for (int row = 0; row <8; row ++) {antala (pagkaantala ng oras); lc.setRow (0, row, B10100000); antala (pagkaantala ng oras); lc.setRow (0, row, (byte) 0); para sa (int i = 0; i

/*

Ang pagpapaandar na ito ay nag-iilaw ng ilang mga Leds sa isang haligi. Ang pattern ay paulit-ulit sa bawat haligi. Ang pattern ay magpapikit kasama ang bilang ng haligi. haligi numero 4 (index == 3) ay magpikit ng 4 beses atbp. * / walang bisa ang mga haligi () {para sa (int col = 0; col <8; col ++) {pagkaantala (pagkaantala ng oras); lc.setColumn (0, col, B10100000); antala (pagkaantala ng oras); lc.setColumn (0, col, (byte) 0); para sa (int i = 0; i

/*

Ang pagpapaandar na ito ay magpapasindi sa bawat Led sa matrix. Ang led ay magpikit kasama ang row-number. row number 4 (index == 3) ay magpikit ng 4 beses atbp. * / walang bisa ang solong () {para sa (int row = 0; row <8; row ++) {para sa (int col = 0; col <8; col ++) { antala (pagkaantala ng oras); lc.setLed (0, row, col, true); antala (pagkaantala ng oras); para sa (int i = 0; i

void loop () {

isulatArduinoOnMatrix (); mga hilera (); mga haligi (); solong (); }

Hakbang 6: Ang Output

Image
Image
Ang Output
Ang Output
Ang Output
Ang Output
Ang Output
Ang Output

Panoorin ang buong video dito: -MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING using ARDUINO

Sa gayon lahat ng pagsusumikap na ito, tiyak na mahusay ang pagbabayad kapag nakita mo ang resulta. Sulit naman !!

Mag-subscribe sa aking youtube channel: -Creative Stuff

Inirerekumendang: