INHOUDSOPGAWE:
- Voorrade
- Stap 1: Gaan die pakket na
- Stap 2: 'n bietjie meer oor hierdie besondere puntmatriks
- Stap 3: Die MAX7219 -bestuurder
- Stap 4: Die stroombaan
- Stap 5: Die kode
- Stap 6: Die uitset
Video: MAX7219 LED Dot Matrix Montage en toetsing: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
'N Dot-Matrix Display is 'n display-toestel wat liguitstralende diodes bevat wat in die vorm van 'n matriks in lyn is, en dit word gebruik in toepassings waar simbool, grafika, karakters, alfabette, syfers saam staties en Scrolling motion. Dot Matrix Display word vervaardig in verskillende afmetings, soos 5x7, 8x8, 16x8, 128x16, 128x32 en 128x64, waar die getalle LED's in rye en kolomme verteenwoordig. Oranje, Wit.
In hierdie instruksies gaan ek 'n 8x8 Dot Matrix met 'n MAX7219 -bestuurder koppel aan 'n Arduino Uno. Kom ons begin.
Voorrade
MAX7219
Stap 1: Gaan die pakket na
Soos u kan sien, het ek 'n smt -weergawe van die bestuurdersbord, dit is baie belangrik om elke komponent wat nodig is, te verifieer, aangesien die smd -komponente baie klein is en u dit maklik kan verloor. Daar is ook 'n dip -weergawe beskikbaar, maar ek het dit gebruik die smt -weergawe vir sy grootte.
Stap 2: 'n bietjie meer oor hierdie besondere puntmatriks
'n enkele module kan die gemeenskaplike katode met 'n matriks van 8 x 8 punte dryf.
Bedryfspanning: 5 v
Afmetings: lengte 3,2 cm x 3,2 cm breed x 1,3 cm hoog, gate met vier skroewe, die deursnee van 3 mm
Modules met invoer- en afvoer -koppelvlakke, ondersteuning vir die onderbreek van verskeie modules.
Data IN en OUT terminale word op die module gespesifiseer.
Stap 3: Die MAX7219 -bestuurder
Die MAX7219 is 'n IC wat ontwerp is om 'n 8x8 LED MATRIX te beheer. Die IC is 'n seriële invoer-algemene katode (algemene negatiewe) vertoonbestuurders wat mikroverwerkers (of mikrobeheerder) koppel aan 7-segment numeriese LED-skerms van tot 8 syfers, staafgrafiekvertonings of 64 individuele LED's.
Kenmerke en spesifikasies
Bedryfspanning: +4.0 tot +5.5V
Aanbevole werkspanning: +5V
Maksimum toevoerspanning: 6V
Maksimum stroom wat toegelaat word om deur elke segmentpen te trek: 100mA
Maksimum stroom wat deur elke DIGIT -grondpen toegelaat word: 500mA
Lae kragverbruik
Data-tot-segment vertragingstyd: 2.2mSek
Bedryfstemperatuur: 0 ° C tot +70 ° C
Bergingstemperatuur: -65 ° C tot +150 ° C
Stap 4: Die stroombaan
Die kring is redelik eenvoudig en kan gebou word met manlike tot vroulike springdrade. Volg net die pinout en bou die kring. U kan dit later op 'n PCB monteer as u 'n permanente toepassing vir die Matrix maak.
Die speldkonfigurasie is soos volg:
- Vcc tot 5V Pin van Arduino.
- Gnd tot Gnd Pin van die Arduino.
- DIN volgens digitale pen 12 van die Arduino.
- CS na Digital Pin 11 van die Arduino
- CLK na Digital Pin 10 van die Arduino.
Stap 5: Die kode
Hier in hierdie Instructable gee ek u twee verskillende kodes. Die een sal 'n paar Engelse alfabette en smileys op die Matrix genereer. Die ander een sal al die 64 LED's een vir een verlig. U moet die lledcontrol -biblioteek gebruik om dit te laat werk.
Dit is die kode vir Engelse alfabet en glimlagte
#sluit int DIN = 12 in; int CS = 11; int CLK = 10; greep e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; greep d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; byte u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; greep c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; greep agt [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; grepe s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; greep punt [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; byte o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; greep m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); ongeldige opstelling () {lc.shutdown (0, vals); // Die MAX72XX is in die kragbesparingsmodus tydens die aanvang van lc.setIntensity (0, 15); // Stel die helderheid in op maksimum waarde lc.clearDisplay (0); // en maak die skerm} leeg lus () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C} skoon; greepneutraal [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; greep frons [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (glimlag); vertraging (1000); printByte (neutraal); vertraging (1000); printByte (frons); vertraging (1000); printEduc8s (); lc.clearDisplay (0); vertraging (1000); } ongeldig printEduc8s () {printByte (e); vertraging (1000); printByte (d); vertraging (1000); printByte (u); vertraging (1000); printByte (c); vertraging (1000); printByte (agt); vertraging (1000); printByte (s); vertraging (1000); printByte (punt); vertraging (1000); printByte (c); vertraging (1000); printByte (o); vertraging (1000); printByte (m); vertraging (1000); } void printByte (byte karakter ) {int i = 0; vir (i = 0; i <8; i ++) {lc.setRow (0, i, karakter ); }}
en die kode vir die toets van al 64 LED's
// Ons moet altyd die biblioteek insluit#insluit "LedControl.h"
/*
Nou het ons 'n LedControl nodig om mee te werk. ***** Hierdie pennommers werk waarskynlik nie met u hardeware nie ***** pen 12 is gekoppel aan die DataIn pen 10 is gekoppel aan die CLK pen 11 is gekoppel aan LOAD Ons het slegs 'n enkele MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * ons wag altyd 'n bietjie tussen opdaterings van die skerm */
ongetekende lang vertraging = 100;
ongeldige opstelling () {
/ * Die MAX72XX is in die kragbesparingsmodus tydens die aanvang; ons moet 'n wekroep */ lc.stop (0, vals) doen; / * Stel die helderheid op 'n medium waardes */ lc.setIntensity (0, 8); / * en maak die skerm */ lc.clearDisplay (0) skoon; }
/*
Hierdie metode sal die karakters vir die woord "Arduino" een na die ander op die matriks vertoon. (jy benodig minstens 5x7 LED's om die hele tekens te sien) */ void writeArduinoOnMatrix () {/ *hier is die data vir die karakters */ byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; byte r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; greep d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; byte u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; byte i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; greep n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; byte o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * vertoon dit nou een vir een met 'n klein vertraging */
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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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]); vertraging (vertragingstyd); 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); vertraging (vertragingstyd); }
/*
Hierdie funksie verlig 'n paar LED's in 'n ry. Die patroon word op elke ry herhaal. Die patroon knip saam met die ry-nommer. ry nommer 4 (indeks == 3) sal 4 keer ens. */ leë rye () {vir (int ry = 0; ry <8; ry ++) {vertraging (vertraging); lc.setRow (0, ry, B10100000); vertraging (vertragingstyd); lc.setRow (0, ry, (byte) 0); vir (int i = 0; i
/*
Hierdie funksie verlig 'n paar LED's in 'n kolom. Die patroon word op elke kolom herhaal. Die patroon flikker saam met die kolomnommer. kolom nommer 4 (indeks == 3) sal 4 keer knip, ens. */ nietige kolomme () {vir (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, kol, B10100000); vertraging (vertragingstyd); lc.setColumn (0, kol, (byte) 0); vir (int i = 0; i
/*
Hierdie funksie sal elke Led op die matriks verlig. Die LED knip saam met die ry-nommer. ry nommer 4 (indeks == 3) sal 4 keer ens knip. */ void enkel () {vir (int ry = 0; ry <8; ry ++) {vir (int col = 0; kol <8; col ++) { vertraging (vertragingstyd); lc.setLed (0, ry, kol, waar); vertraging (vertragingstyd); vir (int i = 0; i
leemte -lus () {
writeArduinoOnMatrix (); rye (); kolomme (); enkel (); }
Stap 6: Die uitset
Kyk hier na die volledige video: -MAX7219 8x8 LED MATRIX MONTERING EN TOETSING met behulp van ARDUINO
Al hierdie harde werk, betaal beslis baie goed as u die resultaat sien. Dit is die moeite werd !!
Teken in op my YouTube-kanaal: -Creative Stuff
Aanbeveel:
Dot Matrix 32x8 Max7219 Interface met Ardiuno: 5 stappe (met foto's)
Dot Matrix 32x8 Max7219 Interface met Ardiuno: Hallo almal, Dot Matrix gebaseer op Max7219 is nie nuut in 2020 nie, tot onlangs was die opstelproses goed gedokumenteer, 'n mens sou die hardeware biblioteek van MajicDesigns aflaai. en 'n paar reëls in die koptekstlêers verander en FC16 werk soos 'n sjarme. Dit was tot
IoT Smart Clock Dot Matrix Gebruik Wemos ESP8266 - ESP Matrix: 12 stappe (met foto's)
IoT Smart Clock Dot Matrix Gebruik Wemos ESP8266-ESP Matrix: Maak jou eie IoT Smart Clock wat kan: Display Clock met 'n pragtige animasie-ikoon Display Reminder-1 to Reminder-5 Display Calendar Display Moslem Gebedstye Weer Weerinligting Nuus Vertoon Advies Vertoon Bitcoin koers vertoon
Hoe om Max7219 8x8 Dot Matrix te gebruik met "skiiiD": 9 stappe
Hoe om Max7219 8x8 Dot Matrix te gebruik met "skiiiD": Dit is 'n video -instruksie van Max7219 8x8 Dot Matrix via "skiiiD" Voor aanvang, hieronder is 'n basiese handleiding vir die gebruik van skiiiDhttps: //www.instructables.com/id /Aan die gang-W
4 in 1 MAX7219 Dot Matrix Display Module Tutoriaal met behulp van Arduino UNO: 5 stappe
4 in 1 MAX7219 Dot Matrix Display Module Tutoriaal met behulp van Arduino UNO: Beskrywing: Is u op soek na 'n maklike LED matriks? Hierdie 4 in 1 Dot Matrix Display module behoort vir u geskik te wees. Die hele module kom in vier 8x8 ROOI gewone katodestippelmatriks wat elk toegerus is met MAX7219 IC. Fantasties om lopende teks te vertoon
6-as sensormodule FSP200 Kalibrasie en toetsing: 6 stappe
6-as sensormodule FSP200 Kalibrasie en toetsing: Die FSP200 is 'n 6-as traagheidseenheidsverwerker wat koers- en rigtinguitset lewer. Dit voer 'n samesmelting van versnellingsmeter en gyrosensors uit vir 'n stabiele en akkurate koers en rigting. Die FSP200 is geskik vir gebruik in robotiese