Ja chcę się pobawić ze sterowaniem wyświetlaczem macierzowym LED 8x8. Takie zestawy na ebay kosztują niecałe 2 $, więc są bardzo tanie. Buduję go samemu, ale teraz myślę, że lepiej kupić sobie taki zestaw, niż budować go od zera.
![]() |
| układ z ebay.com |
Podłączenie
Układ MAX7219 umożliwia sterowanie 7-segmentowymi wyświetlaczami LED o wspólnej katodzie przy pomocy mikrokontrolera i obsługuje aż do 8 cyfr, bądź umożliwia sterowanie 64 niezależnymi diodami LED. Nota katalogowa układu znajduje się tutaj.![]() |
| Konfiguracja pinów |
![]() |
| Schemat podłączeń |
Wyświetlacz, jaki używałem to wyświetlacz macierzowy LED, którego nota katalogowa znajduje się tutaj. Poniżej przedstawiam, jak należy podłączyć wyświetlacz do MAX7219 (oznaczenie nóżek jest z tyłu wyświetlacza). Podłączając inny wyświetlacz należy pamiętać o tym, że piny DIG0-DIG7 podłączamy do katod, a DP, SEG A- SEG G do anod wyświetlacza.
![]() | |
| Konfiguracja pinów wyświetlacza wraz z podłączeniem do układu MAX7219 |
Oprogramowanie
Do wyświetlania tekstu na wyświetlaczu używałem biblioteki MAX72xxPanel, która wykorzystuje bibliotekę GFX z Adafruit. Biblioteki te umożliwiają wyświetlanie i operacje na tekście, a także wyświetlanie prostych obiektów graficznych. Po uruchomieniu biblioteki GFX zauważyłem, że litery wyświetlają się w odbiciu lustrzanym. Wydaje mi się, ze wynika to z różnicy w fizycznej konfiguracji wyświetlaczy sprzedawanych przez Adafruit. Poradziłem sobie z tym w ten sposób, że zmieniłem kolejność rotacji bitów przy operacjach na tekście w funkcji DrawChar, to znaczy w pliku Adafruit_GFX.cpp odszukujemy funkcję DrawChar i zamieniamy następujące wiersze:
for (int8_t j = 0; j<8; j++) {
if (line & 0x1) {
if (line & 0x1) {
na
for (int8_t j = 0; j<8; j++) {
if (line & 0x80) {
if (line & 0x80) {
oraz na dole funkcji
line >>= 1;
na
line <<= 1;
A oto efekt mojej pracy:
Tutaj jest link do strony angielskiej.
Powodzenia




Witam,
OdpowiedzUsuńja na aliexpress kupiłem 4 segmenty 8x8 - więcej radości - https://www.aliexpress.com/item/MAX7219-Dot-Matrix-Module-For-Arduino-Microcontroller-4-In-One-Display-with-5P-Line/32618155357.html?spm=2114.13010608.0.0.RIwWb4
Ten układ 7219 jest rzeczywiście świetny bo fajnie się za jego pomocą steruje tym wyświetlaczem. Tylko jedno pytanie - piszesz, żeby nie zasilać z arduino większej ilości ale ja podłączyłem to normalnie do płytki arduino i ciągnie. Zarówno kiedy zasilam go przez USB jak i z baterii 9V. Jakie tu mamy ryzyko? Za duży będzie prąd i coś gdzieś upali?
No ale dzięki za cynk o bibliotece. Ja używałem LedControl ale ma mniejsze możliwości niż ta o której wspominałeś bo ona pozawala zapalić/zgasić pojedynczy punkt albo wysłać od razu całą linijkę naraz (bo to w sumie jest 8 bitów - 1 bajt). Nie ma tam wyswietlania tekstu, trzeba sobie samemu przygotować tablicę ze znakami.
OdpowiedzUsuńTen komentarz został usunięty przez administratora bloga.
OdpowiedzUsuń