Nietypowy wyświetlacz ST7789P3 284×73 pix – test i charakterystyka
Wprowadzenie
Zakupiłem ostatnio ciekawy wyświetlacz w rozsądnej cenie:
W świecie mikrokontrolerów i wyświetlaczy TFT czasami natrafiamy na perełki, które wyróżniają się nietypowymi parametrami. Takim właśnie egzemplarzem jest wyświetlacz ST7789P3 – sterownik znany, ale w zupełnie niestandardowym wykonaniu. W tym artykule omówię ten ciekawy wyświetlacz i pokażę, jak go uruchomić z ESP32.
Parametry techniczne
| Sterownik | ST7789P3 |
| Rozdzielczość | 284 × 73 pikseli |
| Interfejs | SPI |
| Kolory | 16-bit (65K kolorów) |
| Wymiary aktywne | ~61.0 × 15.7 mm |
| Podświetlenie | LED, 3.3V |
| Napięcie zasilania | 3.3V |
Uwaga: Rozdzielczość 284×73 pikseli jest nietypowa dla sterowników ST7789, które zazwyczaj obsługują standardowe rozdzielczości jak 240×240 czy 135×240. Ten "wąski i szeroki" format sprawia, że wyświetlacz idealnie nadaje się do aplikacji wymagających pasków stanu, wskaźników czy minimalistycznych interfejsów.
Podłączenie do ESP32
Konfiguracja połączeń z mikrokontrolerem ESP32 przedstawia się następująco:
#define TFT_CS 15 // Chip Select #define TFT_RST 4 // Reset #define TFT_DC 2 // Data/Command #define TFT_MOSI 23 // MOSI (SDA) #define TFT_SCLK 18 // Clock (SCK) #define TFT_BACKLIGHT 5 // Podświetlenie
Schemat połączeń:
VCC → 3.3V ESP32
GND → GND ESP32
CS → GPIO15
RST → GPIO4
DC → GPIO2
SDA → GPIO23
SCK → GPIO18
BL → GPIO5
Kluczowa różnica: podświetlenie aktywne stanem LOW
UWAGA! To najważniejsza informacja dla osób mających problemy z uruchomieniem tego wyświetlacza:
pinMode(TFT_BACKLIGHT, OUTPUT); digitalWrite(TFT_BACKLIGHT, LOW); // AKTYWACJA podświetlenia
W przeciwieństwie do większości standardowych wyświetlaczy ST7789, gdzie podświetlenie aktywowane jest stanem HIGH, w modelu ST7789P3 podświetlenie wymaga stanu LOW. To częsty powód, dla którego wiele osób sądzi, że ma uszkodzony egzemplarz – podświetlenie po prostu nie świeci, mimo poprawnego podłączenia.
Inicjalizacja w Arduino IDE
Do obsługi wyświetlacza wykorzystaliśmy bibliotekę Adafruit_ST7789 z następującą konfiguracją:
#include <Adafruit_GFX.h> #include <Adafruit_ST7789.h> #define TFT_WIDTH 284 #define TFT_HEIGHT 76 Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); void setup() { pinMode(TFT_BACKLIGHT, OUTPUT); digitalWrite(TFT_BACKLIGHT, LOW); // Włącz podświetlenie tft.init(TFT_HEIGHT, TFT_WIDTH); // Uwaga: wysokość, szerokość tft.setRotation(1); // Obrót 90° tft.fillScreen(ST77XX_BLACK); }
Ważne: W funkcji init() podajemy najpierw wysokość (76), a potem szerokość (284), a dopiero setRotation(1) zapewnia prawidłową orientację poziomą.
Teraz niestety będziemy mieli obraz w negatywie. Musimy zmienić go na pozytyw. To znaczy, w sekcji Viod Setup () musimy dodać:
tft.invertDisplay(false);
Wyzwania i rozwiązania
Podczas konfiguracji napotkałem kilka wyzwań:
Nietypowa rozdzielczość - wymagała ręcznego zdefiniowania wymiarów
Orientacja - konieczność użycia
setRotation(1)dla pozycji poziomejPodświetlenie - odwrotna polaryzacja niż w standardowych modelach
Optymalizacja animacji - konieczność minimalizowania mrugania poprzez częściowe odświeżanie
Przykładowe zastosowania
Dzięki nietypowym proporcjom, wyświetlacz idealnie nadaje się do:
Pasków stanu i wskaźników progresu
Miniaturowych konsoli do debugowania
Wyświetlaczy parametrów w projektach audio a szczególnie jako wyświetlacze do zasilaczy
Interface'ów dla czujników środowiskowych
Projektów wearable tech (ze względu na wąski format)
Podsumowanie
ST7789P3 w rozdzielczości 284×73 to ciekawa alternatywa dla standardowych wyświetlaczy TFT. Pomimo początkowych wyzwań konfiguracyjnych, oferuje unikalne możliwości dla niszowych aplikacji. Kluczowe dla sukcesu jest pamiętanie o odwróconej polaryzacji podświetlenia - bez tej wiedzy uruchomienie wyświetlacza może być frustrującym doświadczeniem.
Czy warto? Dla projektów wymagających kompaktowego, poziomego wyświetlacza - zdecydowanie tak! To dowód na to, że nawet znane sterowniki mogą kryć w sobie nietypowe implementacje wartexploration. Do tego ta cena!
Napisałem prosty program demonstrujący podstawowe możliwości wyświetlacza a za razem testujący go.
Pliki do pobrania: Pełny kod demo dostępny jest w repozytorium projektu. Pamiętaj o autorze i wspomnij o nim gdy będziesz rozpowszechniał ten program i projekt :) Dziękuję.
Test i demo wyświetlacza ST7789P3 -link






