[BASCOM] Sterowanie MAX7219, HT16K33

Gotowe kody obsługi układów elektronicznych udostępnione przez użytkowników forum.
maryushr
Posty: 11
Rejestracja: 11 lut 2017, 15:16

Re: Sterowanie MAX7219

Post autor: maryushr » 11 lut 2017, 21:31

U mnie też już kompiluje, bez przeinstalowania Bascoma jednak się nie obeszło. Napisy się wyświetlają, ale każda matryca jest jakby odwrócona o 90 stopni w prawo w stosunku do tego co jest na filmie i znaki przesuwają się też odwrotnie nie tworząc napisu w jednej linii. Musiałbym porozcinać te 4 segmenty i ponownie połączyć po odwróceniu o 90 stopni w stosunku do tego, co jest w tym momencie. A może da się to skorygować programowo? Jak zadeklarować w programie pracę na 4 matrycach?
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Sterowanie MAX7219

Post autor: niveasoft » 11 lut 2017, 21:50

Na samej górze pliku *incl

Kod: Zaznacz cały

'*****************************************************************
'*                     MATRIX VARIABLES                          *
'*****************************************************************
Const Maxims = 6
Zamiast 6 wpisz 4 i zapisz.
Można to oczywiście programowo inaczej wysyłać na matryce. Wystarczy zmiana w Send_to_matrix()
maryushr
Posty: 11
Rejestracja: 11 lut 2017, 15:16

Re: Sterowanie MAX7219

Post autor: maryushr » 12 lut 2017, 12:37

Ten kod działa tylko ze zdefiniowanymi w bibliotece znakami, czy też można definiować i podstawiać własne znaki, czy czcionki? Zdefiniowałem literę "A" jako:

Kod: Zaznacz cały

Data 96,124,31,17,31,124,96,0
Ten znak nie jest poprawnie wyświetlany, bo obcina dwie kolumny z prawej strony.
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Sterowanie MAX7219

Post autor: niveasoft » 25 lut 2017, 0:28

Przed wyjazdem nie miałem czasu bo chciałem wszystko pokończyć, a po powrocie nadganiam zaległości :D
Ta dołączona tablica ma wymiary 5x7 czyli wysokość 7 a szerokość 5. Dotyczy to jednak tylko znaków z przedziału "literek" czyli powyżej 32.
Można tam wyświetlać szersze znaki umieszczając je w przestrzeni wyżej.
Innym sposobem jest chyba zmiana stałej Const Character_dots = 5
Jak widać inna Const Special_character_dots = 8 ma osiem i pozwala właśnie na szersze znaki.
Ten kod opisuje się sam - tyle, że po angielsku. Nie dodawałem polskich opisów w komentarzach bo wydają się zbędne.
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Sterowanie MAX7219

Post autor: niveasoft » 04 mar 2017, 15:19

Jakby co to napisałem Sub do obracania tego programowo.
Jakby ktoś był chętny potestować to mogę podesłać :P

LINK DO KRÓTKIEGO FILMIKU
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Sabre
Posty: 7
Rejestracja: 10 mar 2017, 20:10

Re: Sterowanie MAX7219

Post autor: Sabre » 10 mar 2017, 20:13

To ja poproszę nowy kod :), pisałem maila dzisiaj do Ciebie. Mam chińskie moduły na MAX7219 i chciałbym zrobić na nich zegarek bez obracania tych modułów i kombinowania z lutowaniem przewodami.
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Sterowanie MAX7219

Post autor: niveasoft » 10 mar 2017, 21:26

[EDIT] Od teraz najnowsza wersja zawsze będzie w pierwszym poście

O ile pamiętam to te chińskie mają 4 matryce.
W swoim kodzie musisz zaimportować ten plik czyli piszesz :

$include "universal_8xX_matrix_driver.inc"
W tym pliku u góry są też ustawienia. Dla tego Chińczyka trzeba ustawić Rotate_matrix = 2 i poobraca w lewo ;)

Universal dlatego że ma już wbudowaną obsługę układów HT16K33 po I2C
W wolnej chwili chce dodać tam bufor tak by można było wyświetlać dłuższe napisy. Na razie nie wyświetlaj więcej niż 5 znaków na raz bo się nie zmieszczą.
Sabre
Posty: 7
Rejestracja: 10 mar 2017, 20:10

Re: Sterowanie MAX7219

Post autor: Sabre » 10 mar 2017, 21:30

Dzięki, pobawię się tym w wolnej chwili. Moje moduły to pojedyncza płytka z jedną matrycą 8x8 ze złączami po przeciwległych bokach. Ale jak się je połączy tymi bokami to tekst normalnie przewija się od góry do dołu a nie od prawej do lewej. Na razie nie rozkminiłem jeszcze obsługi więcej niż 1 matrycy na raz więc z chęcią się pobawię po weekendzie i dam znać co i jak wyszło :).

Edycja:
Nie żebym wybrzydzał, ale nie dajesz żadnego przykładowego kodu, nazw funkcji do wywoływania u siebie w kodzie do odpowiednich efektów. Nie wiem czy jestem aż tak zaawansowany żeby na podstawie kodu tej biblioteki użyć jej w odpowiedni sposób.
marekszy
Posty: 99
Rejestracja: 20 lis 2016, 20:21

Re: Sterowanie MAX7219, HT16K33

Post autor: marekszy » 13 sie 2017, 14:44

witam tak się bawię Twoim programem i działa to bardzo fajnie.Zmieniłem matryce na większe 60mmx60mm zielone i tu jest problem z jasnością,świecą bardzo słabo.Rezystor Iset mam 10k (powinien być 9,7k),ale to pewnie nie jest przyczyną,czytałem jeszcze,że można sterowac programowo,jak to z tym jest.Czy aby wysterowac większe matryce muszę zastosowac jakieś drivery?
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Sterowanie MAX7219, HT16K33

Post autor: niveasoft » 13 sie 2017, 14:51

Niektóre rzeczy pamiętam jak prez mgłę bo to było jakiś czas temu :D
Nie tylko to pamiętam, ale podzielę się tym co pamiętam hahaha :D

Ten układ sam multipleksuje do ośmiu siedmiosegmentowych wyświetlaczy, ale to pewnie sam wiesz.
Multipleksuje je jednak tak szybko że jest możliwość ustawienia mocy od 1 do 16

Ja to miałem podłączone pod USB w moim komputerze i dlatego moc była ustawiona na minimum bo USB maksem może wydać 500mA

Na pewno gdzieś na początku kodu dałem instrukcję by zszedł z prądem do 1 albo maks 3 ..zwiększ i daj znać jak poszło :D
ODPOWIEDZ