Top Angebote und noch mehr!

Willkommen zu meinem neuen Projekt! In diesem Video stelle ich euch mein ESP32 Touchscreen Control Panel vor, mit dem ihr ein 4-Kanal-Relais-System steuern könnt – direkt über das Display, per Smartphone-App oder über die Weboberfläche. Zusätzlich gibt es viele Funktionen wie: ✅ Relais einzeln oder alle zusammen steuern ✅ Status-Anzeige in Echtzeit auf Display & Handy ✅ WLAN-Auswahl & Passwort-Eingabe direkt am Gerät ✅ SD-Karten-Unterstützung für Bilder & GIF-Hintergründe ✅ Erweiterungen mit Temperatursensor & mehr 👉 Das Projekt ist ein fertiges, montierbares Smart-Home-Produkt – ohne PC und ohne Code-Eingabe!
🔹 1. Hardware & Bibliotheken
-
Display: TFT_eSPI (240×320, Touchscreen eingebaut)
-
Speicher: SD-Karte über SPI
-
Eingabe: Touchscreen (roh kalibriert mit
TOUCH_X_MIN,TOUCH_X_MAXusw.) -
Ausgabe: RGB-LED (Pins 17, 4, 16), Backlight-Pin (27)
-
WiFi: Verbindung zu Netzwerken, Speicherung in Preferences (EEPROM)
-
Relais: externes ESP8266-Board über HTTP (IP, Benutzername, Passwort fest hinterlegt)
-
Bilder: Anzeige von JPGs von SD mit
TJpg_Decoder
🔹 2. GUI-Struktur
Der Bildschirm hat verschiedene Screen States:
Jeder State zeichnet seinen eigenen Screen und verarbeitet Touch-Eingaben.
a) Main Menu
-
6 Buttons:
-
Relais 1–4 schalten
-
Alle Relais
-
Lauflicht (Running Light)
-
-
Unten: Einstellungen-Button
b) Einstellungen (SETTINGS)
-
Buttons: WiFi, Info, LED Settings, SD Bilder, Back
c) WiFi
-
Scan von bis zu 10 Netzwerken
-
Passwort-Eingabe über On-Screen Keyboard
-
Verbindung und Speicherung der Daten in NVS (
Preferences)
d) Info
-
Zeigt:
-
Aktuelles WLAN
-
IP-Adresse
-
Datum & Uhrzeit (über NTP)
-
Copyright
-
e) LED Settings
-
Steuerung der RGB-LED:
-
Rot, Grün, Blau (ein/aus)
-
High/Low Brightness
-
Blinken ein/aus
-
-
Status-Box mit aktuellem LED-Zustand
f) Image Viewer
-
SD-Karte durchsuchen (rekursiv)
-
JPGs auflisten
-
Anzeige in Originalgröße, zentriert
-
Back-Button
🔹 3. Relaissteuerung
-
Über HTTP Requests an ein ESP8266-Board mit fester IP (
192.168.178.88). -
Authentifizierung:
admin / passwort123. -
Steuerung über 4 Buttons (ein/aus).
-
Extra-Button: Alle Relais gleichzeitig.
-
Statusabfrage alle 10 Sekunden (
updateRelayStatus()).
🔹 4. Besonderheiten & Potentielle Probleme
-
LED-Pins vertauscht:
-
Rot-Button →
LED_G -
Grün-Button →
LED_R
Das sieht nach einer falschen Verkabelung oder einem Software-Trick aus.
-
-
Performance:
-
SD-Karten-Zugriff ist blockierend.
-
Touch-Abfrage alle 200ms → kann laggy wirken.
-
-
Sicherheit:
-
Relais-Authentifizierung im Klartext im Code gespeichert.
-
-
Keyboard:
-
Nur Großbuchstaben, keine Sonderzeichen außer
.-_!. -
Kein „OK“-Knopf außer unten „Connect“.
-
-
Rendering:
-
Gradient Buttons manuell gezeichnet → viel Rechenzeit, aber optisch schön.
-
-
WiFi Auto-Reconnect:
-
Nur beim Start versucht. Kein reconnect in
loop().
-
🔹 5. Mögliche Verbesserungen
-
Asynchrones Relais-Update (z. B. mit
HTTPClient.begin()non-blocking). -
Touch-Entprellung verbessern → statt
delay(200)lieber Zeitvergleich mitmillis(). -
Keyboard um Kleinbuchstaben & Sonderzeichen erweitern.
-
SD-Bildanzeige: Option zum Zoomen/Scrollen hinzufügen.
-
Relais-Sicherheit: Authentifizierung nicht im Klartext, sondern z. B. verschlüsselt speichern.
-
LED-Pins richtig zuordnen, falls kein Hardware-Trick gewollt ist.
🔹 ESP32 Pinbelegung laut deinem Sketch
🌈 RGB-LED
⚠️ Achtung: In der LED-Logik im Code ist Rot ↔ Grün vertauscht (Software-Anpassung oder Verdrahtungsfehler).
💡 TFT Display (SPI-Bus)
ESP32 4M FLASH 2.4-inch 240*320 LCD display module with WIFI and Bluetooth
🖐️ Touchscreen (XPT2046)
👉 Touch läuft über SPI (gemeinsam mit Display): MOSI (23), MISO (19), SCLK (18), eigenes CS (21).
💾 SD-Karte (SPI)
👉 Nutzt ebenfalls den SPI-Bus:
-
MOSI → 23
-
MISO → 19
-
SCLK → 18
-
CS → 22
🔌 Versorgung
-
3.3V: ESP32 intern
-
5V (USB oder extern): für ESP32 + Relais + evtl. TFT-Backlight
-
GND: gemeinsam für alle Komponenten
🔹 Pinübersicht in Tabelle
| Funktion | ESP32-Pin | Bemerkung |
|---|---|---|
| TFT MOSI | GPIO 23 | SPI-Daten |
| TFT MISO | GPIO 19 | SPI-Empfang |
| TFT SCLK | GPIO 18 | SPI-Takt |
| TFT CS | GPIO 5 | Chip Select Display |
| TFT DC | GPIO 2 | Data/Command |
| TFT RST | GPIO 4 | Reset |
| TFT BL | GPIO 27 | Backlight |
| Touch CS | GPIO 21 | Chip Select Touch |
| Touch IRQ | — (255) | Nicht angeschlossen |
| SD CS | GPIO 22 | Chip Select SD |
| RGB LED Rot | GPIO 17 | PWM-fähig |
| RGB LED Grün | GPIO 4 | PWM-fähig |
| RGB LED Blau | GPIO 16 | PWM-fähig |
