|

Jak uruchomić Cheap Yellow Display ESP32 2.4″

Jak uruchomić Cheap Yellow Display ESP32 2.4″

Cheap Yellow Display 2.4″ to zintegrowana płytka rozwojowa z mikrokontrolerem ESP32 i kolorowym wyświetlaczem dotykowym TFT o przekątnej 2,4 cala 240×320 px. Moduł wyposażono w dwurdzeniowy układ ESP32-WROOM-32 Wi-Fi + Bluetooth z 4 MB Flash i 520 kB SRAM. Na płytce znajduje się też gniazdo karty microSD, złącza dla czujników, dioda RGB oraz przyciski RESET i BOOT. Programowanie i zasilanie realizowane jest przez port USB-C. Płytka używa konwertera USB-UART CH340, dlatego przed podłączeniem warto zainstalować odpowiedni sterownik. W poniższym poradniku krok po kroku konfigurujemy środowisko Arduino IDE, biblioteki TFT_eSPI i XPT2046_Touchscreen, a następnie uruchamiamy przykładowy program wyświetlający tekst na ekranie i odczytujący dane z panelu dotykowego.

Wymagane materiały

  • Płytka Cheap Yellow Display ESP32 2.4″ 240×320 z panelem dotykowym
  • Przewód USB typ C do połączenia płytki z komputerem
  • Komputer z zainstalowanym Arduino IDE
  • Sterownik USB-UART CH340

Krok 1: Instalacja sterownika i konfiguracja Arduino IDE

  1. Sterownik CH340: Podłączając płytkę do komputera, upewnij się, że system rozpoznaje konwerter USB-UART. Większość płytek ESP32 używa układów CH340 lub CP2102, dla poprawnego wykrycia należy zainstalować właściwy sterownik. Sprawdź oznaczenie na płytce. Cheap Yellow Display używa CH340. Po instalacji podłącz moduł i zweryfikuj, czy pojawił się nowy port COM w systemie Menedżer urządzeń w Windows.
  2. Dodanie obsługi ESP32 w Arduino IDE: Otwórz Arduino IDE i dodaj do Menedżera Płytek URL opisujący platformę ESP32. Wejdź w File → Preferences i w polu Additional Board Manager URLs wklej adres: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json Zatwierdź zmiany przyciskiem OK.
  3. Instalacja pakietu ESP32: Przejdź do Tools → Board → Board Manager Narzędzia → Płytka → Menedżer płytek. Wyszukaj frazę “ESP32” i zainstaluj pakiet esp32 by Espressif Systems. Po pomyślnej instalacji w menu Tools → Board → ESP32 Arduino pojawi się lista dostępnych płytek opartych o ESP32.
  4. Wybór właściwej płytki: Z menu Tools → Board → ESP32 Arduino wybierz np. “ESP32 Dev Module” jako typ płytki. Ten wybór odpowiada modułowi ESP32-WROOM-32 na naszym wyświetlaczu. Następnie w Tools → Port wybierz port COM, pod którym wykryto płytkę np. COM3.
  5. Programowanie i tryb BOOT: Płytka posiada przyciski RESET oraz BOOT (GPIO0). Standardowo ESP32 powinien automatycznie przejść w tryb programowania przy wgrywaniu szkicu z Arduino IDE. Jeśli jednak napotkasz problem z wgrywaniem np. brak synchronizacji, przytrzymaj przycisk BOOT tuż przed i w trakcie rozpoczynania uploadu, a puść go, gdy zobaczysz komunikat „Connecting…”. Spowoduje to ręczne wejście w tryb bootloadera.

Krok 2: Instalacja biblioteki TFT_eSPI i konfiguracja wyświetlacza

Do obsługi wyświetlacza TFT zastosujemy bibliotekę TFT_eSPI. Umożliwia ona szybkie rysowanie grafiki i tekstu na ekranach SPI i wymaga jednorazowej konfiguracji pod konkretny wyświetlacz.

Instalacja TFT_eSPI: W Arduino IDE przejdź do Sketch → Include Library → Manage Libraries. W polu wyszukiwania wpisz “TFT_eSPI”. Zainstaluj bibliotekę TFT_eSPI.

Edycja pliku konfiguracyjnego: Po zainstalowaniu biblioteki znajdź katalog TFT_eSPI w folderze Arduino/libraries np. Documents/Arduino/libraries/TFT_eSPI na Windows. Otwórz plik User_Setup.h w edytorze tekstowym. Musimy dostosować definicje pinów i sterownika wyświetlacza do naszego modułu.

Najpierw włączamy odpowiedni sterownik wyświetlacza. Dla wersji 2,4″ z Cheap Yellow Display jest to sterownik ST7789, należy odkomentować linię #define ST7789_DRIVER usunąć // z jej początku. Jednocześnie zakomentujemy linię #define ILI9341_DRIVER dodać // na początku tej definicji, ponieważ domyślnie biblioteka ma aktywny sterownik ILI9341.

Dodatkowo, jeżeli korzystamy ze sterownika ST7789, musimy ustawić właściwą kolejność kolorów. Domyślnie w bibliotece parametr TFT_RGB_ORDER jest ustawiony na TFT_RGB kolejność: czerwony-zielony-niebieski. Dla wyświetlacza z kontrolerem ST7789 należy go zmienić na TFT_BGR kolejność: niebieski-zielony-czerwony. Dzięki tej modyfikacji kolory będą wyświetlane prawidłowo, w przeciwnym razie barwy mogą być zamienione, np. kolor czerwony wyświetlałby się jako niebieski.

Po ustawieniu sterownika i porządku kolorów musimy jeszcze jawnie zadeklarować rozmiar naszego wyświetlacza. Domyślnie biblioteka TFT_eSPI zakłada, że ST7789 to ekran 240×240 a my mamy 240×320. Jeżeli tego nie zmienimy, obraz może być obcięty od dołu lub przesunięty.

Upewniamy się również, że wyłączona jest programowa inwersja kolorów Dw tym celu odkomentowujemy linię #define TFT_INVERSION_OFF.

Sterowanie podświetleniem ekranu. Niektóre wyświetlacze TFT mają wyprowadzenie do sterowania podświetleniem LED i Cheap Yellow Display też takie ma. Jeśli nie ustawisz odpowiedniego pinu i stanu logicznego, ekran może pozostać czarny mimo poprawnej inicjalizacji kontrolera. W pliku User_Setup.h dodajemy

Na koniec najważniejsze, trzeba ustawić piny, przez które ESP32 komunikuje się z wyświetlaczem TFT. W pliku User_Setup.h szukamy sekcji z definicjami SPI i ustawiamy: Ustawienie TFT_RST -1 oznacza, że wyświetlacz nie ma osobnego pinu resetu, albo jest on podłączony do zasilania 3.3 V, albo do sygnału RESET mikrokontrolera. Taka konfiguracja działa w przypadku Cheap Yellow Display i nie wymaga dodatkowych pinów ESP32.

Na samym końcu musimy jeszcze wskazać, do którego pinu ESP32 podłączony jest panel dotykowy konkretnie: T_CS z XPT2046. W przypadku Cheap Yellow Display to GPIO33.

Po wykonaniu powyższych kroków środowisko jest gotowe do pracy z naszym wyświetlaczem. Możemy teraz napisać i wgrać przykładowe programy.

Krok 3: Przykładowy program wyświetlanie tekstu

Na początek uruchomimy prosty program w Arduino IDE, który inicjalizuje wyświetlacz i wyświetla na nim przykładowy tekst. Upewnij się, że wybrałeś ESP32 Dev Module, odpowiedni COM i wklej poniższy kod:

#include <TFT_eSPI.h>
TFT_eSPI tft = TFT_eSPI();  // obiekt ekranu

void setup() 
{
  tft.init();                 // Inicjalizacja wyświetlacza
  tft.setRotation(1);         // Ustawienie orientacji (0/1/2/3)
  tft.fillScreen(TFT_BLACK);  // Wyczyść ekran (kolor czarny tła)
  tft.setTextColor(TFT_YELLOW, TFT_BLACK); // Kolor tekstu żółty, tło czarne
  tft.drawString("Hello, ESP32!", 20, 20, 2); // Wypisz tekst na pozycji (20,20), czcionka rozmiaru 2
}

void loop() 
{
  // Brak akcji w pętli
}

Po wgraniu szkicu na płytkę, na ekranie powinien pojawić się napis “Hello, ESP32!” na czarnym tle. W powyższym kodzie biblioteka TFT_eSPI korzysta z konfiguracji, którą ustawiliśmy w pliku User_Setup.h. Metody fillScreen() i drawString() demonstrują podstawowe operacje rysowania. Możesz zmienić tekst lub kolory wedle uznania,, dostępnych jest wiele stałych kolorów np. TFT_WHITE, TFT_RED itp.

Jeżeli kompilacja przebiegła pomyślnie, a na wyświetlaczu nadal nic się nie pokazuje biały ekran, sprawdź jeszcze raz konfigurację pinów i sterownika w bibliotece TFT_eSPI. Upewnij się, że wybrany jest ST7789 oraz właściwe numery pinów jak wyżej. Dla niektórych wersji wyświetlaczy 2.4″ zdarza się, że zamiast sterownika ST7789 użyto innego kompatybilnego kontrolera np. ILI9341 objawia się to odwróconymi kolorami lub brakiem obrazu. W takiej sytuacji w konfiguracji można spróbować użyć definicji ILI9341_DRIVER zamiast ILI9341. W większości przypadków Cheap Yellow Display 2.4″ działa jednak z powyższymi ustawieniami dla ST7789.

Krok 4: Uruchomienie dotyku

Cheap Yellow Display posiada wbudowany oporowy panel dotykowy oparty o kontroler XPT2046, który komunikuje się z ESP32 przez SPI. Dobrą wiadomością jest to, że nie musimy instalować żadnych dodatkowych bibliotek, obsługę dotyku zapewnia bezpośrednio biblioteka TFT_eSPI.

Poniżej znajduje się przykładowy szkic, który wykorzystuje dotyk do zmiany koloru tła ekranu:

#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

uint16_t colors[] = {
  TFT_RED, TFT_GREEN, TFT_BLUE, TFT_YELLOW,
  TFT_CYAN, TFT_MAGENTA, TFT_WHITE, TFT_BLACK
};
int colorIndex = 0;

void setup() 
{
  Serial.begin(115200);
  Serial.println("Cheap Yellow Display – Dotyk i kolory");

  tft.begin();
  tft.setRotation(1);

  tft.fillScreen(TFT_BLACK);
  tft.setTextColor(TFT_WHITE);
  tft.drawString("Dotknij ekran, by zmienic kolor", 10, 10, 2);

  uint16_t calData[5] = {229, 3638, 394, 3490, 1};
  tft.setTouch(calData);
}

void loop() 
{
  uint16_t x, y;

  if (tft.getTouch(&x, &y)) 
  {
    Serial.printf("Dotyk: x=%d, y=%d\n", x, y);

    colorIndex = (colorIndex + 1) % 8;
    tft.fillScreen(colors[colorIndex]);

    tft.setTextColor(colorIndex == 7 ? TFT_WHITE : TFT_BLACK);
    tft.drawString("Dotknij ponownie", 10, 10, 2);

    while (tft.getTouch(&x, &y)) delay(50);
    delay(150);
  }

  delay(20);
}

Po wgraniu programu:

  • na ekranie pojawi się komunikat o dotknięciu,
  • dotknięcie spowoduje zmianę tła na inny kolor,
  • w monitorze portu szeregowego zobaczysz współrzędne punktu dotyku.

Dzięki temu łatwo sprawdzisz, czy panel dotykowy działa poprawnie i czy dane kalibracyjne są odpowiednie.

Jak działa przykład z dotykiem?

Ten prosty szkic wykorzystuje funkcję tft.getTouch() z biblioteki TFT_eSPI, która pozwala odczytać aktualne współrzędne dotyku z panelu oporowego. W momencie wykrycia dotknięcia:

  1. Zmieniany jest indeks koloru colorIndex, który wskazuje jeden z 8 predefiniowanych kolorów w tablicy colors[]: uint16_t colors[] = { TFT_RED, TFT_GREEN, TFT_BLUE, TFT_YELLOW, TFT_CYAN, TFT_MAGENTA, TFT_WHITE, TFT_BLACK };
  2. Nowy kolor tła jest rysowany na całym ekranie przez tft.fillScreen().
  3. Na ekranie wyświetlany jest tekst: „Dotknij ponownie”, a jego kolor dopasowuje się dynamicznie, jeśli tło jest czarne TFT_BLACK, tekst jest biały, w przeciwnym razie czarny: tft.setTextColor(colorIndex == 7 ? TFT_WHITE : TFT_BLACK);
  4. Kod zawiera pętlę oczekującą na puszczenie dotyku: while (tft.getTouch(&x, &y)) delay(50); Dzięki temu każde dotknięcie zmienia kolor tylko raz, nawet jeśli użytkownik przytrzyma palec.
  5. Wartości współrzędnych X/Y są wypisywane w monitorze portu szeregowego, to przydatne przy sprawdzaniu czułości i ewentualnej kalibracji.

