CrowPanel DIS08070H to 7-calowy panel HMI z pojemnościowym ekranem dotykowym o rozdzielczości 800×480 pikseli, zaprojektowany jako gotowa platforma do budowy interfejsów użytkownika w systemach embedded. Urządzenie bazuje na module ESP32-S3-WROOM-1-N4R8, który oferuje dwurdzeniowy procesor Xtensa LX7 taktowany do 240 MHz, 4 MB Flash oraz 8 MB PSRAM, a także wbudowaną łączność Wi-Fi i Bluetooth 5.0. Zastosowany wyświetlacz TFT-LCD wykorzystuje układy sterujące EK9716BD3 oraz EK73002ACGB, pracujące w trybie równoległego interfejsu RGB dla panelu 800×480. Dzięki temu możliwe jest uzyskanie płynnej grafiki w bibliotekach takich jak LVGL bez typowych ograniczeń wydajności magistrali SPI. Całość uzupełniają dodatkowe interfejsy sprzętowe (UART, I²C, GPIO), slot karty microSD oraz wyjście audio, co pozwala stosować panel jako solidną podstawę do wielu projektów z dziedziny IoT i automatyki.
Urządzenie jest do kupienia za około 100 PLN. W zestawie otrzymujemy też przewody (USB oraz Crowtail/Dupont) i krótką instrukcję.
Konkretną lokalizację złącz pokazuje grafika:
Schemat zamieszczam w załączniku w formacie PDF.
Płytka ma wgrany przykładowy program:
Wykonałem jego kopię zapasową:
https://github.com/openshwprojects/FlashDumps/commit/23b44a168f7a9ba962a8a85af8078f628fac1384
Płytkę najłatwiej uruchomić z biblioteką ESP32_Display_Panel. Bibliotekę prezentowałem już w kontekście innych wyświetlaczy:
ESP32-S3-Touch-LCD-4.3 czyli ESP32-S3 i ekran dotykowy - uruchomienie w PlatformIO
Waveshare ESP32-S3-Touch-LCD-5 - Wi-Fi, BLE, CAN, RS485 i ekran dotykowy 800x480
Sytuacja tu jest podobna. Uruchomienie sprowadza się do włączenia wsparcia naszej konkretnej płytki w konfiguracji biblioteki. Ustawia to automatycznie wszystkie numery wyprowadzeń sprzętowych (od magistrali RGB LCD, panelu dotykowego, I2C itp.), dzięki czemu nie musimy szukać noty katalogowej i ręcznie mapować pinów.
Przykładowo, w środowisku Arduino IDE (lub PlatformIO) wystarczy najczęściej odkomentować makro w pliku ESP_Panel_Board_Supported.h:
Kod: C / C++
Tym razem do tego procesu użyliśmy naszego wieloplatformowego firmware IoT wspierającego ponad 32 platformy, choć sterownik uruchomiony jest tylko na ESP32. Po prostu dokonaliśmy integracji wskazanej biblioteki. Poszło szybko i sprawnie - trzeba było jedynie dopisać do naszego skryptu budującego przekazywanie dwóch ustawień Kconfig do pliku sdkconfig (nasz system w pełni automatyzuje proces budowy z ESP-IDF):
Kod: Ini
To wszystko - biblioteka ESP32_Display_Panel zajmie się resztą i cała konfiguracja wyświetlacza oraz dotyku dokona się automatycznie (na bazie gotowych definicji).
Oto rezultaty:
Kod przykładu (w naszym OBK, ale w PlatformIO/ESP IDF LVGL by był identyczny):
Kod: C / C++
Podsumowując, to była kolejna platforma do doświadczeń z LVGL. W tym konkretnym przypadku wyświetlacz opierał się o kontrolery EK9716BD3 oraz EK73002ACGB (interfejs RGB), a dotyk o układ GT911, ale nie robi to bardzo dużej różnicy względem omawianych wcześniej Waveshare, zwłaszcza że wszystko jest schowane pod maską użytej biblioteki. ESP32 Display Panel znów stanął na wysokości zadania i pokazał, że rozpoczęcie przygody z LVGL wcale nie jest takie trudne.
Korzystając z okazji, mogę przypomnieć powiązaną serię materiałów:
ESP32 i wyświetlacz dotykowy - tutorial - część 1 - jak programować? Podstawy
ESP32 i wyświetlacz dotykowy - część 2 - jak rysować piksele, linie, kształty, kwestia wydajności
ESP32 i wyświetlacz dotykowy - tutorial cz. 3 - interakcje, gry i zabawy
ESP32 i wyświetlacz dotykowy - tutorial cz. 4 - pogoda z internetu, API, JSON
ESP32 i wyświetlacz dotykowy - część 5 - LVGL w SquareLine Studio
ESP32 i wyświetlacz dotykowy - część 6, kontrola lampy RGB, RGB picker
ESP32 i wyświetlacz dotykowy - część 7, jak zrobić klawiaturę w LVGL? Logowanie.
Na koniec chyba muszę jeszcze standardowo podkreślić, że taki wyświetlacz nie dorówna wydajnościowo współczesnym tabletom dotykowym, więc każdy musi sam ocenić, czy w praktyce taki sprzęt mu odpowiada. Dodatkowo im więcej elementów na UI, też tym mniejszy FPS i po prostu w pewnym stopniu czuć, że nie jest to współczesny smartfon. Ale czy to taki problem? Do wielu projektów i tak powinno starczyć.
Czy już budowaliście coś w oparciu o taki wyświetlacz z LVGL? Dajcie znać w komentarzach.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.