Obsah:

Zostava a testovanie bodovej matice LED MAX7219: 6 krokov (s obrázkami)
Zostava a testovanie bodovej matice LED MAX7219: 6 krokov (s obrázkami)

Video: Zostava a testovanie bodovej matice LED MAX7219: 6 krokov (s obrázkami)

Video: Zostava a testovanie bodovej matice LED MAX7219: 6 krokov (s obrázkami)
Video: Книга - Моя первая схема ArduMikron 2024, Júl
Anonim
Image
Image
Skontrolujte balík
Skontrolujte balík

Dot-Matrix Display je zobrazovacie zariadenie, ktoré obsahuje svetelné diódy zarovnané do tvaru matice. Tieto bodové maticové displeje sa používajú v aplikáciách, kde je potrebné spoločne zobrazovať statický, symbol, grafiku, znaky, abecedy a číslice Posúvaný pohyb. Bodový maticový displej sa vyrába v rôznych rozmeroch, ako sú 5x7, 8x8, 16x8, 128x16, 128x32 a 128x64, kde čísla predstavujú LED diódy v riadkoch a stĺpcoch. Tiež tieto displeje sú dodávané v rôznych farbách, ako je červená, zelená, žltá, modrá, Oranžová, biela.

V tomto návode sa budem zaoberať prepojením bodovej matice 8x8 s ovládačom MAX7219 s Arduino Uno. Začnime.

Zásoby

MAX7219

Krok 1: Skontrolujte balík

Ako vidíte, mám smt verziu dosky ovládača, je veľmi dôležité overiť všetky potrebné komponenty, pretože komponenty smd sú veľmi malé a môžete ich ľahko stratiť. Na internete je k dispozícii aj dip verzia, ale použil som verzia smt pre svoju veľkosť.

Krok 2: Trochu o tejto konkrétnej bodovej matici

Trochu o tejto konkrétnej bodovej matici
Trochu o tejto konkrétnej bodovej matici

jeden modul môže poháňať spoločnú katódu s bodovou maticou 8x8.

Prevádzkové napätie: 5 v

Rozmery: dĺžka 3,2 cm x 3,2 cm šírka x 1,3 cm výška, otvory so štyrmi skrutkami, priemer 3 mm

Moduly so vstupným a výstupným rozhraním, podpora kaskádového zapojenia viacerých modulov.

Na module sú uvedené dátové vstupné a výstupné terminály.

Krok 3: Ovládač MAX7219

Ovládač MAX7219
Ovládač MAX7219
Ovládač MAX7219
Ovládač MAX7219

MAX7219 je integrovaný obvod určený na ovládanie LED MATRIX 8x8. IC sú ovládače displeja so spoločnou katódou (Common Negative) so sériovým vstupom, ktoré prepájajú mikroprocesory (alebo mikrokontroléry) so 7-segmentovými numerickými diódami LED s až 8 číslicami, stĺpcovými grafmi alebo 64 samostatnými diódami LED.

Vlastnosti a špecifikácie

Rozsah prevádzkového napätia: +4,0 až +5,5V

Odporúčané prevádzkové napätie: +5V

Maximálne napájacie napätie: 6V

Maximálny prúd, ktorý je možné čerpať cez každý segmentový kolík: 100 mA

Maximálny povolený prúd cez každý uzemňovací kolík DIGIT: 500mA

Nízka spotreba energie

Čas oneskorenia údajov na segment: 2,2 m

Prevádzková teplota: 0 ° C až +70 ° C

Skladovacia teplota: -65 ° C až +150 ° C

Krok 4: Okruh

Okruh
Okruh
Okruh
Okruh

Obvod je pomerne jednoduchý a môže byť zostavený pomocou prepojovacích vodičov mužských až ženských. Stačí sledovať vývod a postaviť obvod. Neskôr môžete zostaviť na dosku plošných spojov, ak robíte trvalú aplikáciu pre Matrix.

Konfigurácia pinov je nasledovná:

  • Vcc až 5V pin Arduina.
  • Gnd to Gnd Pin of Arduino.
  • Kolík 12 na digitálny DIN až Arduino.
  • Pin CS to Digital na Arduino 11
  • CLK na digitálny pin 10 Arduina.

Krok 5: Kód

Tu v tomto návode vám poskytnem dva rôzne kódy. Jeden vygeneruje v Matrixe niekoľko anglických abeced a smajlíkov. Druhý chce, aby sa rozsvietilo všetkých 64 LED diód jeden po druhom. Aby to fungovalo, musíte použiť knižnicu lledcontrol.

Toto je kód pre anglickú abecedu a úsmevy

#include 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}; bajt u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bajt c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; osem bajtov [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bodka bajtu [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 je pri spustení v úspornom režime lc.setIntensity (0, 15); // Nastavte jas na maximálnu hodnotu lc.clearDisplay (0); // a vymažte displej} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; bajtový neutrál [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bajtové zamračenie [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (úsmev); oneskorenie (1000); printByte (neutrálny); oneskorenie (1000); printByte (zamračený výraz); oneskorenie (1000); printEduc8s (); lc.clearDisplay (0); oneskorenie (1000); } void printEduc8s () {printByte (e); oneskorenie (1000); printByte (d); oneskorenie (1000); printByte (u); oneskorenie (1000); printByte (c); oneskorenie (1000); printByte (osem); oneskorenie (1000); printByte; oneskorenie (1000); printByte (bodka); oneskorenie (1000); printByte (c); oneskorenie (1000); printByte (o); oneskorenie (1000); printByte (m); oneskorenie (1000); } void printByte (znak bajtu ) {int i = 0; pre (i = 0; i <8; i ++) {lc.setRow (0, i, znak ); }}

a kód na testovanie všetkých 64 LED diód

// Vždy musíme zahrnúť knižnicu#zahrnúť „LedControl.h“

/*

Teraz potrebujeme LedControl, s ktorým budeme pracovať. ***** Tieto čísla pinov pravdepodobne nebudú fungovať s vašim hardvérom ***** pin 12 je pripojený k DataIn pin 10 je pripojený k CLK pin 11 je pripojený k LOAD Máme iba jeden MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * medzi aktualizáciami displeja vždy chvíľu počkáme */

dlhá doba bez znamienka = 100;

neplatné nastavenie () {

/ * MAX72XX je pri štarte v úspornom režime, musíme zobudiť budík */ lc.shutdown (0, false); / * Nastavte jas na stredné hodnoty */ lc.setIntensity (0, 8); / * a vymažte displej */ lc.clearDisplay (0); }

/*

Táto metóda zobrazí na matici jeden po druhom znaky pre slovo „Arduino“. (na zobrazenie celých znakov potrebujete aspoň 5x7 LED) */ void writeArduinoOnMatrix () {/ *tu sú údaje pre znaky */ byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; bajt r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; bajt d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; bajt u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; bajt i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; bajt n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; bajt o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * teraz ich zobrazujte jeden po druhom s malým oneskorením */

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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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]); oneskorenie (čas oneskorenia); 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); oneskorenie (čas oneskorenia); }

/*

Táto funkcia rozsvieti niekoľko LED v rade. Vzor sa bude opakovať v každom riadku. Vzor bude blikať spolu s číslom riadka. riadok číslo 4 (index == 3) štyrikrát zabliká atď. */ neplatné riadky () {for (int riadok = 0; riadok <8; riadok ++) {oneskorenie (čas oneskorenia); lc.setRow (0, riadok, B10100000); oneskorenie (čas oneskorenia); lc.setRow (0, riadok, (bajt) 0); pre (int i = 0; i

/*

Táto funkcia rozsvieti niektoré LED v stĺpci. Vzor sa bude opakovať v každom stĺpci. Vzor bude blikať spolu s číslom stĺpca. stĺpec číslo 4 (index == 3) štyrikrát zabliká atď. */ neplatné stĺpce () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); oneskorenie (čas oneskorenia); lc.setColumn (0, col, (byte) 0); pre (int i = 0; i

/*

Táto funkcia rozsvieti všetky LED diódy na matici. LED dióda bude blikať spolu s číslom riadku. riadok číslo 4 (index == 3) štyrikrát zabliká atď. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { oneskorenie (čas oneskorenia); lc.setLed (0, riadok, stĺpček, true); oneskorenie (čas oneskorenia); pre (int i = 0; i

prázdna slučka () {

writeArduinoOnMatrix (); riadky (); stĺpce (); single (); }

Krok 6: Výstup

Image
Image
Výstup
Výstup
Výstup
Výstup
Výstup
Výstup

Pozrite si celé video tu: -MAX7219 8x8 LED MATRIX MONTÁŽ A TESTOVANIE pomocou ARDUINO

Celá táto tvrdá práca sa určite vyplatí, keď uvidíte výsledok. Stojí to za to !!

Prihláste sa na odber môjho kanála YouTube: -Kreatívne veci

Odporúča: