Tartalomjegyzék:

MAX7219 LED pontmátrix összeszerelése és tesztelése: 6 lépés (képekkel)
MAX7219 LED pontmátrix összeszerelése és tesztelése: 6 lépés (képekkel)

Videó: MAX7219 LED pontmátrix összeszerelése és tesztelése: 6 lépés (képekkel)

Videó: MAX7219 LED pontmátrix összeszerelése és tesztelése: 6 lépés (képekkel)
Videó: DS3231 Multifunkciós ébresztőóra Fehér LED Matrix kijelzővel 2024, November
Anonim
Image
Image
Ellenőrizze a csomagot
Ellenőrizze a csomagot

A Dot-Matrix Display egy olyan kijelző eszköz, amely mátrix alakban elhelyezett fénykibocsátó diódákat tartalmaz. Ezeket a Dot mátrix kijelzőket olyan alkalmazásokban használják, ahol a szimbólumokat, grafikákat, karaktereket, ábécéket, számokat együtt kell megjeleníteni statikusan, valamint Görgető mozgás. A dot mátrix kijelző különböző méretekben készül, például 5x7, 8x8, 16x8, 128x16, 128x32 és 128x64, ahol a számok a sorokban és oszlopokban lévő LED -eket jelzik, továbbá ezek a kijelzők különböző színűek, például piros, zöld, sárga, kék, Narancssárga, fehér.

Ebben az utasításban egy 8x8 -as pontmátrix, amely MAX7219 illesztőprogrammal rendelkezik, interfészen megyek keresztül az Arduino Uno -hoz. Kezdjük.

Kellékek

MAX7219

1. lépés: Ellenőrizze a csomagot

Amint láthatja, van egy smt verziójú illesztőprogram -táblám, nagyon fontos, hogy ellenőrizze az összes szükséges összetevőt, mivel az smd -összetevők nagyon kicsik és könnyen elveszíthetik őket. Vannak dip verziók is online, de én használtam az smt verzió a méretéhez képest.

2. lépés: Egy kicsit erről a különleges pontmátrixról

Egy kicsit erről a különleges pontmátrixról
Egy kicsit erről a különleges pontmátrixról

egyetlen modul képes meghajtani a 8x8 pontmátrix közös katódot.

Üzemi feszültség: 5 v

Méretek: hossza 3,2 cm X 3,2 cm széles X 1,3 cm magas, lyukak négy csavarral, átmérője 3 mm

Bemeneti és kimeneti interfészekkel rendelkező modulok, több modul kaszkádozásának támogatása.

A Data IN és OUT terminálok a modulon vannak megadva.

3. lépés: A MAX7219 illesztőprogram

A MAX7219 illesztőprogram
A MAX7219 illesztőprogram
A MAX7219 illesztőprogram
A MAX7219 illesztőprogram

A MAX7219 egy 8x8 LED MATRIX vezérlésére tervezett IC. Az IC soros bemenetű közös katódos (Common Negative) kijelzőmeghajtó, amely a mikroprocesszorokat (vagy mikrokontrollert) 7 szegmenses, legfeljebb 8 számjegyű numerikus LED-kijelzőhöz, oszlopdiagramos kijelzőhöz vagy 64 egyedi LED-hez csatlakoztatja.

Jellemzők és specifikációk

Üzemi feszültségtartomány: +4,0 - +5,5V

Ajánlott üzemi feszültség: +5V

Maximális tápfeszültség: 6V

A megengedett legnagyobb áramerősség minden szegmensen: 100mA

Az egyes DIGIT földelőcsapokon megengedett maximális áram: 500mA

Alacsony energia fogyasztás

Adat-szegmens késleltetési idő: 2,2 mSec

Üzemi hőmérséklet: 0 ° C és +70 ° C között

Tárolási hőmérséklet: -65 ° C és +150 ° C között

4. lépés: Az áramkör

Az áramkör
Az áramkör
Az áramkör
Az áramkör

Az áramkör meglehetősen egyszerű, és férfi -női áthidaló vezetékek segítségével építhető fel. Csak kövesse a pinoutot és építse fel az áramkört. Később összeszerelheti PCB -re, ha állandó alkalmazást készít a Mátrixhoz.

A pin konfiguráció a következő:

  • Vcc - 5V pin Arduino.
  • Gnd - Gnd Pin az Arduino -ból.
  • DIN az Arduino 12. digitális tüskéjéhez.
  • CS az Arduino 11. digitális tűjéhez
  • CLK -tól az Arduino digitális 10. tűjéig.

5. lépés: A kód

Itt ebben az utasításban két különböző kódot adok meg. Az egyik generál néhány angol ábécét és mosolyt a Mátrixon. A másik pedig mind a 64 LED -et egyenként világít. Működéséhez a lledcontrol könyvtárat kell használnia.

Ez az angol ábécé és mosoly kódja

#include int DIN = 12; int CS = 11; int CLK = 10; e bájt [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; d bájt [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; u bájt [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; c bájt [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; nyolcas bájt [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bájt [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bájtpont [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; bájt o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bájt m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // A MAX72XX energiatakarékos üzemmódban van az lc.setIntensity (0, 15) indításakor; // Állítsa a fényerőt maximális értékre lc.clearDisplay (0); // és törölje a kijelzőt} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; bájt semleges [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bájt összeráncolva [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (mosoly); késleltetés (1000); printByte (semleges); késleltetés (1000); printByte (homlokráncolva); késleltetés (1000); printEduc8s (); lc.clearDisplay (0); késleltetés (1000); } void printEduc8s () {printByte (e); késleltetés (1000); printByte (d); késleltetés (1000); printByte (u); késleltetés (1000); printByte (c); késleltetés (1000); printByte (nyolc); késleltetés (1000); printByte (s); késleltetés (1000); printByte (pont); késleltetés (1000); printByte (c); késleltetés (1000); printByte (o); késleltetés (1000); printByte (m); késleltetés (1000); } void printByte (byte karakter ) {int i = 0; for (i = 0; i <8; i ++) {lc.setRow (0, i, karakter); }}

és a kód mind a 64 LED tesztelésére

// Mindig be kell vennünk a könyvtárat#include "LedControl.h"

/*

Most szükségünk van egy LedControlra, amellyel együtt dolgozhatunk. ***** Ezek a PIN -kódok valószínűleg nem fognak működni a hardverével. ***** A 12 -es érintkező a DataIn -hez van csatlakoztatva, a 10 -es érintkező pedig a CLK -hez van csatlakoztatva. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * mindig várunk egy kicsit a kijelző frissítései között */

előjel nélküli hosszú késleltetési idő = 100;

void setup () {

/ * A MAX72XX energiatakarékos üzemmódban van indításkor, ébresztést kell végeznünk */ lc.shutdown (0, false); / * Állítsa a fényerőt közepes értékekre */ lc.setIntensity (0, 8); / * és törölje a kijelzőt */ lc.clearDisplay (0); }

/*

Ez a módszer egymás után jeleníti meg az "Arduino" szó karaktereit a mátrixon. (legalább 5x7 ledre van szüksége a teljes karakterek megtekintéséhez) */ void writeArduinoOnMatrix () {/ *itt a */ byte a karakterek adatai [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; bájt r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; d bájt [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; u bájt [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; i bájt [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; n. bájt [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; bájt o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * most jelenítse meg őket egyenként kis késéssel */

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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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]); késleltetés (késleltetési idő); 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); késleltetés (késleltetési idő); }

/*

Ez a funkció néhány LED -et világít egymás után. A minta minden sorban megismétlődik. A minta villogni fog a sorszámmal együtt. a 4. sor (index == 3) négyszer villog stb. */ void rows () {for (int sor = 0; sor <8; sor ++) {delay (delaytime); lc.setRow (0, sor, B10100000); késleltetés (késleltetési idő); lc.setRow (0, sor, (bájt) 0); mert (int i = 0; i

/*

Ez a funkció néhány LED -et világít egy oszlopban. A minta minden oszlopon megismétlődik. A minta az oszlopszámmal együtt villogni fog. a 4. oszlop (index == 3) négyszer villog stb. */ void oszlopok () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, oszlop, B10100000); késleltetés (késleltetési idő); lc.setColumn (0, col, (byte) 0); mert (int i = 0; i

/*

Ez a funkció világítani fog a mátrix minden LED -jén. A led villogni fog a sorszámmal együtt. a 4. sor (index == 3) négyszer villog stb. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { késleltetés (késleltetési idő); lc.setLed (0, sor, oszlop, igaz); késleltetés (késleltetési idő); mert (int i = 0; i

void loop () {

writeArduinoOnMatrix (); sorok (); oszlopok(); egyetlen(); }

6. lépés: A kimenet

Image
Image
A kimenet
A kimenet
A kimenet
A kimenet
A kimenet
A kimenet

Nézze meg a teljes videót itt: -MAX7219 8x8 LED MATRIX SZERELÉS ÉS TESZTELÉS ARDUINO segítségével

Nos, ez a kemény munka biztosan jól kifizetődik, ha látja az eredményt. Megéri !!

Iratkozz fel a youtube csatornámra: -Creative Stuff

Ajánlott: