Instrukcja uruchomienia wyświetlacza TFT ILI9341 z dotykiem na ESP32

Wyświetlacz TFT ILI9341 z dotykiem XPT2046 to popularne rozwiązanie dla projektów opartych na ESP32, STM32 oraz innych mikrokontrolerach, umożliwiające wygodne wyświetlanie informacji i interakcję z użytkownikiem. Dzięki dużej dostępności i stosunkowo prostemu podłączeniu, ekran ten jest często wybierany przez hobbystów oraz profesjonalistów do tworzenia interaktywnych interfejsów. W tym artykule przedstawimy krok po kroku, jak podłączyć wyświetlacz do ESP32, skonfigurować niezbędne biblioteki oraz uruchomić testowe programy, aby upewnić się, że zarówno obraz, jak i funkcja dotyku działają poprawnie.
Wyświetlacze dostępne w naszej ofercie:
🛒 Wyświetlacz dotykowy TFT LCD 2,8″ ST7789V 240x320px z czytnikiem SD SPI
🛒 Wyświetlacz dotykowy TFT LCD 2,4″ 240x320px z czytnikiem SD SPI ST7789
🛒 Wyświetlacz dotykowy TFT LCD 2,8″ 240x320px z czytnikiem SD SPI
🛒 Wyświetlacz dotykowy TFT LCD 3,2″ 240x320px z czytnikiem SD SPI ILI9341
🛒 Wyświetlacz dotykowy TFT LCD 2,4″ 240x320px z czytnikiem SD SPI ILI9341

Podłączenie wyświetlacza do ESP32
Podłącz wyświetlacz TFT do ESP32 zgodnie z poniższą tabelą:
Wyświetlacz TFT ILI9341
PIN TFT | PIN ESP32 |
VCC | 3,3 V |
GND | GND |
CS | 15 |
RESET | 4 |
DC | 2 |
SDI(MOSI) | 23 |
SCK | 18 |
LED | 3,3 V |
SDO(MISO) | 21 |
Dotyk XPT2046 (wbudowany w wyświetlacz)
PIN Dotyku | PIN ESP32 |
T_CS | 5 |
T_DIN (MOSI) | 23 |
T_DO (MISO) | 21 |
T_CLK (SCK) | 18 |
Instalacja biblioteki
Otwórz Arduino IDE, przejdź do Biblioteki (Library Manager) i wyszukaj oraz zainstaluj:
TFT_eSPI (do obsługi wyświetlacza i dotyku XPT2046)
Konfiguracja biblioteki TFT_eSPI
Musimy dostosować plik User_Setup.h, aby działał zarówno wyświetlacz, jak i dotyk.
Znajdź plik User_Setup.h w katalogu biblioteki TFT_eSPI:
C:\Users(nazwa_użytkownika)\Documents\Arduino\libraries\TFT_eSPI\User_Setup.h
Otwórz go w edytorze tekstu i znajdź poniższe linie.
Upewnij się, że są odkomentowane
#define ILI9341_DRIVER
Oraz zakomentowane pozostałe linjki z tej sekcji

Następnie odszukujemy “For NodeMCU”, i komentujemy wszystkie poniższe linie definicji.
aby uzyskać taką konfigurację

Następnie odszukujemy sekcję “ESP32 SETUP” i w tym miejscu ustawiamy przypisania pinów zgodnie z tabelą przedstawioną na początku. Piny takie jak TFT_CS, TFT_DC, TFT_RST oraz TOUCH_CS możemy dowolnie przypisać do innych GPIO, pod warunkiem, że odpowiednio podłączymy je do ESP32.
Docelowo powinieneś uzyskać konfigurację jak na załączonym zdjęciu.
Następnie, po wykonaniu tych kroków, zapisujemy zmiany w pliku User_Setup.h i zamykamy go. Dzięki temu konfiguracja zostanie zastosowana i będzie gotowa do użycia w Arduino IDE.

Jeśli masz inny sterownik, np. ST7789, konfiguracja wygląda bardzo podobnie.
W takim przypadku zamiast #define ILI9341_DRIVER
odkomentuj odpowiednią linię dla swojego sterownika,
#define ST7789_DRIVER
Aby kolory wyświetlały się poprawnie, należy usunąć // przed następującymi liniami:
#define TFT_INVERSION_OFF
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
Dalsza konfiguracja pozostaje taka sama – należy odpowiednio przypisać piny oraz skonfigurować ustawienia zgodnie z dalszymi krokami instrukcji.
Uruchomienie testowego programu wyświetlacza
Aby sprawdzić działanie wyświetlacza, w Arduino IDE wybierz:
File → Examples → TFT_eSPI → 320×240 → TFT_Meters
Wgraj kod i sprawdź, czy na ekranie pojawi się animacja wskaźników.

Testowanie dotyku
Aby sprawdzić, czy dotyk działa poprawnie, wgraj przykładowy kod testowy, który możesz pobrać z poniższego linka:
Po wgraniu kodu na ESP32, otwórz Monitor portu szeregowego w Arduino IDE i sprawdź, czy wyświetlane są komunikaty potwierdzające wykrycie naciśnięcia przycisku.
Na początku programu wyświetlacz przeprowadzi kalibrację dotyku – na ekranie pojawi się instrukcja, aby nacisnąć każdy róg ekranu raz, zgodnie z wyświetlanymi punktami. Jest to niezbędne, aby poprawnie skalibrować dotyk.

Po zakończeniu kalibracji w konsoli powinny pojawiać się komunikaty w zależności od wciśniętego przycisku na ekranie dotykowym, np.
13:53:15.835 -> Red btn hit
13:53:15.835 -> 0
13:53:16.195 -> 0
13:53:16.600 -> 0
13:53:20.365 -> Green btn hit
13:53:20.365 -> 1
13:53:20.410 -> 1
„Red btn hit” – przycisk czerwony został naciśnięty, wartość 0.
„Green btn hit” – przycisk zielony został naciśnięty, wartość 1.
Wartość 0 lub 1 zmienia się w zależności od stanu przycisku, co oznacza, że ekran dotykowy poprawnie wykrywa dotyk.

Dodatkowo, przy dotknięciu ekranu w danym miejscu powinny pojawiać się czarne kropki, wskazujące lokalizację dotyku. Jest to wizualne potwierdzenie, że ekran reaguje na dotyk i poprawnie śledzi pozycję.
Jeśli komunikaty pojawiają się zgodnie z dotykanymi przyciskami i czarne kropki rysują się we właściwych miejscach, oznacza to, że dotyk działa poprawnie i jest gotowy do dalszego wykorzystania w programie. 🚀

Podsumowanie
Po wykonaniu wszystkich kroków opisanych w tej instrukcji Twój wyświetlacz TFT ILI9341 z dotykiem XPT2046 powinien działać poprawnie w połączeniu z ESP32. Dzięki odpowiedniej konfiguracji biblioteki TFT_eSPI oraz prawidłowemu podłączeniu pinów możesz teraz wykorzystywać ekran do różnych zastosowań, takich jak wizualizacja danych, sterowanie urządzeniami czy tworzenie interaktywnych interfejsów użytkownika.
Jeśli napotkałeś jakiekolwiek problemy, sprawdź poprawność podłączenia i konfiguracji w pliku User_Setup.h. Teraz możesz przejść do dalszego rozwijania swojego projektu i dostosowywania ekranu do własnych potrzeb. Powodzenia! 🚀

Wyświetlacze TFT z dotykiem dostępne w naszej ofercie:
Więcej treści na temat wyświetlaczy TFT, która może Cię zainteresować:

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 😎👇