Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Sprawdź pakiet
- Krok 2: Trochę o tej konkretnej matrycy punktowej
- Krok 3: Sterownik MAX7219
- Krok 4: Obwód
- Krok 5: Kodeks
- Krok 6: Wynik
Wideo: Montaż i testowanie matrycy punktowej LED MAX7219: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Wyświetlacz z matrycą punktową to urządzenie wyświetlające, które zawiera diody elektroluminescencyjne ustawione w formie matrycy. Te wyświetlacze z matrycą punktową są używane w aplikacjach, w których symbole, grafika, znaki, alfabety, cyfry muszą być wyświetlane razem zarówno statycznie, jak i Ruch przewijania. Wyświetlacz Dot Matrix jest produkowany w różnych wymiarach, takich jak 5x7, 8x8, 16x8, 128x16, 128x32 i 128x64, gdzie liczby reprezentują diody LED w rzędach i kolumnach. Również te wyświetlacze są dostępne w różnych kolorach, takich jak czerwony, zielony, żółty, niebieski, Pomarańczowy, Biały.
W tej instrukcji przejdę przez połączenie matrycy punktowej 8x8, która ma sterownik MAX7219 z Arduino Uno. Zacznijmy.
Kieszonkowe dzieci
MAX7219
Krok 1: Sprawdź pakiet
Jak widać, mam wersję smt płyty sterownika, bardzo ważne jest, aby zweryfikować każdy potrzebny komponent, ponieważ komponenty smd są bardzo małe i można je łatwo zgubić. Dostępne są również wersje dip, ale użyłem wersja smt ze względu na swój rozmiar.
Krok 2: Trochę o tej konkretnej matrycy punktowej
pojedynczy moduł może sterować wspólną katodą 8x8 z matrycą punktową.
Napięcie robocze: 5 v
Wymiary: długość 3,2 cm X 3,2 cm szerokość X 1,3 cm wysokość, otwory na cztery śruby, średnica 3 mm
Moduły z interfejsami wejściowymi i wyjściowymi, obsługa kaskadowania wielu modułów.
Zaciski danych IN i OUT są określone w module.
Krok 3: Sterownik MAX7219
MAX7219 to układ scalony przeznaczony do sterowania matrycą LED 8x8. Układ scalony to sterowniki wyświetlacza z wejściem szeregowym ze wspólną katodą (Common Negative), które łączą mikroprocesory (lub mikrokontroler) z 7-segmentowymi numerycznymi wyświetlaczami LED o maksymalnie 8 cyfrach, wyświetlaczami słupkowymi lub 64 pojedynczymi diodami LED.
Funkcje i specyfikacje
Zakres napięcia roboczego: +4,0 do +5,5V
Zalecane napięcie robocze: +5V
Maksymalne napięcie zasilania: 6V
Maksymalny prąd dozwolony przez każdy pin segmentowy: 100mA
Maksymalny prąd, jaki może przepływać przez każdy pin uziemiający DIGIT: 500mA
Niski pobór mocy
Czas opóźnienia transmisji danych do segmentu: 2,2 mSec
Temperatura pracy: 0°C do +70°C
Temperatura przechowywania: od -65°C do +150°C
Krok 4: Obwód
Obwód jest dość prosty i można go zbudować za pomocą przewodów połączeniowych męskich i żeńskich. Po prostu podążaj za pinoutem i zbuduj obwód. Możesz później zmontować go na płytce drukowanej, jeśli robisz stałą aplikację dla Matrix.
Konfiguracja pinów jest następująca:
- Pin Vcc do 5 V Arduino.
- Gnd do Gnd Pin Arduino.
- DIN do cyfrowego pinu 12 Arduino.
- CS na cyfrowy pin 11 Arduino
- CLK do cyfrowego pinu 10 Arduino.
Krok 5: Kodeks
Tutaj w tej instrukcji podam dwa różne kody. Jeden wygeneruje kilka angielskich alfabetów i emotikonów w Matrixie. Drugi sprawi, że wszystkie 64 diody LED zapalą się jedna po drugiej. Aby to zadziałało, musisz użyć biblioteki lledcontrol.
To jest kod dla angielskich alfabetów i uśmiechów
#zawiera int DIN = 12; wewn CS = 11; wewn 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 ósmy[8]= {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bajt s[8]= {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; kropka bajtu[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, fałsz); // MAX72XX jest w trybie oszczędzania energii podczas uruchamiania lc.setIntensity(0, 15); // Ustaw jasność na maksymalną wartość lc.clearDisplay(0); // i wyczyść wyświetlacz } void loop(){ byte smile[8]= {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; neutralny bajt[8]= {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bajt marszczy brwi[8]= {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte(uśmiech); opóźnienie (1000); printByte(neutralny); opóźnienie (1000); printByte(marszczy brwi); opóźnienie (1000); printEduc8s(); lc.clearWyświetlacz(0); opóźnienie (1000); } void printEduc8s() { printByte(e); opóźnienie (1000); printByte(d); opóźnienie (1000); printByte(u); opóźnienie (1000); printByte(c); opóźnienie (1000); printByte(osiem); opóźnienie (1000); printByte(ów); opóźnienie (1000); printByte(kropka); opóźnienie (1000); printByte(c); opóźnienie (1000); printByte(o); opóźnienie (1000); printByte(m); opóźnienie (1000); } void printByte(znak bajtu ) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0, i, znak); } }
oraz kod do testowania wszystkich 64 diod LED
//Zawsze musimy dołączyć bibliotekę#include "LedControl.h"
/*
Teraz potrzebujemy LedControl do pracy. ***** Te numery pinów prawdopodobnie nie będą działać z twoim sprzętem ***** pin 12 jest podłączony do DataIn pin 10 jest podłączony do CLK pin 11 jest podłączony do LOAD Mamy tylko jeden MAX72XX. */ LedControl lc=LedControl(12, 11, 10, 1);
/* zawsze trochę czekamy między aktualizacjami wyświetlacza */
bez znaku długi czas opóźnienia=100;
pusta konfiguracja () {
/* MAX72XX jest w trybie oszczędzania energii podczas uruchamiania, musimy wykonać budzenie */ lc.shutdown(0, false); /* Ustaw jasność na średnie wartości */ lc.setIntensity(0, 8); /* i wyczyść wyświetlacz */ lc.clearDisplay(0); }
/*
Ta metoda wyświetla jeden po drugim znaki słowa „Arduino” na matrycy. (potrzebujesz co najmniej 5x7 ledów, aby zobaczyć całe znaki) */ void writeArduinoOnMatrix() { /* tutaj są dane dla znaków */ 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, B0000010, B00000000}; bajt n[5]={B00111110, B00010000, B00100000, B00100000, B00011110}; bajt o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};
/* teraz wyświetlaj je jeden po drugim z małym opóźnieniem */
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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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]); opóźnienie (czas opóźnienia); 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); opóźnienie (czas opóźnienia); }
/*
Ta funkcja zapala kilka diod z rzędu. Wzór będzie powtarzany w każdym rzędzie. Wzór będzie migać wraz z numerem wiersza. wiersz numer 4 (indeks==3) mignie 4 razy itd. */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, wiersz, B10100000); opóźnienie (czas opóźnienia); lc.setRow(0, wiersz, (bajt)0); for(int i=0;i
/*
Ta funkcja zapala kilka diod w kolumnie. Wzór będzie się powtarzał w każdej kolumnie. Wzór będzie migał wraz z numerem kolumny. kolumna numer 4 (indeks==3) mignie 4 razy itd. */ void column() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, kolumna, B10100000); opóźnienie (czas opóźnienia); lc.setColumn(0, kolumna, (bajt)0); for(int i=0;i
/*
Ta funkcja zaświeci każdą diodę LED na matrycy. Dioda będzie migać wraz z numerem rzędu. wiersz numer 4 (indeks==3) mignie 4 razy itd. */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { opóźnienie (czas opóźnienia); lc.setLed(0, wiersz, kolumna, prawda); opóźnienie (czas opóźnienia); for(int i=0;i
pusta pętla () {
writeArduinoOnMatrix(); wydziwianie(); kolumny(); pojedynczy(); }
Krok 6: Wynik
Zobacz pełny film tutaj:-MAX7219 8x8 LED MATRIX MONTAŻ I TESTOWANIE Z ARDUINO
Cóż, cała ta ciężka praca na pewno dobrze się opłaca, gdy zobaczysz wynik. To jest tego warte !!
Subskrybuj mój kanał na youtube:-Creative Stuff
Zalecana:
Jak korzystać z matrycy punktowej Max7219 8x8 z „skiiiD”: 9 kroków
Jak korzystać z matrycy punktowej Max7219 8x8 z „skiiiD”: To jest instrukcja wideo dotycząca matrycy punktowej Max7219 8x8 za pośrednictwem „skiiiD” Przed rozpoczęciem poniżej znajduje się podstawowy samouczek dotyczący korzystania z funkcji skiiiDhttps://www.instructables.com/id /Wprowadzenie-W
Testowanie czujników temperatury – który dla mnie?: 15 kroków (ze zdjęciami)
Testowanie czujników temperatury - który dla mnie?: Jednym z pierwszych czujników, które nowicjusze w dziedzinie komputerów fizycznych chcą wypróbować, jest urządzenie do pomiaru temperatury. Cztery z najpopularniejszych czujników to TMP36, który ma wyjście analogowe i wymaga przetwornika analogowo-cyfrowego, DS18B20, który
Budowa zgrzewarki punktowej z transformatora kuchenki mikrofalowej: 7 kroków (ze zdjęciami)
Budowa zgrzewarki punktowej z transformatora kuchenki mikrofalowej: W tym projekcie tworzę samodzielną zgrzewarkę punktową, która będzie wykorzystywana do budowy akumulatorów z 18650 ogniwami litowo-jonowymi. Mam też profesjonalną zgrzewarkę punktową, model Sunkko 737G, która kosztuje około 100 USD, ale z radością mogę powiedzieć, że moja zgrzewarka punktowa do majsterkowania
Brainwave Computer Interface Prototypowy zestaw startowy TGAM Lutowanie i testowanie: 7 kroków (ze zdjęciami)
Brainwave Computer Interface Prototypowy zestaw startowy TGAM Lutowanie i testowanie: Ostatnie stulecie badań neurologicznych znacznie poszerzyło naszą wiedzę o mózgu, a zwłaszcza o sygnałach elektrycznych emitowanych przez neurony w mózgu. Wzory i częstotliwości tych sygnałów elektrycznych można zmierzyć
Testowanie i naprawa sznurka szpadowego: 9 kroków (ze zdjęciami)
Testowanie i naprawa sznurka szpadowego: W sporcie nowoczesnej szermierki w stylu olimpijskim punktacja odbywa się elektrycznie. Aby sygnał elektryczny dotarł z twojej broni do automatu punktującego, sygnał musi przejść: przez przewód w twojej broni (z wyjątkiem szabli) w górę rękawa i w dół