Innehållsförteckning:
- Tillbehör
- Steg 1: Kontrollera paketet
- Steg 2: Lite om denna speciella prickmatris
- Steg 3: MAX7219 -drivrutinen
- Steg 4: Kretsen
- Steg 5: Koden
- Steg 6: Utgången
Video: MAX7219 LED Dot Matrix Montering och testning: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
En Dot-Matrix Display är en displayenhet som innehåller ljusdioder som är inriktade i form av matris. Denna Dot-matrisdisplayer används i applikationer där symbol, grafik, tecken, alfabet, siffror måste visas tillsammans i statisk och Scrolling motion. Dot Matrix Display är tillverkad i olika dimensioner som 5x7, 8x8, 16x8, 128x16, 128x32 och 128x64 där siffrorna representerar lysdioder i rader och kolumner. Dessa displayer finns också i olika färger som rött, grönt, gult, blått, Orange, vit.
I denna instruktionsbok kommer jag att gå igenom gränssnitt mellan en 8x8 Dot Matrix som har en MAX7219 -drivrutin till en Arduino Uno. Låt oss komma igång.
Tillbehör
MAX7219
Steg 1: Kontrollera paketet
Som du kan se har jag en smt -version av förarkortet, det är mycket viktigt att verifiera alla komponenter som behövs eftersom smd -komponenterna är mycket små i storlek och du kan enkelt förlora dem. Det finns också dip -version tillgänglig online men jag använde smt -versionen för sin storlek.
Steg 2: Lite om denna speciella prickmatris
en enda modul kan driva en gemensam katod på 8x8 punkter.
Driftspänning: 5 v
Mått: längd 3,2 cm X 3,2 cm bred X 1,3 cm hög, hål med fyra skruvar, diametern 3 mm
Moduler med ingångs- och utgångsgränssnitt, stöd för att kaskadera flera moduler.
Data IN och OUT terminaler specificeras på modulen.
Steg 3: MAX7219 -drivrutinen
MAX7219 är en IC utformad för att styra en 8x8 LED MATRIX. IC: n är seriell ingång common-cathode (Common Negative) bildskärmsdrivrutiner som gränssnitt mikroprocessorer (eller mikrokontroller) till 7-segment numeriska LED-displayer med upp till 8 siffror, stapeldiagram eller 64 individuella lysdioder.
Funktioner och specifikationer
Driftspänningsområde: +4,0 till +5,5V
Rekommenderad driftsspänning: +5V
Maximal matningsspänning: 6V
Maximal ström tillåten att dra genom varje segmentstift: 100mA
Maximal tillåten ström genom varje DIGIT -jordstift: 500mA
Låg energiförbrukning
Data-till-segment fördröjningstid: 2,2 mSek
Drifttemperatur: 0 ° C till +70 ° C
Lagringstemperatur: -65 ° C till +150 ° C
Steg 4: Kretsen
Kretsen är ganska enkel och kan byggas med manliga till kvinnliga bygelkablar. Följ bara pinout och bygg kretsen. Du kan senare montera det på ett kretskort om du gör en permanent applikation för matrisen.
Stiftkonfigurationen är följande:
- Vcc till 5V Pin of Arduino.
- Gnd till Gnd Pin av Arduino.
- DIN till Digital Pin 12 på Arduino.
- CS till Digital Pin 11 på Arduino
- CLK till Digital Pin 10 på Arduino.
Steg 5: Koden
Här i denna instruktionsbok ger jag dig två olika koder. Man kommer att generera några engelska alfabet och smilies på Matrix. Den andra till kommer att lysa upp alla 64 lysdioder en efter en. Du måste använda lledcontrol -biblioteket för att få det att fungera.
Detta är koden för engelska alfabet och leenden
#include 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 åtta [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bytepunkt [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); // MAX72XX är i energisparläge vid start lc.setIntensity (0, 15); // Ställ in ljusstyrkan till maximivärdet lc.clearDisplay (0); // och rensa displayen} 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 rynka [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (leende); fördröjning (1000); printByte (neutral); fördröjning (1000); printByte (rynka pannan); fördröjning (1000); printEduc8s (); lc.clearDisplay (0); fördröjning (1000); } void printEduc8s () {printByte (e); fördröjning (1000); printByte (d); fördröjning (1000); printByte (u); fördröjning (1000); printByte (c); fördröjning (1000); printByte (åtta); fördröjning (1000); printByte (s); fördröjning (1000); printByte (punkt); fördröjning (1000); printByte (c); fördröjning (1000); printByte (o); fördröjning (1000); printByte (m); fördröjning (1000); } void printByte (byte tecken ) {int i = 0; för (i = 0; i <8; i ++) {lc.setRow (0, i, tecken ); }}
och koden för att testa alla 64 lysdioder
// Vi måste alltid inkludera biblioteket#inkludera "LedControl.h"
/*
Nu behöver vi en LedControl att arbeta med. ***** Dessa pin -nummer fungerar förmodligen inte med din maskinvara ***** pin 12 är ansluten till DataIn pin 10 är ansluten till CLK pin 11 är ansluten till LOAD Vi har bara en enda MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * vi väntar alltid lite mellan uppdateringar av displayen */
osignerad lång fördröjning = 100;
void setup () {
/ * MAX72XX är i energisparläge vid start, vi måste göra ett väckningssamtal */ lc.stängning (0, falskt); / * Ställ in ljusstyrkan till ett medelvärde */ lc.setIntensity (0, 8); / * och rensa displayen */ lc.clearDisplay (0); }
/*
Denna metod visar tecknen för ordet "Arduino" en efter en på matrisen. (du behöver minst 5x7 lysdioder för att se hela tecknen) */ void writeArduinoOnMatrix () {/ *här är data för tecknen */ 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};
/ * visa dem nu en efter en med en liten fördröjning */
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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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]); fördröjning (fördröjningstid); 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); fördröjning (fördröjningstid); }
/*
Denna funktion tänder några lysdioder i rad. Mönstret kommer att upprepas på varje rad. Mönstret blinkar tillsammans med radnumret. rad nummer 4 (index == 3) blinkar 4 gånger etc. */ ogiltiga rader () {för (int rad = 0; rad <8; rad ++) {fördröjning (fördröjningstid); lc.setRow (0, rad, B10100000); fördröjning (fördröjningstid); lc.setRow (0, rad, (byte) 0); för (int i = 0; i
/*
Denna funktion lyser upp några lysdioder i en kolumn. Mönstret kommer att upprepas på varje kolumn. Mönstret blinkar tillsammans med kolumnnumret. kolumn nummer 4 (index == 3) blinkar 4 gånger etc. */ void columns () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); fördröjning (fördröjningstid); lc.setColumn (0, col, (byte) 0); för (int i = 0; i
/*
Denna funktion lyser upp varje LED på matrisen. Lysdioden blinkar tillsammans med radnumret. rad nummer 4 (index == 3) blinkar 4 gånger etc. */ void enkel () {för (int rad = 0; rad <8; rad ++) {för (int col = 0; col <8; col ++) { fördröjning (fördröjningstid); lc.setLed (0, rad, kol, true); fördröjning (fördröjningstid); för (int i = 0; i
void loop () {
writeArduinoOnMatrix (); rader (); kolumner (); enda(); }
Steg 6: Utgången
Se hela videon här: -MAX7219 8x8 LED MATRIX MONTERING OCH TESTNING med hjälp av ARDUINO
Allt detta hårda arbete, lönar sig säkert ganska bra när du ser resultatet. Det är värt det !!
Prenumerera på min youtube-kanal: -Creative Stuff
Rekommenderad:
Dot Matrix 32x8 Max7219 Gränssnitt med Ardiuno: 5 steg (med bilder)
Dot Matrix 32x8 Max7219 Interfacing With Ardiuno: Hej alla, Dot Matrix baserat på Max7219 är inte nya 2020, förrän nyligen var installationsprocessen väl dokumenterad, man skulle ladda ner hårdvarubibliotek från MajicDesigns. och ändrade några rader i rubrikfilerna och FC16 fungerade som en charm. Detta var tills
6-axlig sensormodul FSP200 Kalibrering och testning: 6 steg
6-axlig sensormodul FSP200 Kalibrering och testning: FSP200 är en 6-axlig tröghetsmätningsenhet som ger kurs- och riktningsutmatning. Den utför en sammansmältning av accelerometer och gyrosensorer för stabil och exakt riktning och riktning. FSP200 är lämplig för användning i robotpr
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
SMS Monitor -- Dot Matrix Display -- MAX7219 -- SIM800L: 8 steg (med bilder)
SMS Monitor || Dot Matrix Display || MAX7219 || SIM800L: I den här videon lär du dig hur du använder en GSM -modul, prickmatrisdisplay och hur du visar rullande text på den. Efter det kommer vi att kombinera dem tillsammans för att visa meddelanden som tas emot över ett GSM -SIM till en punktmatrisdisplay. Det är ganska enkelt och du
Brainwave Computer Interface Prototype TGAM Starter Kit Lödning och testning: 7 steg (med bilder)
Brainwave Computer Interface Prototype TGAM Starter Kit Lödning och testning: Det senaste århundradet av neurovetenskaplig forskning har kraftigt ökat vår kunskap om hjärnan och särskilt de elektriska signalerna som avges av neuroner som skjuter i hjärnan. Mönstren och frekvenserna för dessa elektriska signaler kan mätas