ESP32‑C6‑LCD‑1.47 to malutki moduł z 1.47‑calowym wyświetlaczem o rozdzielczości 172×320 pikseli oferujący zgodność z Wi‑Fi 6 (802.11 ax/b/g/n) i Bluetooth 5 (BLE), wyposażony w układ ST7789 oraz pamięć flash 4 MB. Można go kupić za około 50 zł.
Na pokładzie znajduje się:
- dwurdzeniowy ESP32‑C6 RISC‑V – główny do 160 MHz, 512 KB HP‑SRAM + 16 KB LP‑SRAM + 320 KB ROM
- wbudowane anteny ceramiczne do łączności bezprzewodowej: 2.4 GHz Wi‑Fi 6, Bluetooth 5 (z BLE i Mesh)
- wyświetlacz: TFT ST7789, 262 K kolorów, podłączony przez 6‑pinowe SPI piny: MOSI GPIO6, SCLK GPIO7, CS GPIO14, DC GPIO15, RST GPIO21, BL GPIO22
- gniazdo micro‑SD (TF card slot) .
- port USB-C do programowania/zasilania, LDO ME6217C33M5G 800 mA
- przyciski BOOT i RESET, wskaźnik RGB LED z panelem akrylowym, GPIO wyprowadzone na złącza szpilkowe
Schemat:
Konfiguracja środowiska pracy
Najwygodniej programować jest tą płytkę w Visual Code z dodatkiem ESP-IDF. Instalujemy Visual Code a potem już w samym IDE instalujemy rozszerzenia - C/C++ oraz ESP-IDF.
Po dodaniu pluginu ESP-IDF możemy w nim wybrać istniejące SDK lub pobrać je osobno. Wciskamy F1, wklejamy.
esp-idf: configure esp-idf extensionKonfigurujemy w trybie ekspresowym - wedle instrukcji z ekranu.
Dobieramy najnowszą wersję ESP-IDF, chyba że w instrukcji od producenta jest inaczej opisane.
Potem wedle kroków od Waveshare:
Obsługa jest bardzo prosta, wykonujemy kolejno kroki z menu po lewej:
Wybieramy ESP (C6), sposób programowania (USB), wirtualny port COM (zależy od naszego systemu), itd.
Ważne też by zrobić pełną rekompilację projektu, przynajmniej za pierwszym razem.
[0/1] Re-running CMake...CMake Error at W:/TOOLS/esp/v5.4.2/esp-idf/tools/cmake/targets.cmake:97 (message):
IDF_TARGET 'esp32' in CMake cache does not match currently selected IDF_TARGET 'esp32c6'. To change the target, clear the build directory and sdkconfig file, and build the project again.Call Stack (most recent call first):
W:/TOOLS/esp/v5.4.2/esp-idf/tools/cmake/project.cmake:24 (__target_init)
CMakeLists.txt:3 (include)
Całość powinna się poprawnie skompilować.
Po wgraniu można pobawić się demkami. Edytujemy main.c i wołane tam funkcje:
Np. zmieniamy napis:
Rezultat:
Inne przykłady od LVGL
Można też przełączyć na inny przykład, po prostu wywołując odpowiednią funkcję w main:
Kod: C / C++
Tyle, że tu nie mamy obsługi dotyku więc część demek traci swój sens.
lv_demo_benchmark to test renderingu kształtów. Na koniec pokazuje rezultaty:
Podsumowanie benchmarka:
To teraz demo lv_demo_stress, czyli prezentacja komponentów UI. Na tak małym ekranie to słabo wygląda.
Zostaje lv_demo_music, ale u mnie się nie kompiluje.
Własne demko pogodowe
Właczyłem brakującą czcionkę lv_font_montserrat_46 w lv_conf i przygotowałem dla Was proste demko. Jest to sam interfejs bez jego rzeczywistej obsługi, ma to być prosty wyświetlacz pogody. Pokazuje on również ikonkę, która już była w projekt wbudowana.
Kod: C / C++
Rezultat:
I to chyba będzie na tyle....
Podsumowanie
Fajny i mały moduł. Szkoda, że tutaj bez obsługi dotyku. W ESP-IDF wygodnie się go programuje. Osobiście myślę by spróbować tego typu moduły umieszczać natynkowo w formie jakiegoś prostego dodatku do termostatu lub innego rodzaju kontroli automatyki budynkowej, ale może wezmę jednak coś z obsługą panelu dotykowego.
A jak Wy sądzicie, do czego byście wykorzystali ten moduł?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.