🛠️ Najczęstsze problemy i ich rozwiązania Cheap Yellow Display ESP32 2.4″

Podczas pierwszego uruchamiania Cheap Yellow Display 2.4″ użytkownicy często napotykają kilka powtarzających się problemów: biały ekran, brak dotyku, problemy z uploadem szkicu czy odwrócone kolory. Poniżej znajduje się zestawienie najczęstszych błędów oraz sprawdzonych sposobów ich usunięcia. Dzięki temu szybciej zdiagnozujesz źródło problemu i unikniesz zbędnego tracenia czasu.

❌ 1. Biały ekran po uruchomieniu płytki

To najczęstszy objaw błędnej konfiguracji biblioteki TFT_eSPI.

Możliwe przyczyny:

  • wybrany niewłaściwy sterownik (np. domyślny ILI9341 zamiast ST7789),
  • brak ustawionego rozmiaru ekranu 240×320,
  • wyłączone podświetlenie LED,
  • błędne piny SPI w User_Setup.h.

Rozwiązania:

  1. W pliku User_Setup.h upewnij się, że aktywne jest: #define ST7789_DRIVER a zakomentowane: //#define ILI9341_DRIVER
  2. Dodaj rozdzielczość ekranu: #define TFT_WIDTH 240 #define TFT_HEIGHT 320
  3. Aktywuj podświetlenie LED GPIO27: #define TFT_BL 27 #define TFT_BACKLIGHT_ON HIGH

❌ 2. Obraz się wyświetla, ale kolory są odwrócone np. czerwony = niebieski

Przyczyna:

Nieprawidłowa kolejność kanałów RGB.

Rozwiązanie:

W User_Setup.h ustaw: define TFT_RGB_ORDER TFT_BGR
Po tej zmianie kolory będą odwzorowane prawidłowo.

❌ 3. Brak reakcji dotyku (XPT2046)

Przyczyny:

  • nieustawiony pin T_CS panelu dotykowego,
  • brak kalibracji,
  • konflikt z inną konfiguracją SPI.

Co sprawdzić:

  1. W User_Setup.h musi znajdować się: #define TOUCH_CS 33
  2. Dodaj dane kalibracyjne, np.: uint16_t calData[5] = {229, 3638, 394, 3490, 1}; tft.setTouch(calData);
  3. Jeśli dotyk działa tylko częściowo — wykonaj kalibrację programem z przykładu:
    File → Examples → TFT_eSPI → Touch_calibrate

❌ 4. Nie można wgrać szkicu błąd „Failed to connect”

Typowe przyczyny:

  • ESP32 nie przechodzi automatycznie w tryb bootloadera,
  • brak sterownika CH340,
  • uszkodzony przewód USB.

Rozwiązania:

  1. Wejście w tryb BOOT ręcznie
    Przytrzymaj BOOT, kliknij Upload, puść BOOT gdy pojawi się „Connecting…”.
  2. Zainstaluj sterownik CH340
    Windows nie zawsze rozpoznaje konwerter USB-UART automatycznie.
  3. Zmień przewód USB
    Często winny jest kabel, który służy tylko do ładowania.

Podsumowanie

Cheap Yellow Display 2.4″ to wyjątkowo wszechstronna i niedroga płytka rozwojowa z ESP32, która łączy w jednym module kolorowy wyświetlacz TFT, panel dotykowy, kartę microSD i dodatkowe peryferia. Aby w pełni wykorzystać jej możliwości, kluczowa jest poprawna konfiguracja biblioteki TFT_eSPI, właściwy dobór sterownika ST7789, ustawienie pinów oraz aktywacja podświetlenia LED. Po wykonaniu tych kroków płytka działa stabilnie i pozwala uruchamiać zarówno proste programy testowe, jak i bardziej zaawansowane projekty graficzne czy interfejsy użytkownika. Po poprawnym skonfigurowaniu środowiska Cheap Yellow Display staje się bardzo wygodną platformą do nauki ESP32, tworzenia paneli sterujących, wyświetlaczy statusowych, mini interfejsów IoT, testerów i wielu innych projektów. To świetny punkt wyjścia zarówno dla początkujących, jak i dla bardziej zaawansowanych hobbystów.


Prezentowaną w artykule elektronikę znajdziesz oczywiście w naszym sklepie 👉 sklep.msalamon.pl 👈Zapraszamy również na nasze social media, gdzie na bieżąco informujemy o nowych produktach oraz o najciekawszych promocjach 😎👇


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *