eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Miganie wyświetlacza 2x16 przy przewijaniu tekstu
Ilość wypowiedzi w tym wątku: 8

  • 1. Data: 2014-04-21 22:27:00
    Temat: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: Atlantis <m...@w...pl>

    Bawię się właśnie pinami GPIO Raspberry Pi.
    Podpiąłem do nich wyświetlacz 2x16 na hd44780 (negatyw, niebieskie tło i
    białe litery). LCD podłączony przez magistralę 4bit, GPIO i LCD
    obsługuję za pomocą biblioteki wiringPi. Napisałem sobie do tego prosty
    program scrollujący tekst na jednej linii. Całość opiera się na zasadzie
    zbliżonej do bufora cyklicznego. W pętli głównej program sprawdza ile
    czasu minęło od ostatniego uaktualnienia. Jeśli minie zadany okres,
    wysyła do wyświetlacza 16 kolejnych znaków licząc od początku. Potem
    wskaźnik początku się imkrementuje i tak w kółko. Jeśli dojdzie do końca
    łańcucha (lub bufora) wskaźnik znów otrzymuje wartość 0.

    Mam jednak efekt dziwnego migotania przewijanego tekstu. Wygląda to tak,
    jakby po uaktualnieniu w miejscu gdzie tekst był wcześniej pozostał jego
    ciemny cień.

    Co jest w największym stopniu powodem tego zjawiska? Mam kilka hipotez:
    1) Konstrukcja samego wyświetlacza - problem nie do obejścia, pozostaje
    szukać lepszego.
    2) Zbyt długie wgrywanie znaku z uwagi na brak odczytu flagi zajętości.
    Jedynym wyjściem jest dodanie bufora na linii R/W, połączenie jej z RPi
    i przerobienie biblioteki, która domyślnie nie obsługuje tego trybu.
    3) Zbyt wolna transmisja z uwagi na zastosowanie 4bitowej magistrali -
    trzeba poświęcić dodatkowe 4 linie.
    4) Mój kod jest zły i trzeba napisać go jeszcze raz, stosując inne
    podejście.
    5) Migotanie wynika z zastosowania RasPi - lepiej w tym przypadku użyć
    dedykowanego mikrokontrolera.

    Która rozwiązanie jest najbardziej prawdopodobne?

    Tak... Wiem, że niektóre wyświetlacze pozwalają na ograniczoną obsługę
    przewijania. Mi jednak zależy na możliwości wyświetlania długich
    tekstów, więc wolę to zrealizować programowo.


  • 2. Data: 2014-04-21 22:47:03
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: AlexY <a...@i...pl>

    Użytkownik Atlantis napisał:
    > Bawię się właśnie pinami GPIO Raspberry Pi.
    > Podpiąłem do nich wyświetlacz 2x16 na hd44780 (negatyw, niebieskie tło i
    > białe litery). LCD podłączony przez magistralę 4bit, GPIO i LCD
    > obsługuję za pomocą biblioteki wiringPi. Napisałem sobie do tego prosty
    > program scrollujący tekst na jednej linii. Całość opiera się na zasadzie
    > zbliżonej do bufora cyklicznego. W pętli głównej program sprawdza ile
    > czasu minęło od ostatniego uaktualnienia. Jeśli minie zadany okres,
    > wysyła do wyświetlacza 16 kolejnych znaków licząc od początku. Potem
    > wskaźnik początku się imkrementuje i tak w kółko. Jeśli dojdzie do końca
    > łańcucha (lub bufora) wskaźnik znów otrzymuje wartość 0.
    >
    > Mam jednak efekt dziwnego migotania przewijanego tekstu. Wygląda to tak,
    > jakby po uaktualnieniu w miejscu gdzie tekst był wcześniej pozostał jego
    > ciemny cień.

    Jeśli to nie jest jakiś głupi błąd w programie wstawiający stare znaki
    po wstawieniu nowych to musi to być problem z LCD, bawiłeś się pinem od
    kontrastu?

    [..]


    --
    AlexY
    http://faq.enter.net.pl/simple-polish.html
    http://www.pg.gda.pl/~agatek/netq.html


  • 3. Data: 2014-04-22 03:10:35
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: "Pawel \"O'Pajak\"" <k...@c...goznac>

    Powitanko,

    > 1) Konstrukcja samego wyświetlacza - problem nie do obejścia, pozostaje
    > szukać lepszego.

    Niektore LCD bywaja zramolale, ale to szczegolnie w niskich temp.
    Wystarczy na chwile wsadzic do lodowki, by popularne wyswietlacze mialy
    refleks faceta w kapeluszu ruszajacego fiatem uno spod swiatel.
    Moze kontrast jest ustawiony za duzy.
    Jak podepniesz wyswietlacz do czegos innego niz Pi, to sie wyjasni czy
    to problem sprzetowy, czy softu.

    Pozdroofka,
    Pawel Chorzempa
    --
    "-Tato, po czym poznać małą szkodliwość społeczną?
    -Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
    ******* >>> !!! UWAGA: ODPOWIADAM TYLKO NA MAILE:
    moje imie.(kropka)nazwisko, ten_smieszny_znaczek, gmail.com


  • 4. Data: 2014-04-22 08:07:39
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: Artur Miller <n...@m...com>

    On Mon, 2014-04-21 at 21:47 +0100, AlexY wrote:
    > Użytkownik Atlantis napisał:
    > > Bawię się właśnie pinami GPIO Raspberry Pi.
    > > Podpiąłem do nich wyświetlacz 2x16 na hd44780 (negatyw, niebieskie tło i
    > > białe litery). LCD podłączony przez magistralę 4bit, GPIO i LCD
    > > obsługuję za pomocą biblioteki wiringPi. Napisałem sobie do tego prosty
    > > program scrollujący tekst na jednej linii. Całość opiera się na zasadzie
    > > zbliżonej do bufora cyklicznego. W pętli głównej program sprawdza ile
    > > czasu minęło od ostatniego uaktualnienia. Jeśli minie zadany okres,
    > > wysyła do wyświetlacza 16 kolejnych znaków licząc od początku. Potem
    > > wskaźnik początku się imkrementuje i tak w kółko. Jeśli dojdzie do końca
    > > łańcucha (lub bufora) wskaźnik znów otrzymuje wartość 0.
    > >
    > > Mam jednak efekt dziwnego migotania przewijanego tekstu. Wygląda to tak,
    > > jakby po uaktualnieniu w miejscu gdzie tekst był wcześniej pozostał jego
    > > ciemny cień.
    >
    > Jeśli to nie jest jakiś głupi błąd w programie wstawiający stare znaki
    > po wstawieniu nowych to musi to być problem z LCD, bawiłeś się pinem od
    > kontrastu?
    >
    > [..]
    >
    >

    hd44780 ma swoj generator znaków, nie trzeba softłerowo gasić pixli...

    @


  • 5. Data: 2014-04-22 08:18:50
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: Atlantis <m...@w...pl>

    W dniu 2014-04-22 08:07, Artur Miller pisze:

    > hd44780 ma swoj generator znaków, nie trzeba softłerowo gasić pixli...

    Nikt tego nie robi... Miałem na myśli wysyłanie znaków pojedynczo, za
    pomocą funkcji lcdPutchar().

    W każdym razie regulacja kontrastu nic nie dała. Poszperałem trochę po
    pudełkach z częściami i udało mi się znaleźć jeszcze jeden wyświetlacz -
    najbardziej typowy, z czarnymi znakami i zielonym podświetlaniem. W jego
    przypadku jest nieporównywalnie lepiej. Co prawda jeśli bardzo mocno
    wytężyć wzrok, też da się zauważyć przez krótki moment ten ślad po
    znikającej literce. Jednak natężenie tego zjawiska jest znacznie
    mniejsze i już nie rzuca się w oczy podczas normalnego oglądania
    przesuwającego się napisu. Kod się nie zmienił, wychodzi więc na to, że
    powodem zjawiska jest bezwładność samych pikseli, większa w tym
    pierwszym modelu.


  • 6. Data: 2014-04-22 09:11:23
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: BartekK <s...@d...org>

    W dniu 2014-04-22 08:18, Atlantis pisze:
    > W dniu 2014-04-22 08:07, Artur Miller pisze:
    >
    >> hd44780 ma swoj generator znaków, nie trzeba softłerowo gasić pixli...
    >
    > Nikt tego nie robi... Miałem na myśli wysyłanie znaków pojedynczo, za
    > pomocą funkcji lcdPutchar().
    >
    > W każdym razie regulacja kontrastu nic nie dała. Poszperałem trochę po
    > pudełkach z częściami i udało mi się znaleźć jeszcze jeden wyświetlacz -
    > najbardziej typowy, z czarnymi znakami i zielonym podświetlaniem. W jego
    > przypadku jest nieporównywalnie lepiej. Co prawda jeśli bardzo mocno
    > wytężyć wzrok, też da się zauważyć przez krótki moment ten ślad po
    > znikającej literce. Jednak natężenie tego zjawiska jest znacznie
    > mniejsze i już nie rzuca się w oczy podczas normalnego oglądania
    Dokładnie tak - co wyświetlacz (i chiński "odpowiednik" HD44780) to
    inaczej się zachowuje, dlatego jeśli musisz scrolować - to używaj
    funkcji sprzętowej samego wyświetlacza, a nie przerysowuj całego ekranu
    softwarowo od nowa. Wiem - hd nie ma scrollu - ale ma za to funkcję
    "display shift" - miejsce pisania tekstu (nr literki na lcd) jest stałe,
    a przesuwa się sam tekst wcześniej wpisany, tak to wygląda:
    http://www.geocities.com/dinceraydin/img/an07.gif
    Aby to uaktywnic - włączasz Entry mode set 07h (zamiast standardowego 06h)


    --
    | Bartłomiej Kuźniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173


  • 7. Data: 2014-04-22 09:18:11
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: Atlantis <m...@w...pl>

    W dniu 2014-04-22 09:11, BartekK pisze:

    > inaczej się zachowuje, dlatego jeśli musisz scrolować - to używaj
    > funkcji sprzętowej samego wyświetlacza, a nie przerysowuj całego ekranu
    > softwarowo od nowa. Wiem - hd nie ma scrollu - ale ma za to funkcję
    > "display shift"

    Wiem. Jednak podstawową zaletą software'owego odświeżania zawartości
    fragmentu ekranu jest to, że mogę łatwo wyświetlać tekst o większej
    długości. W tej chwili wygląda to całkiem znośnie.


  • 8. Data: 2014-04-22 14:09:21
    Temat: Re: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Od: AlexY <a...@i...pl>

    Użytkownik Artur Miller napisał:
    > On Mon, 2014-04-21 at 21:47 +0100, AlexY wrote:
    [..]
    >> Jeśli to nie jest jakiś głupi błąd w programie wstawiający stare znaki
    >> po wstawieniu nowych to musi to być problem z LCD, bawiłeś się pinem od
    >> kontrastu?
    >>
    >> [..]
    >
    > hd44780 ma swoj generator znaków, nie trzeba softłerowo gasić pixli...

    Chyba nie zrozumiałeś, chodzi mi o tworzenie programowego "cienia" coś
    jak uzyskiwanie bodaj ponad 200kolorów na C64 oryginalnie mającym ich
    16. Wstawiasz nowy znak, stary i znowu nowy, powstanie cień starego.


    --
    AlexY
    http://faq.enter.net.pl/simple-polish.html
    http://www.pg.gda.pl/~agatek/netq.html

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: