logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak niezależnie sterować segmentami na wielu wyświetlaczach LED?

04 Paź 2008 19:27 2177 6
REKLAMA
  • #1 5598857
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 5598884
    grzegrzol
    Poziom 19  
    Posty: 213
    Pomógł: 40
    Ocena: 18
    Musisz dac tranzystor przed każdą anodą i wyświetlać na zmianę segmenty potrzebne do wyświetlenia 4 i 5, otwierając przy tym tranzystory odpowiedzialne za odpowiednie segmenty.
  • REKLAMA
  • #3 5599060
    Ture11
    Poziom 39  
    Posty: 5419
    Pomógł: 573
    Ocena: 1125
    Poszukaj o multipleksacji
  • REKLAMA
  • #4 5599361
    mskojon
    Poziom 31  
    Posty: 2079
    Pomógł: 75
    Ocena: 47
    Dajesz do anod tranzystory, podpinasz je do procka i programujesz tak, że jeśli chcesz wyświetlić 5678, to wtedy przez krótką chwilkę (jak najkrócej, ok 1ms albo mniej, im mniej tym mniejsze migotanie wyświetlaczy) dajesz impuls na tranzystor numer 1 i wyświetlasz 5, potem drugi tranzystor i wyświetlasz 6, z trzecim i czwartym tak samo :D i to ma się powtarzać. To się nazywa multipleksowanie.
    Zamieszczę Ci przykładowy listing do Bascoma.
    Do
    Tranzystor1 = 1
    Liczbadowyswietlenia = 5
    Waitms 1
    Tranzystor1 = 0
    
    Tranzystor2 = 1
    Liczbadowyswietlenia = 6
    Waitms 1
    Tranzystor2 = 0
    
    Tranzystor3 = 1
    Liczbadowyswietlenia = 7
    Waitms 1
    Tranzystor3 = 0
    
    Tranzystor4 = 1
    Liczbadowyswietlenia = 8
    Waitms 1
    Tranzystor4 = 0
    End

    Oczywiście program jest tylko wyjaśniający działanie, nie ma prawa działać.
  • REKLAMA
  • #5 5599495
    Konto nie istnieje
    Konto nie istnieje  
  • #6 5607686
    szod
    Poziom 33  
    Posty: 1663
    Pomógł: 215
    Ocena: 120
    Po prostu podajesz plus na anodę pierwszego wyświetlacza po czym ustawiasz dane na
    wyprowadzeniach A, B, C... itd. Wyłączasz wyświetlacz pierwszy i jego dane, włączasz
    drugi i wystawiasz dane dla drugiego wyświetlacza. One włączają się pojedynczo po kolei.
    Muszą to robić na tyle szybko, żeby oko tego nie zauważyło.

Podsumowanie tematu

✨ Problem polega na tym, że segmenty wielu wyświetlaczy LED są połączone równolegle, co powoduje, że zapalenie segmentu na jednym wyświetlaczu powoduje jego zapalenie na wszystkich. Rozwiązaniem jest zastosowanie multipleksacji, czyli sterowania wyświetlaczami w sposób sekwencyjny i bardzo szybki, tak aby oko ludzkie odbierało obraz jako ciągły. Technicznie polega to na dodaniu tranzystorów do anod każdego wyświetlacza, które są włączane kolejno na krótki czas (np. około 1 ms), podczas gdy na segmenty podawane są odpowiednie sygnały dla danej cyfry. Dzięki temu można niezależnie wyświetlać różne cyfry na poszczególnych wyświetlaczach, np. 5 na pierwszym i 4 na drugim. Częstotliwość przełączania powinna być na tyle wysoka (np. około 200 Hz dla 4 wyświetlaczy), aby uniknąć migotania. Przykładowy kod w Bascom ilustruje zasadę działania multipleksowania, gdzie kolejno aktywuje się tranzystory i ustawia segmenty dla odpowiednich cyfr. Kluczowe jest szybkie i cykliczne przełączanie wyświetlaczy oraz sterowanie segmentami przez mikroprocesor.
Wygenerowane przez model językowy.
REKLAMA