Wemos D1 i wyświetlacz LCD/i2c: własne znaki

Sterownik wyświetlacza LCD kontrolowanego przez i2c umożliwia definiowanie własnych znaków. Opcja ta jest całkiem atrakcyjna, gdy chcecie wzbogacić grafikę na ekranie  o dodatkowe elementy. Możecie zdefiniować 8 znaków pod kodami 0-7.

Zanim zaczniecie…

…przeczytajcie: Wemos D1: podłączenie wyświetlacza LCD. Ten post zawiera szczegóły podłączenia, instalacji biblioteki Arduino-LiquidCrystal_I2C (Github fdebrabander), fixa dla wyświetlaczy 16×4 oraz podstawowych metod klasy wyświetlacza.

Nowy znak

Na moim wyświetlaczu każdy znak składa się z 40 punktów ułożonych w 5 kolumn i 8 rzędów. Własne znaku tworzymy zapalając lub gasząc odpowiednie piksele:

Przedstawmy tą macierz jako tablicę 8 liczb:

Zauważcie:

  • Każdemu rzędowi odpowiada 1 liczba,
  • Liczby zapisałem w formacie binarnym (znak ‚B’ przed liczbą); równie dobrze możecie użyć liczb szesnastkowych (przedrostek „0x”) lub dziesiętnych (bez przedrostka); na początek zapis binarny będzie najłatwiejszy.
  • „0” oznaczają zgaszonego piksla,
  • „1” oznaczają  zapalonego piksla.

Taki sobie wzorek

Przykładowo, taki sobie dziwny wzorek:

Będzie wyglądał tak:

…lub tłumacząc liczby binarne na szestnastkowe:

Teraz wystarczy w setup() użyć funkcji createChar() (pamiętajcie o dodaniu bibliotek Wire i ArduinoLiquidCrystal_I2C):

Ramka wokół ekranu

Ładna ramka wokół wyświetlacza?

Nie ma problemu. potrzebne będzie osiem nowych znaków: rogi ekranu oraz łączniki na krawędziach, górze i dole.

Pasek przewijania

Na skraju ekranu potrzebowałem „przewijaka”:

I pusty:Kod:

Podsumowanie

8 znaków: tyle możecie sobie „podmienić” w pamięci tego wyświetlacza. Nie jest to dużo – ale może pozwolić na osiągnięcie całkiem ciekawych efektów.

Dodaj komentarz