Skocz do zawartości

Skrócone wypisywanie różnego rodzaju zmiennych w Arduino


rziomber

Pomocna odpowiedź

Wyświetlacze mają tendecję do migania przy czyszczeniu ekranu metodą clear().

Dla "kasofiskalnych" 16x2 i 20x4 rozwiązaniem jest podmiana znaków jeden po drugim.

400035946_863207182138923_5623045641299977111_n.thumb.jpg.5596daabd0f3abc9aeec237cf749bd26.jpg

    auto printLine = [](uint8_t line, char* str) {
      lcd.setCursor(0, line);
      lcd.print(str);
      for (uint8_t i = strlen(str); i < 20; i++) {
        lcd.print(" ");
      }
    };

    char line[21];
    snprintf(line, 21, "%.1fC %.1f%%", bme.readTemperature(), bme.readHumidity());
    printLine(1, line);

Dla wielu TFT niestety dojdzie do zsumowania poprzedniego obrazu z nowym tekstem (np spacja wypisana w miejscu litery nie zmieni niczego). Tutaj trzeba chyba rysować prostokąty w kolorze tła, by zamazać stary tekst.
A może macie lepsze rozwiązania? 🙂

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

14 godzin temu, ethanak napisał:

Przykładowo - popularna biblioteka Adafruit GFX przy operowaniu wbudowanym fontem ma dwie możliwości. Wywołanie:

tft.setTextColor(fg);

spowoduje, że wyświetlanie tekstu będzie się odbywało tak jak piszesz (tzn. zmieniane będą tylko te piksele,które są ustawione w glifie). Ale już coś takiego:

tft.setTextColor(fg, bg);

będzie kontrolować wszystkie piksele w obrębie znaku (czyli nie będzie żadnego sumowania, ustawiony w glifie piksel będzie rysowany w kolorze fg, nieustawiony w kolorze bg).

Cenna uwaga! https://learn.adafruit.com/adafruit-gfx-graphics-library/minimizing-redraw-flicker

Rzeczywiście wątek

jest skarbnicą wiedzy wszelakiej 🙂

Z "konkurencyjnego" obozu U8G2:

Cytat

To get output the complete display image U8G2 must be used in full buffer mode (Constructor with _F_, see also sendbuffer).

https://github.com/olikraus/u8g2/wiki/u8g2reference

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.