[BASCOM] Sterowanie MAX7219, HT16K33
-
- Posty: 11
- Rejestracja: 11 lut 2017, 15:16
Re: Sterowanie MAX7219
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?
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Sterowanie MAX7219
Na samej górze pliku *incl
Zamiast 6 wpisz 4 i zapisz.
Można to oczywiście programowo inaczej wysyłać na matryce. Wystarczy zmiana w Send_to_matrix()
Kod: Zaznacz cały
'*****************************************************************
'* MATRIX VARIABLES *
'*****************************************************************
Const Maxims = 6
Można to oczywiście programowo inaczej wysyłać na matryce. Wystarczy zmiana w Send_to_matrix()
-
- Posty: 11
- Rejestracja: 11 lut 2017, 15:16
Re: Sterowanie MAX7219
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:
Ten znak nie jest poprawnie wyświetlany, bo obcina dwie kolumny z prawej strony.
Kod: Zaznacz cały
Data 96,124,31,17,31,124,96,0
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Sterowanie MAX7219
Przed wyjazdem nie miałem czasu bo chciałem wszystko pokończyć, a po powrocie nadganiam zaległości
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.
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.
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Sterowanie MAX7219
Jakby co to napisałem Sub do obracania tego programowo.
Jakby ktoś był chętny potestować to mogę podesłać
LINK DO KRÓTKIEGO FILMIKU
Jakby ktoś był chętny potestować to mogę podesłać
LINK DO KRÓTKIEGO FILMIKU
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Posty: 7
- Rejestracja: 10 mar 2017, 20:10
Re: Sterowanie MAX7219
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.
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Sterowanie MAX7219
[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ą.
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ą.
-
- Posty: 7
- Rejestracja: 10 mar 2017, 20:10
Re: Sterowanie MAX7219
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.
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.
-
- Posty: 100
- Rejestracja: 20 lis 2016, 20:21
Re: Sterowanie MAX7219, HT16K33
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?
- niveasoft
- Posty: 1219
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Sterowanie MAX7219, HT16K33
Niektóre rzeczy pamiętam jak prez mgłę bo to było jakiś czas temu
Nie tylko to pamiętam, ale podzielę się tym co pamiętam hahaha
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
Nie tylko to pamiętam, ale podzielę się tym co pamiętam hahaha
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