[PRZYKŁAD] Raspberry Pi oraz wyświetlacz E-PAPIER 2,7″

Przyjrzyjmy się programowi. Część główna znajduje się w pliku main.cpp. Na początku kodu znajduje się załączenie bibliotek potrzebnych do działania programu:

Następnie sprawdzane jest połączenie z wyświetlaczem. W przypadku braku poprawnego połączenia w konsoli zostanie wyświetlony błąd o treści e-Paper init failed. Obraz na ekranie jest również zerowany.

Następnie zapisywane są do bufora takie elementy jak: tekst E-papier Demo (czarna czcionka), Hello Word (biały tekst na czerwonym tle) oraz różne figury geometryczne:

Wykorzystano tutaj następujące funkcje:

  • DrawStringAt – wyświetlanie tekstu
  • DrawRectangle – wyświetlanie prostokąta (pustego w środku)
  • DrawLine – wyświetlanie linni prostej
  • DrawCircle – wyświetlanie okręgu
  • DrawFilledRectangle – wyświetlanie prostokąta (wypełnionego)
  • DrawFilledCircle – wyświetlanie koła (wypełnionego)

Każda funkcja posiada posiada posiada prefix określający kolor wyświetlanego elementu/tekstu:

  • paint_red – kolor czerwony
  • paint_black – kolor czarny

Funkcje do wyświetlania tekstu mają dodatkowo wybór wielkości czcionki: font8, font12, font20 lub font24.

Aby wyświetlić przygotowany bufor należy wywołać kod:

Na końcu programu znajduje się kod wyświetlający grafikę:

Kod opisujący wyświetlaną grafikę znajduje się w pliku imagedata.cpp.

Aby wyświetlić własną grafikę, należy ją odpowiednio przygotować. Można tego dokonać za pomocą prostego programu Image2Lcd (do pobrania z strony Waveshare – LINK lub w sekcji do pobrania). Po pobraniu oraz rozpakowaniu archiwum, należy uruchomić program:

Rysunek 4. Okno programu Image2Lcd

Uprzednio przygotowaną grafikę (o rozmiarze 264 x 176 pikseli), należy załadować do programu wybierając przycisk Open (najlepiej dysponować plikiem z rozszerzeniem .bmp). Po załadowaniu grafiki należy ustawić następujące parametry:

  • Output file type: C array (*.c)
  • Scan mode: Vertical Scan
  • BitPixel: monochrome
  • Max Width and Height: 264 x 176
  • Zaznaczona opcja: Scan Right to Left

Nasz rysunek powinien wyglądać następująco:

Rysunek 5. Przerobiona grafika w programie Image2Lcd

Tak przygotowany plik musimy zapisać. Należy jeszcze przygotować grafikę dla barwy czerwonej. Jeżeli nie chcemy czerwonych elementów, tworzymy pustą grafikę i również zapisujemy jako C array.

Gdy już mamy przygotowane pliki C array dla barwy czarnej i czerwonej otwieramy plik imagedata.cpp (uprzednio tworząc jego kopię) np. w programie notepad++.

Teraz zamiast domyślnej grafiki, w miejsce

Wklejamy przygotowaną przez nasz grafikę (należy przekopiować sam rysunek; nagłówek const unsigned char IMAGE_BLACK[5808] zachować).

Analogiczne postępujemy dla barwy czerwonej

Przenosimy plik imagedata.cpp do pamięci Raspberry pi oraz ponownie kompilujemy program poleceniem:

Oraz uruchamiamy poleceniem:

Jeżeli wszystko skompilowało się i uruchomiło bez błędów, na ekranie pojawi się logo portalu mikrokontroler:

Rysunek 6. Logo portalu mikrokontroler.pl na ekranie EPAPIER

Do pobrania

O autorze