Spisu treści:

Wyświetlacz matrycowy 8x8 z BT: 5 kroków (ze zdjęciami)
Wyświetlacz matrycowy 8x8 z BT: 5 kroków (ze zdjęciami)

Wideo: Wyświetlacz matrycowy 8x8 z BT: 5 kroków (ze zdjęciami)

Wideo: Wyświetlacz matrycowy 8x8 z BT: 5 kroków (ze zdjęciami)
Wideo: Grzegorz opanował wyświetlacz 8x8 diod oparty o układ MAX7219 2024, Lipiec
Anonim

Kupiłem 4 panelową matrycę 8x8 z Ebay (Chiny) kilka miesięcy temu.

Byłem trochę rozczarowany, kiedy zdałem sobie sprawę, że jest to twarde połączenie na boki, a nie od góry do dołu, na które napisano większość przykładów w sieci! Zobacz krok 2.

Chyba mogłem zmodyfikować kod (nie wiem jak), ale moje zwykłe lenistwo kazało mi poszukać czegoś już napisanego. Natknąłem się na przykład i utknąłem!

Bawiłem się stałymi wiadomościami, ale potem zdecydowałem, że spróbuję zaprogramować wiadomość przez Bluetooth.

Potem chciałem zapisywać i pobierać wiadomości!

Było wiele prób i błędów, ale po kilku godzinach kodowania udało mi się uruchomić.

Wciąż staram się znaleźć dla niego praktyczne zastosowanie !!:-)

Krok 1: Wyświetlacz

Wyświetlacz
Wyświetlacz
Wyświetlacz
Wyświetlacz

Jak wcześniej wspomniano, wyświetlacz jest podłączony od lewej do prawej, a nie od góry do dołu.

Jestem pewien, że inny kod mógł zostać zmodyfikowany, aby to zrekompensować!

Nie pamiętam skąd pobrałem działający kod, jednak może pomóc wyszukanie "cosmicvoid matrix lub LedControlMS.h". Dla tego projektu wymagana jest biblioteka LedControlMS.h.

Jedyną częścią tego kodu, którą zmodyfikowałem, była liczba wyświetlaczy, która wygląda na to, że była ustawiona na 5, właśnie zmieniłem ją na 4.

Zamówiłem inny wyświetlacz x4, więc mogę zobaczyć, jak działa z 8 matrycami zamiast 4!

Krok 2: Bit Bluetooth

Bit Bluetooth
Bit Bluetooth

Za każdym razem, gdy gram z urządzeniem Bluetooth, zawsze odnoszę się do tej doskonałej instrukcji!

www.instructables.com/id/Modify-The-HC-05-B…

Ta instrukcja powie Ci wszystko, co musisz wiedzieć, jak skonfigurować i sparować HC-05 z telefonem komórkowym lub tabletem.

Sparowałem się z Samsung Galaxy 6 Edge i Tab A bez problemu.

Zmieniłem prędkość komunikacji na 57600.

Krok 3: Komunikacja BT i Program

Komunikacja BT i Program
Komunikacja BT i Program

Aby skomunikować się z HC-05 pobrałem darmową aplikację ze Sklepu Play, jest tam kilka dostępnych, - ten, który wybrałem, nazywa się Terminal Bluetooth HC-05 - to doskonała aplikacja!

Po sparowaniu HC-05 z telefonem lub tabletem wystąpią następujące zdarzenia.

Po zresetowaniu arduino program odczytuje wszystkie wiadomości zapisane w EEPROM i wyświetla je na telefonie/tablecie - patrz zdjęcie.

Wyświetlane informacje to lokalizacja Mem (0-9), długość wiadomości i sama wiadomość w każdej lokalizacji.

Zaaranżowałem kod do przechowywania wiadomości o długości do 90 znaków pod adresem 5 dla Msg 0, 105 dla Msg 1 …….905 dla Msg 9.

Adres 0, 100 …. 900 zawiera długość wiadomości.

Wyświetlana jest ostatnia zapisana/odebrana wiadomość.

Wysłanie czegokolwiek do Arduino przez BT zastępuje obecną wiadomość.

Aby zapisać wyświetlaną wiadomość (użyj tyldy „~”), wyślij ~0, aby zapisać w lokalizacji 0, ~5, aby zapisać w lokalizacji 5 itd.

Aby pobrać i wyświetlić zapisaną wiadomość, użyj "^" (karat), np. ^3 załaduje i wyświetli wiadomość w lokalizacji Mem 3.

Gdy komunikat jest przechowywany lub pobierany, bieżąca lokalizacja pamięci jest przechowywana pod adresem EEPROM 1023 - jest to używane po włączeniu zasilania do wyświetlenia ostatniego wyświetlanego komunikatu.

Krok 4: Kodeks i moc

Jak zwykle mój kod jest schludny jak sypialnia nastolatków, ale mam tam wiele komentarzy!

Może być trochę zbędnego kodu, ponieważ było trochę prób i błędów.

Procedura wyświetlania wyświetli to, co znajduje się w tablicy msg. Czcionka nie jest kompletna, więc wyświetlenie niektórych znaków spowoduje nieprzewidywalne rezultaty!

Jeśli ktoś mógłby mi powiedzieć, jak zmienić znak $ na znak £ lub jeszcze lepiej go dodać, byłbym bardzo wdzięczny

Może być konieczne zakodowanie wiadomości w lokalizacji 0 tylko po to, aby podać punkt początkowy, który może zostać nadpisany, gdy program jest uruchomiony!

np

EEPROM.write(0, '5'); // długość wiadomości przechowywanej w lokalizacji 0

EEPROM.write(5, 'L'); //wiadomość przechowywana w lokalizacji 05EEPROM.write(6, 'o');

EEPROM.write(7, 'c');

EEPROM.write(8, ' ');

EEPROM.write(9, '0');

Bez zapisanych komunikatów, po włączeniu, wyświetlacz będzie nieprzewidywalny, a telefon / tablet będą wyświetlać dziwne, ale spójne informacje, ponieważ, jak w przypadku większości EEPROM, domyślne dane w każdej lokalizacji to FF Hex (225 dziesiętne).

Ten prototyp został zbudowany przy użyciu Arduino Uno, ale do ukończenia projektu użyję pro mini.

Zamierzam używać 3 x 1,5V baterii, więc aby oszczędzać energię wyłączę HC-05 po wybraniu wiadomości. Samo odłączenie/ponowne podłączenie zasilania nie jest wystarczająco dobre, ponieważ wysyła zniekształcone informacje do wyświetlacza.

Wydawałoby się konieczne odizolowanie pinów TR i RX przed podłączeniem/odłączeniem zasilania!

Krok 5: Aktualizacja 2020 - wyświetlacze matrycowe 2 x 4 (8x8)

Po lepszym zrozumieniu MAX7219 udało mi się połączyć ze sobą 2 wyświetlacze!

było tylko kilka linijek kodu, które wymagały zmiany - patrz załączone ino.

Zalecana: