Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR - Matryca LEd 80x8 ładowanie czcionek

FastProject 23 Sty 2017 13:30 810 12
  • #1 23 Sty 2017 13:30
    FastProject
    Poziom 28  

    Witam,
    projektuje matrycę LED z gotowych modułów 8x8. Poniżej schemat. Wiersze sterowane z P-FET a katody z driverów SCT2024.

    Zastawiam się jaki wybrać sposób ładowania czcionek i sterowania taka matryca. Chodzi mi jak zorganizować ułożenie czcionek, i jak wysyłać dane do takiej matrycy. Nie oczekuje gotowego kodu, a opis kolejnych operacji jakie należny wykonać aby wgrać czcionkę np jak w tej matrycy https://www.elektroda.pl/rtvforum/viewtopic.php?p=16221201#16221201

    W tej chwili zastanawiam się najbardziej nad tym czy ładować poszczególne wiersze danego znaku do SCT i załączać kolejno jeden po drugim dany wiersz, czy może jakoś inaczej.

    W większości takich matryc wydaje mi się, ze ładowane są kolumny znaków, bo i takie matryce sa przesuwane, mi na przesuwaniu aktualnie nie zależny jednak w przyszłości chciałbym je mieć.

    Pytanie zasadnicze...ładować zawartość SCT poszczególnymi wierszami znaków, czy ładować kolumny, ale wtedy co dalej?

    Proszę o wskazówki.

    0 12
  • #3 23 Sty 2017 19:11
    373522
    Użytkownik usunął konto  
  • #4 23 Sty 2017 19:22
    FastProject
    Poziom 28  

    SCT2024 to rejestr szeregowy z stałoprądowymi driverami LED.

    0
  • #5 23 Sty 2017 20:08
    373522
    Użytkownik usunął konto  
  • #6 23 Sty 2017 20:14
    FastProject
    Poziom 28  

    Dane do SCT2024 też wysyłam po sprzętowym SPI, np tak wygląda wysłanie 8 bajtów (8bitowych).

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    SCT2024 łączone są kaskadowo, jeden za drugim.

    Na moim schemacie jest 5 układów SCT2024 16bitowych, więc aby wypełnić cały wiersz trzeba by wysłać bufor Spiout Buffer(1) , 10 wypełniony poszczególnymi danymi dla danego znaku i danego wiersza. Tylko ładowanie w ten sposób i multipleks 8 wierszy uniemożliwi mi przesuwanie i inne efekty...chyba że się mylę...

    0
  • #7 23 Sty 2017 21:13
    373522
    Użytkownik usunął konto  
  • #8 31 Sty 2017 09:09
    FastProject
    Poziom 28  

    W tej chwili mam już ładowanie i wypełnianie tablicy 80 elementowej poszczególnymi wierszami znaków.
    Ładuje wiersze (pierwsze 10 bajtów 1 do 10) do SCT2024 a następnie załączam 1 wiersz tranzystorem.
    Ładuje wiersze (kolejne 10 bajtów 11 do 20) do SCT2024 a następnie załączam 2 wiersz tranzystorem.

    Wszystko ładnie i z dobrą jasnością wyświetla tekst. Aktualny kod wygląda tak(tylko niektóre znaki są wyzerowane, bo nie stworzyłem całej czcionki)

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Męczę się teraz z przesuwaniem w tak wybranym sterowaniu. Zrobiłem drugą tablice 80 elementową to której chce wsuwać z dane z tej pierwszej.
    Zmagam się z przepisywaniem bit po bicie ostatnich od końca matrycy (bajty 10, 20, 30, 40, 50, 60, 70, 80) i o ile działa to dla jednej matrycy od prawej (przesuwanie od prawej do lewej), to dalej mam schody podczas przepisywania każdego bitu do kolejnej matrycy. Po prostu nie wiem jak to przesuwanie w tej chwili rozwiązać, aby odbywało się automatycznie...jakiś algorytm....

    Proszę kolegów o jakieś wskazówki jak to zrobić elegancko.

    0
  • #9 31 Sty 2017 11:48
    373522
    Użytkownik usunął konto  
  • #10 31 Sty 2017 13:08
    FastProject
    Poziom 28  

    Witam. Chcesz powiedzieć że znaki zapisywać w bajtach jako kolumny a później te kolumny( po przesuwaniu czy co tam zrobimy) konwertować na wiersze i szeregowo wysłać do driverów?

    0
  • #11 31 Sty 2017 13:30
    373522
    Użytkownik usunął konto  
  • #12 31 Sty 2017 14:24
    FastProject
    Poziom 28  

    Nie mam tu wielkich wymagań, a to co w Twojej matrycy to aż nadto co potrzebuję.
    Myślę, że to co piszesz ma sens, tylko na początku z pośpiechu przyjąłem troszkę inna zasadę i organizacje znaków/czcionek.
    Bo w danych:
    Data &H1E , &H3F , &H33 , &H3F , &H1F , &H03 , &H3F , &H9E
    u mnie to dla danego znaku to Data wiersz1, wiersz2, wiersz3,....wiersz8 (wiersze liczę od górnego)

    A tym czasem u Ciebie jest jak się nie mylę tak:
    Data kolumna1, kolumna2, kolumna3,....kolumna6 (kolumny od lewej) ?

    0
  • #13 31 Sty 2017 14:43
    373522
    Użytkownik usunął konto