Sadržaj:
- Pribor
- Korak 1: Provjerite paket
- Korak 2: Malo o ovoj posebnoj matrici točaka
- Korak 3: Upravljački program MAX7219
- Korak 4: Krug
- Korak 5: Kôd
- Korak 6: Izlaz
Video: MAX7219 LED matrična montaža i testiranje: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Matrični zaslon s prikazom je uređaj za prikaz koji sadrži svjetlosne diode poravnate u obliku matrice. Ovi se matrični zasloni koriste u aplikacijama gdje se simbol, grafika, znakovi, abecede, brojke moraju prikazati zajedno u statičkom i Pomicanje. Dotični matrični zaslon proizvodi se u različitim dimenzijama poput 5x7, 8x8, 16x8, 128x16, 128x32 i 128x64, gdje brojevi predstavljaju LED diode u redovima i stupcima. Također, ovi zasloni dolaze u različitim bojama, kao što su crvena, zelena, žuta, plava, Narančasta, bijela.
U ovom Instructableu proći ću kroz povezivanje 8x8 Dot Matrix -a koji ima MAX7219 upravljački program s Arduino Uno. Počnimo.
Pribor
MAX7219
Korak 1: Provjerite paket
Kao što vidite da imam smt verziju upravljačke ploče, vrlo je važno provjeriti svaku komponentu koja je potrebna jer su smd komponente vrlo male veličine i lako ih možete izgubiti. Na internetu su dostupne i dip verzije, ali ja sam koristio smt verzija za svoju veličinu.
Korak 2: Malo o ovoj posebnoj matrici točaka
jedan modul može pokretati zajedničku katodu matrice 8x8.
Radni napon: 5 v
Dimenzije: duljina 3,2 cm X 3,2 cm širine X 1,3 cm visine, rupe s četiri vijka, promjera 3 mm
Moduli s ulaznim i izlaznim sučeljima, podrška za kaskadno postavljanje više modula.
Terminali Data IN i OUT navedeni su na modulu.
Korak 3: Upravljački program MAX7219
MAX7219 je IC dizajniran za upravljanje 8x8 LED MATRIX -om. IC je serijski ulazni upravljački program za prikaz sa zajedničkom katodom (zajednički negativni) koji povezuje mikroprocesore (ili mikrokontroler) sa 7-segmentnim numeričkim LED zaslonima do 8 znamenki, prikazima s grafikonima ili 64 pojedinačne LED diode.
Značajke i specifikacije
Raspon radnog napona: +4,0 do +5,5V
Preporučeni radni napon: +5V
Maksimalni napon napajanja: 6V
Maksimalna dopuštena struja kroz svaki segmentni pin: 100mA
Maksimalna dopuštena struja kroz svaki DIGIT uzemljivač: 500mA
Mala potrošnja energije
Vrijeme kašnjenja podataka u segment: 2,2 mSec
Radna temperatura: 0 ° C do +70 ° C
Temperatura skladištenja: -65 ° C do +150 ° C
Korak 4: Krug
Krug je vrlo jednostavan i može se izgraditi pomoću muških žica kratkospojnika. Samo slijedite pinout i izgradite krug. Kasnije ga možete sastaviti na PCB -u ako podnosite trajnu aplikaciju za Matrix.
Konfiguracija pina je sljedeća:
- Vcc na 5V Pin Arduina.
- Gnd to Gnd Pin Arduina.
- DIN na digitalni pin 12 Arduina.
- CS na digitalni pin 11 Arduina
- CLK do digitalnog pina 10 Arduina.
Korak 5: Kôd
Ovdje u ovom Instructableu pružit ću vam dva različita koda. Jedan će generirati neke engleske abecede i smajliće na Matrixu. Drugi će upaliti svih 64 LED dioda koje se pale jedna po jedna. Morate koristiti knjižnicu lledcontrol da bi funkcionirala.
Ovo je kod za engleske abecede i osmijehe
#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}; bajt osam [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bajt s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bajtna točka [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 u načinu rada za uštedu energije pri pokretanju lc.setIntensity (0, 15); // Postavite svjetlinu na maksimalnu vrijednost lc.clearDisplay (0); // i očisti prikaz} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; bajt neutralno [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bajt namršten [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (osmijeh); kašnjenje (1000); printByte (neutralno); kašnjenje (1000); printByte (mršti se); kašnjenje (1000); printEduc8s (); lc.clearDisplay (0); kašnjenje (1000); } void printEduc8s () {printByte (e); kašnjenje (1000); printByte (d); kašnjenje (1000); printByte (u); kašnjenje (1000); printByte (c); kašnjenje (1000); printByte (osam); kašnjenje (1000); printByte (s); kašnjenje (1000); printByte (točka); kašnjenje (1000); printByte (c); kašnjenje (1000); printByte (o); kašnjenje (1000); printByte (m); kašnjenje (1000); } void printByte (znak bajta ) {int i = 0; za (i = 0; i <8; i ++) {lc.setRow (0, i, znak ); }}
i kôd za testiranje svih 64 LED diode
// Uvijek moramo uključiti biblioteku#include "LedControl.h"
/*
Sada nam je potreban LedControl za rad. ***** Ovi pin brojevi vjerojatno neće raditi s vašim hardverom ***** pin 12 je spojen na DataIn pin 10 je spojen na CLK pin 11 je spojen na LOAD Imamo samo jedan MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * uvijek čekamo malo između ažuriranja zaslona */
nepotpisano dugo kašnjenje = 100;
void setup () {
/ * MAX72XX je u načinu rada za uštedu energije pri pokretanju, moramo obaviti poziv za buđenje */ lc.shutdown (0, false); / * Postavite svjetlinu na srednje vrijednosti */ lc.setIntensity (0, 8); / * i očistite zaslon */ lc.clearDisplay (0); }
/*
Ova metoda će prikazati znakove za riječ "Arduino" jedan za drugim na matrici. (trebate najmanje 5x7 LED dioda da biste vidjeli cijele znakove) */ void writeArduinoOnMatrix () {/ *evo podataka za znakove */ 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};
/ * sada ih prikažite jedan po jedan s malim kašnjenjem */
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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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]); odgoda (vrijeme odgode); 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); odgoda (vrijeme odgode); }
/*
Ova funkcija osvjetljava neke LED diode u nizu. Uzorak će se ponavljati u svakom retku. Uzorak će treptati zajedno s brojem retka. red broj 4 (indeks == 3) trepnut će 4 puta itd. */ void rows () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, red, B10100000); odgoda (vrijeme odgode); lc.setRow (0, red, (bajt) 0); za (int i = 0; i
/*
Ova funkcija osvjetljava neke LED diode u stupcu. Uzorak će se ponavljati u svakom stupcu. Uzorak će treptati zajedno s brojem stupca. stupac broj 4 (indeks == 3) trepnut će 4 puta itd. */ void columns () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); odgoda (vrijeme odgode); lc.setColumn (0, col, (bajt) 0); za (int i = 0; i
/*
Ova funkcija svijetlit će svaki LED na matrici. LED dioda će treptati zajedno s brojem retka. red broj 4 (indeks == 3) trepnut će 4 puta itd. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { kašnjenje (delaytime); lc.setLed (0, red, col, true); odgoda (vrijeme odgode); za (int i = 0; i
void loop () {{100} {101}
writeArduinoOnMatrix (); retci (); stupci (); singl(); }
Korak 6: Izlaz
Cijeli video pogledajte ovdje: -MAX7219 8x8 LED MATRIX MONTIRANJE I TESTIRANJE pomoću ARDUINO-a
Pa sav ovaj naporan rad, zasigurno se dobro isplati kad vidite rezultat. Vrijedno je toga !!
Pretplatite se na moj youtube kanal: -Kreativne stvari
Preporučeni:
Matrična lampa s omogućenim WiFi -em: 6 koraka (sa slikama)
Matrična lampa s omogućenim WiFi -em: Tko ne želi imati zadivljujuću svjetiljku koja može prikazivati animacije i sinkronizirati se s drugim svjetiljkama u kući? U redu, nitko. Zato sam napravio prilagođenu RGB lampu. Svjetiljka se sastoji od 256 LED adresa koje se mogu pojedinačno adresirati, a sve LED diode se mogu
Matrična točka 32x8 Max7219 Sučelje s Ardiunom: 5 koraka (sa slikama)
Dot Matrix 32x8 Max7219 U sučelju s Ardiunom: Pozdrav svima, Dot Matrix baziran na Max7219 nije nov u 2020., donedavno je postupak postavljanja bio dobro dokumentiran, bilo bi potrebno preuzeti hardversku biblioteku iz MajicDesigns. i promijenio nekoliko redaka u datotekama zaglavlja, a FC16 je radio poput šarma. Ovo je bilo do
Matrična točka; 8x8 s porukom ili slikama: 4 koraka
Dot Matrix; 8x8 s porukom ili slikama: Ovaj Instructable će vam prikazati Dot matrix slike koje sam napravio s Dot Matrix 8x8..Molimo vas da pogledate uključene video zapise i programe. Matrica točaka je dvodimenzionalni zaslon. Sastoji se od 8 stupaca i 8 redaka. Ako pomno pogledate
Sučelje LED matrična točka (8x8) s NodeMCU: 6 koraka (sa slikama)
Sučelje LED matrične točke (8x8) S NodeMCU -om: Pozdrav tvorci, ja sam s još jednim jednostavnim i cool Instructable -om. U ovom Instructable -u ćemo naučiti kako sučeliti LED Dot Matrix (8x8) s NodeMCU -om. Dakle, počnimo
Vremenska/matrična svjetiljka: 42 koraka (sa slikama)
Weather/Matrix Lamp: U ovom Instructable opisujem dizajn, konstrukciju i programiranje LED matrične lampe. Dizajn nalikuje običnoj svjetiljci, no unutrašnjost je zamijenjena matricom LED dioda ws2812. Kontrola se vrši pomoću Raspberry Pi, pa se t