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 zaznaczyć aktualnie zmienianą wartość na wyświetlaczu LCD?

behemoth 30 Kwi 2005 09:56 3139 13
REKLAMA
  • #1 1449885
    behemoth
    Poziom 11  
    Posty: 37
    Witam
    Mam na wyświetlaczu LCD kilka wartości,które zmieniam przy pomocy przycisku plus/minus. Naraz zmieniana jest tylko jedna wartość,chciałbym jakoś zaznaczyć która wartość jest aktualnie zmieniana, dlatego chciałbym wyświetlić na standardowym LCD znak odwrócony,tzn.zamiast czarnego znaku i bialego tla odwrotnie.
    A może jakoś inaczej mozna to zaznaczyc?
    z góry dzięki za info
  • REKLAMA
  • #2 1449899
    KrzysiekTG
    Poziom 14  
    Posty: 104
    Pomógł: 6
    Ocena: 12
    Jest na to prosty sposób, wystarczy odkleić wierzchnią foię półprzepusczalną, obrocić ja o 180° i ponownie przykleić. Od tej pory to co białe będzie czarne, a to co czarne będzie białe ;)
  • REKLAMA
  • #3 1449990
    Mol
    Poziom 31  
    Posty: 1168
    Pomógł: 152
    Ocena: 103
    Jeżeli wartość jest cyfrą to możesz spróbować zdefiniować swoje znaki czyli cyfry na czarnym tle i wtedy je wyświetlać , chyba że wyświetlacz ma taką funkcję już w sobie .
  • #4 1450005
    marcinkwa
    Poziom 14  
    Posty: 164
    Pomógł: 5
    ewentualnie spróbuj włączyć kursor i miganie (w bascomie) wtedy wyróżnisz cyfrę.
  • REKLAMA
  • #5 1450410
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    marcinkwa napisał:
    ewentualnie spróbuj włączyć kursor i miganie (w bascomie) wtedy wyróżnisz cyfrę.
    To w nawiasie uważam za niepotrzebne, reszta OK, autor nie wymienił własnego środowiska programistycznego, więc bardziej chodzi o zasadę, którą można zastosować, a Bascom to nie jest włącznik do opcji LCD i nie ma monopolu na sterowanie... ;) Bardzo proszę wyrażać się bardziej precyzyjnie, bo inaczej łatwo o nieporozumienie...
    A ogólne zasady sterowania LCD są tutaj.
    Pozdrawiam, Light'I
  • #6 1451251
    marcinkwa
    Poziom 14  
    Posty: 164
    Pomógł: 5
    W zasadzie chodiło o flaszkę dla light!!! On wie co trzeba zrobić, tylko motywacji mu brak !!!!!!!!!!!!!!!!!!
  • #7 1451260
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    marcinkwa napisał:
    W zasadzie chodiło o flaszkę dla light!!! On wie co trzeba zrobić, tylko motywacji mu brak !!!!!!!!!!!!!!!!!!
    No dobrze, nie denerwuj się już, Bascom jest fajny...
    Co do tematu, własności konstrukcyjnych wyświetlacza na HD44780/KS0066 (Jeżeli akurat o taki chodzi, pytanie autora wątku jest niepecyzyjne) nie da się przeskoczyć. Można ująć zmienianą wartość w jakieś klamry/nawiasy, jak jeszcze da radę wygospodarować miejsce na 2 znaki.
    P.S. Po co mi flaszka ?
  • #8 1455510
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    raczej do inwersji zostaje tylko własny zestaw znaków no i ograniczenie do max. 8 znaków

    też się z tym problemem niedawno spotkałem. Zrobiłem tak, że pozycja w menu jest zaznaczana przez czarne prostokąty po obu stronach tekstu. Kod znaku 255 w wyświetlaczach z japońskim zestawem znaków (0A na końcu oznaczenia kontrolera), nie wiem, jak w innych.

    A tak swoją drogą, to brak inwersji w HD44780 uważam za duże "niedociągnięcie" ze strony projektantów ;)
  • #9 1460546
    behemoth
    Poziom 11  
    Posty: 37
    Dziękuje bardzo za wszystkie odpowiedzi.
    Przez jakiś czas nie miałem dostępu do netu, dlatego dopiero teraz odpowiadam.
    Chodziło mi o HD44780. Za brak precyzji przepraszam.
    No tak to jest niedociągnięcie z brakiem inwersji.
    1)Z wykorzystaniem własnego zestawu znaków jest ten problem, że tylko 8 można zdefiniować,a jak chciałbym wyświetlać cyfry to potrzeba niestety 10.
    2)mrugający kursor to za mało wyraźny tym bardziej,ze wyświetlana liczba jest 3-cyfrowa.
    3)nawiasy czy znaki nie pasują za bardzo bo ja na wyświetlaczu wyświetlam dużo informacji i nie ma tam na to miejsca.
    Zdecydowałem sie na to,że co jakiś czas wyświetlam liczbe 3-cyfrową a potem ją gasze. Jak robie to z częst. 2Hz i jest to dobrze widoczne oraz w miarę eleganckie.
    Dzięki
    Powodzonka
  • #10 1461311
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    behemoth napisał:
    1)Z wykorzystaniem własnego zestawu znaków jest ten problem, że tylko 8 można zdefiniować,a jak chciałbym wyświetlać cyfry to potrzeba niestety 10.

    Definiujesz tylko te cyfry, które chcesz wyświetlkić, więc możesz wyświetlić dowolnie długi ciąg składający się z 8 różnych znaków.
    Przed wyświetleniem każdej liczby/tekstu trzeba by wgrać nowy zestaw znaków do wyświetlacza.
    Było by z tym roboty sporo, zresztą wydaje mi się, że w HD44780 można wgrywać własne znaki tylko podczas inicjalizacji wyświetlacza, jeżeli tak, to ten sposób odpada.

    A miganie jest spox. A żeby nie było upierdliwe - podczas zmieniania za pomocą klawiszy cyfry nie powinny mrugać, mrugać mogą tylko, jak użytkownik nic nie robi. W jakimś sprzęcie mam tak, że mrugają cały czas i to 0.5Hz (!) ku**icy można dostać, jak się to ustawia (na szczęście nie za często) ;)
  • #11 1461393
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    shg napisał:
    wydaje mi się, że w HD44780 można wgrywać własne znaki tylko podczas inicjalizacji wyświetlacza
    Z tym nie będzie problemu, można wrzucać, co się chce, więc wyświetlacze 8-znakowe moga pracować w "trybie graficznym", a i dla 16-znakowych idzie pokombinować... ;)
  • REKLAMA
  • #12 1462011
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 619
    8, 2 * po 8, 2 *po 20 4 * po 20 to ten sam sterownik.
    A jak zaznaczył shg generator pobiera zdefiniowane znaki podczas inicjacji, tak więc nie rozumiem jak wyswietlacz oparty na HD44780 moze pracowac w trybie graficznym. Pseudograficznym gdy zdefiniujemy 8 własnych znaków to tak, ale i tak pomiędzy nimi będzie odstęp wielkości jednego pixela.
    Kiedys przyglądałem sie wątkowi na temat wyświetlania wszystkich znaków narodowych (male i wielkie litery) na raz na wyświetlaczu 4*20 niestety nie udało sie to :).
    Warto poszukac tego wątku.
    A wyświetlanie wyniku z częstotliwością 0,5Hz wydaje mi się kompromisem i jedynym słusznym rozwiązaniem problemu.
  • #13 1462147
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Samuraj napisał:
    A jak zaznaczył shg generator pobiera zdefiniowane znaki podczas inicjacji, tak więc nie rozumiem jak wyswietlacz oparty na HD44780 moze pracowac w trybie graficznym. Pseudograficznym gdy zdefiniujemy 8 własnych znaków to tak, ale i tak pomiędzy nimi będzie odstęp wielkości jednego pixela.
    1. sgh wcale nie zaznaczył, że generator pobiera zdefiniowane znaki podczas inicjacji. Przeczytaj jego tekst jeszcze raz... to się nazywa przypuszczenie i to uważam za w porządku z jego strony, że to czego nie sprawdził, nie przyjmuje za pewnik. A prawda jest taka, że znaki można zmieniać w każdej chwili. Trzeba posiadać chęci i czas na czytanie dokumentacji, przydatna jest też praktyka w danym temacie, aby wyrazić coś konstruktywnego w kwestiach technicznych.
    2. Wyrażenie "Tryb graficzny" ująłem w cudzysłowy, zdając sobie sprawę z istniejącego odstepu między znakami, więc nie wiem czego się czepiasz.
    Czas zapisania jednego bajtu to ok. 40µs, znak składa się z 7 linii, więc zmiana 1 znaku zajmuje ok. 280µs, co daje 2,24ms na 8 znaków. Pytanie kontrolne : ile to bedzie ramek na sekundę... ? Nawet uwzględniając bezwładność wyświetlania LCD i wszelkie inne duperele potrzebujące opóźnienia, wystarczy do zabawy, czy nie ?
  • #14 1462546
    behemoth
    Poziom 11  
    Posty: 37
    Widze, że rozgorzała gorąca dyskusja.
    Propozycja,zeby za każdym razem poszczególne znaki definiować jest możliwa,ale kłopotliwa.Na razie jednak zostawie sobie ten problem na poźniej.
    Tak na przyszłość myśle,ze najwygodniej byłoby zdefiniować na stałe 7 cyfr a pozostałe 3 wymieniać za kazdym razem, no i chyba bezwzględnie 0 musi być wśród tych stałych znaków

Podsumowanie tematu

✨ Dyskusja dotyczy sposobów zaznaczenia aktualnie zmienianej wartości na standardowym wyświetlaczu LCD opartym na kontrolerze HD44780. Problemem jest brak natywnej funkcji inwersji kolorów (odwrócenia tła i znaku) w tym typie wyświetlacza. Proponowane rozwiązania obejmują: fizyczne odwrócenie półprzepuszczalnej folii na wyświetlaczu, definiowanie własnych znaków (custom characters) z cyframi na czarnym tle, włączanie migającego kursora lub migania znaku, a także zaznaczanie wartości za pomocą nawiasów lub prostokątów po bokach tekstu. Ograniczeniem jest możliwość zdefiniowania maksymalnie 8 własnych znaków, co utrudnia pełne pokrycie cyfr 0-9. W praktyce autor zdecydował się na migające wyświetlanie zmienianej wartości z częstotliwością około 2 Hz, co jest dobrze widoczne i estetyczne. Dyskusja porusza także kwestie techniczne dotyczące możliwości dynamicznej zmiany zestawu znaków w HD44780 oraz kompromisy związane z ograniczeniami sprzętowymi i programowymi. Wskazano, że brak inwersji w HD44780 jest istotnym ograniczeniem, a implementacja własnych znaków wymaga dodatkowej pracy i uwzględnienia limitów pamięci.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA