Sadržaj:
- Supplies
- Korak 1: Provjerite paket
- Korak 2: Malo o ovoj posebnoj matrici tač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 izmjena: 2024-01-30 08:06
Dot-Matrix Display je uređaj za prikaz koji sadrži svjetlosne diode poravnate u obliku matrice. Ovi matrični ekrani se koriste u aplikacijama gdje se simbol, grafika, znakovi, abecede, brojevi moraju prikazati zajedno u statičkom i Pomicanje. Dotički matrični ekran proizvodi se u različitim dimenzijama poput 5x7, 8x8, 16x8, 128x16, 128x32 i 128x64, gdje brojevi predstavljaju LED diode u redovima i kolonama. Također, ovi ekrani dolaze u različitim bojama, poput crvene, zelene, žute, plave, Narandžasta, bela.
U ovom Instructable -u ću proći kroz povezivanje 8x8 Dot Matrix -a koji ima MAX7219 upravljački program sa Arduino Uno. Počnimo.
Supplies
MAX7219
Korak 1: Provjerite paket
Kao što vidite da imam smt verziju ploče s upravljačkim programima, vrlo je važno provjeriti svaku komponentu koja je potrebna jer su smd komponente vrlo male veličine i lako ih možete izgubiti. Postoje i dip verzije dostupne na internetu, ali ja sam koristio smt verzija za svoju veličinu.
Korak 2: Malo o ovoj posebnoj matrici tačaka
jedan modul može pokretati zajedničku katodu matrice 8x8 tačaka.
Radni napon: 5 v
Dimenzije: dužina 3,2 cm X 3,2 cm širina X 1,3 cm visina, rupe sa četiri vijka, promjera 3 mm
Moduli sa ulaznim i izlaznim interfejsima, podrška za kaskadno postavljanje više modula.
Terminali Data IN i OUT su navedeni 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 ekranima do 8 znamenki, prikazima na grafikonu ili 64 pojedinačne LED diode.
Karakteristike i specifikacije
Opseg radnog napona: +4,0 do +5,5V
Preporučeni radni napon: +5V
Maksimalni napon napajanja: 6V
Maksimalna dozvoljena struja kroz svaki segmentni pin: 100mA
Maksimalna dozvoljena struja preko svakog DIGIT uzemljenja: 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 napravite krug. Kasnije ga možete sastaviti na PCB -u ako podnosite trajnu aplikaciju za Matrix.
Pin konfiguracija 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 uputstvu dat ć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 biblioteku lledcontrol da bi funkcionirala.
Ovo je kôd za engleska pisma 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 tač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 brisanje prikaza} 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 (tač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 brojevi pinova 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 ekrana */
nepotpisano dugo kašnjenje = 100;
void setup () {
/ * MAX72XX je u načinu rada za uštedu energije pri pokretanju, moramo obaviti buđenje */ lc.shutdown (0, false); / * Postavite svjetlinu na srednje vrijednosti */ lc.setIntensity (0, 8); / * i obrišite ekran */ lc.clearDisplay (0); }
/*
Ova metoda će prikazati znakove za riječ "Arduino" jedan za drugim na matrici. (potrebno vam je najmanje 5x7 LED dioda da vidite cijele znakove) */ void writeArduinoOnMatrix () {/ *ovdje su podaci za znakove */ bajt 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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]); kašnjenje (vrijeme kašnjenja); 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); kašnjenje (vrijeme kašnjenja); }
/*
Ova funkcija osvjetljava neke LED diode u nizu. Uzorak će se ponavljati u svakom redu. Uzorak će treptati zajedno s brojem retka. red broj 4 (indeks == 3) će treptati 4 puta itd. */ void rows () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, red, B10100000); kašnjenje (vrijeme kašnjenja); lc.setRow (0, red, (bajt) 0); za (int i = 0; i
/*
Ova funkcija osvjetljava neke LED diode u koloni. Uzorak će se ponavljati u svakoj koloni. Uzorak će treptati zajedno sa brojem kolone. stupac broj 4 (indeks == 3) će treptati 4 puta itd. */ void kolone () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); kašnjenje (vrijeme kašnjenja); lc.setColumn (0, col, (bajt) 0); za (int i = 0; i
/*
Ova funkcija će zasvijetliti svaki LED na matrici. LED dioda će treptati zajedno sa brojem reda. red broj 4 (indeks == 3) će treptati 4 puta itd. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { kašnjenje (vrijeme kašnjenja); lc.setLed (0, red, col, true); kašnjenje (vrijeme kašnjenja); za (int i = 0; i
void loop () {{100} {101}
writeArduinoOnMatrix (); redovi (); kolone (); single (); }
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. Vrijedi !!
Pretplatite se na moj youtube kanal: -Kreativne stvari
Preporučuje se:
Matrična lampa sa omogućenim WiFi -om: 6 koraka (sa slikama)
Matrična lampa sa omogućenim WiFi -om: Ko ne želi imati zapanjujuću lampu koja može prikazivati animacije i sinhronizovati je sa drugim lampama u kući? Tačno, niko. Zato sam napravio prilagođenu RGB lampu. Svjetiljka se sastoji od 256 pojedinačno adresiranih LED dioda i sve LED diode se mogu
Matrična tačka 32x8 Max7219 Povezivanje sa Ardiunom: 5 koraka (sa slikama)
Dot Matrix 32x8 Max7219 Povezivanje sa Ardiunom: Zdravo svima, Dot Matrix baziran na Max7219 nisu novi u 2020. godini, do nedavno je proces postavljanja bio dobro dokumentovan, trebalo bi preuzeti hardversku biblioteku iz MajicDesigns. i promijenio nekoliko redaka u datotekama zaglavlja, a FC16 je radio kao šarm. Ovo je bilo do
Matrična tačka; 8x8 sa porukom ili slikama: 4 koraka
Dot Matrix; 8x8 sa porukom ili slikama: Ovaj Instructable će vam prikazati Dot matrix slike koje sam napravio sa Dot Matrix 8x8..Molimo vas da pogledate uključene video zapise i programe. Matrica tačaka je dvodimenzionalni ekran. Sastoji se od 8 kolona i 8 redova. Ako pažljivo pogledate
Interfejs LED matrična tačka (8x8) sa NodeMCU: 6 koraka (sa slikama)
Interfejs LED matrica tačaka (8x8) Sa NodeMCU: Zdravo Makers, ja sam sa još jednim jednostavnim i kul Instructable. U ovom Instructable ćemo naučiti kako da povežemo LED Dot Matrix (8x8) sa NodeMCU. Dakle, počnimo
Vremenska/matrična lampa: 42 koraka (sa slikama)
Vremenska/matrična lampa: U ovom uputstvu opisujem dizajn, konstrukciju i programiranje LED matrične lampe. Dizajn podsjeća na običnu svjetiljku, ali unutrašnjost je zamijenjena matricom LED -a ws2812. Kontrola se vrši pomoću Raspberry Pi -ja, pa se t