Cheap Yellow Display mit Tastern erweitern â so gehtâs
Das Cheap Yellow Display (CYD) verfĂŒgt ĂŒber eine integrierte TouchoberflĂ€che, ĂŒber die sich komfortabel virtuelle Buttons auf dem Display realisieren lassen. In vielen Projekten reicht das völlig aus.
Es gibt jedoch Situationen, in denen klassische Taster sinnvoller sind â zum Beispiel dann, wenn das Display nicht ungeschĂŒtzt zugĂ€nglich sein soll oder das GerĂ€t in einem GehĂ€use verbaut wird. Auch fĂŒr robuste Industrie- oder Outdoor-Anwendungen sind physische Taster oft die bessere Wahl.
Auf der RĂŒckseite des CYD befinden sich zwei AnschlĂŒsse, ĂŒber die insgesamt fĂŒnf freie GPIOs des verbauten ESP32 erreichbar sind. Ăber diese Pins lassen sich problemlos bis zu fĂŒnf Taster anschlieĂen und direkt Funktionen auf dem Display auslösen.
https://youtu.be/Mo5ZAxKVj9w
In diesem Beitrag zeige ich dir nicht nur, wie du diese vier Taster korrekt anschlieĂt, sondern auch eine elegante Lösung, mit der du noch mehr als vier Taster verwenden kannst.
Schaltung - ESP32 - Cheap Yellow Display mit zwei Taster auf Breadboard
Cheap Yellow Display mit zwei Taster - aktive blaue LED
Cheap Yellow Display mit zwei Taster - aktive gelbe LED
Zwei Möglichkeiten, einen Taster anzuschlieĂen
GrundsĂ€tzlich gibt es zwei Wege, einen Taster an einen GPIO des ESP32 anzuschlieĂen:
- Mit externem PullUp- oder PullDown-Widerstand - Ohne externen Widerstand, unter Nutzung der internen PullUp-Funktion des ESP32
Schaltung - Pullup & Pulldown Widerstand
Die bequemere und fĂŒr die meisten Projekte völlig ausreichende Variante ist die zweite. Hier nutzen wir einfach die im ESP32 integrierten PullUp-WiderstĂ€nde. Dadurch wird die Verdrahtung deutlich einfacher und es sind keine zusĂ€tzlichen Bauteile notwendig.
Schaltung - ESP32 - Cheap Yellow Display mit zwei Taster auf Breadboard
Benötigte Komponenten
FĂŒr den Anschluss von vier Tastern benötigst du:
- zwei Taster* (12Ă12 mm, Printmontage, mit Tasterkappe) - fĂŒnf Breadboardkabel*, 10 cm, mĂ€nnlichâmĂ€nnlich - ein 400 Pin Breadboard* - ein Anschlusskabel* (Breadboardkabel weiblich auf vierpolige Mini-JST-AnschlĂŒsse, 1.25 mm Raster, PH 1.25 4 Pin) - ein ESP32 Cheap Yellow Display*
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du ĂŒber diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beitrĂ€gt, diesen Blog zu unterstĂŒtzen. Der Preis fĂŒr dich bleibt dabei unverĂ€ndert. Vielen Dank fĂŒr deine UnterstĂŒtzung!
Da das Cheap Yellow Display ĂŒber insgesamt vier freie GPIOs verfĂŒgt, lassen sich grundsĂ€tzlich bis zu vier Taster anschlieĂen.
Mit dem mitgelieferten 4-poligen Mini-JST-Kabel können jedoch nur zwei dieser GPIOs komfortabel genutzt werden. Möchtest du alle vier freien Pins verwenden und somit vier Taster anschlieĂen, benötigst du ein weiteres passendes Anschlusskabel.
Solche Mini-JST-Kabel mit 1,25 mm Raster (PH_1.25_4P) findest du beispielsweise bei Amazon oder AliExpress meist recht gĂŒnstig.
Freie GPIOs auf der RĂŒckseite des Cheap Yellow Display
Auf der RĂŒckseite des Cheap Yellow Display (ESP32-2432S028) befinden sich zwei Mini-JST-AnschlĂŒsse, ĂŒber die mehrere freie GPIOs des ESP32 erreichbar sind.
Diese sind wie folgt aufgebaut:
Anschluss 1:
- 3Ă GPIO - 1Ă GND
Anschluss 2:
- 2Ă GPIO - 1Ă GND - 1Ă 3,3V
freie GPIO am ESP32-2432S028 (CYD)
Damit stehen dir insgesamt fĂŒnf frei nutzbare GPIO-Pins zur VerfĂŒgung, die sich ideal fĂŒr Taster, Sensoren oder andere digitale EingĂ€nge eignen.
Der Anschluss mit der zusĂ€tzlichen 3,3V-Leitung ist besonders praktisch, wenn du externe Bauteile direkt mit der vom Board bereitgestellten Spannung versorgen möchtest â beispielsweise Sensoren oder Widerstandsnetzwerke.
Wichtig: Die GPIOs arbeiten mit 3,3V Logik. Es dĂŒrfen daher keine 5V-Signale direkt an diese Pins angelegt werden.
Warum ohne externen Widerstand?
Beim Anschluss ohne externen Widerstand wird der Taster wie folgt verschaltet:
- Ein Pin des Tasters â an einen GPIO - Der andere Pin â an GND
Im Code wird der GPIO dann als INPUT_PULLUP definiert. Der interne PullUp-Widerstand sorgt dafĂŒr, dass der Pin im Normalzustand auf HIGH liegt. Beim DrĂŒcken des Tasters wird der Pin mit GND verbunden und geht auf LOW.
Programmierung vorbereiten
Bevor wir mit der Programmierung beginnen, solltest du zunĂ€chst alle angeschlossenen Kabel vom Cheap Yellow Display entfernen â mit Ausnahme des USB-Kabels zur Stromversorgung und zum Upload des Sketches.
Der Grund dafĂŒr ist einfach: Nach einem Reset oder beim Hochladen eines neuen Programms können die GPIOs kurzfristig ihren Zustand Ă€ndern. Je nach vorherigem Sketch können Pins beispielsweise als OUTPUT konfiguriert gewesen sein und beim Start auf HIGH oder LOW gesetzt werden.
Sind in diesem Moment externe Bauteile angeschlossen, kann es â im ungĂŒnstigsten Fall â zu KurzschlĂŒssen oder unerwĂŒnschten SpannungszustĂ€nden kommen.
Um das Risiko zu vermeiden, empfiehlt es sich, das Board zunĂ€chst ânacktâ zu programmieren und die Taster erst danach wieder anzuschlieĂen.
Programmierung: RGB-LED als RĂŒckmeldung nutzen
FĂŒr die Programmierung starten wir bewusst mit einem einfachen Beispiel: Statt direkt etwas auf dem Display anzuzeigen, verwenden wir die auf der RĂŒckseite verbaute RGB-LED als visuelle RĂŒckmeldung.
Cheap Yellow Display mit zwei Taster
Das hat zwei Vorteile:
- Wir können schnell prĂŒfen, ob ein Tastendruck erkannt wurde. - Der Fokus bleibt auf den Tastern und der GPIO-Logik â ohne zusĂ€tzlichen Display-Code.
Im folgenden Beispiel lassen wir die RGB-LED in unterschiedlichen Farben aufleuchten. SpĂ€ter können wir diese Farben dann gezielt nutzen, um TastendrĂŒcke zu bestĂ€tigen.
Cheap Yellow Display mit zwei Taster - aktive gelbe LED
Cheap Yellow Display mit zwei Taster - aktive blaue LED /* RGB-LED am Cheap Yellow Display per Taster steuern --------------------------------------------------- In diesem Beispiel werden zwei externe Taster am Cheap Yellow Display (ESP32-2432S028) verwendet, um die integrierte RGB-LED als visuelle RĂŒckmeldung anzusteuern. Gelber Taster â LED leuchtet Gelb Blauer Taster â LED leuchtet Blau Hinweis: Die RGB-LED auf dem CYD ist als Common-Anode-LED ausgefĂŒhrt. Das bedeutet: LOW = LED an HIGH = LED aus Autor: Stefan Draeger Blogbeitrag: https://draeger-it.blog/cheap-yellow-display-mit-tastern-erweitern-so-gehts/ */ // --- RGB LED Pinbelegung (CYD RĂŒckseite) --- #define ledRedPin 4 #define ledGreenPin 16 #define ledBluePin 17 // --- Taster GPIOs --- #define buttonYellowPin 27 #define buttonBluePin 22 void setup() { Serial.begin(9600); // Taster mit internem PullUp-Widerstand konfigurieren // Nicht gedrĂŒckt = HIGH // GedrĂŒckt = LOW pinMode(buttonYellowPin, INPUT_PULLUP); pinMode(buttonBluePin, INPUT_PULLUP); // RGB LED Pins als Ausgang definieren pinMode(ledRedPin, OUTPUT); pinMode(ledGreenPin, OUTPUT); pinMode(ledBluePin, OUTPUT); // Alle Farben ausschalten (Common Anode â HIGH = aus) digitalWrite(ledRedPin, HIGH); digitalWrite(ledGreenPin, HIGH); digitalWrite(ledBluePin, HIGH); } void loop() { // PrĂŒfen ob gelber Taster gedrĂŒckt wurde if (digitalRead(buttonYellowPin) == LOW) { Serial.println("Taster GELB gedrĂŒckt!"); setRgbLedValue(true, true, false); // Gelb (Rot + GrĂŒn) delay(500); // einfache Entprellung } // PrĂŒfen ob blauer Taster gedrĂŒckt wurde if (digitalRead(buttonBluePin) == LOW) { Serial.println("Taster BLAU gedrĂŒckt!"); setRgbLedValue(false, false, true); // Blau delay(500); // einfache Entprellung } } // Funktion zum Setzen der RGB-Farbe // true = Farbe an // false = Farbe aus void setRgbLedValue(bool r, bool g, bool b) { // LOW schaltet LED EIN // HIGH schaltet LED AUS digitalWrite(ledRedPin, r ? LOW : HIGH); digitalWrite(ledGreenPin, g ? LOW : HIGH); digitalWrite(ledBluePin, b ? LOW : HIGH); }
Fazit und Ausblick
Das Cheap Yellow Display (ESP32-2432S028) lĂ€sst sich nicht nur ĂŒber die integrierte TouchoberflĂ€che bedienen, sondern auch problemlos mit externen Tastern erweitern. Ăber die freien GPIOs auf der RĂŒckseite können mehrere Buttons direkt angeschlossen und mit der internen PullUp-Funktion des ESP32 ausgewertet werden.
Gerade bei Projekten, bei denen das Display geschĂŒtzt verbaut ist oder eine robuste Bedienung erforderlich ist, sind physische Taster eine sinnvolle ErgĂ€nzung.
Dank der integrierten RGB-LED eignet sich das CYD auĂerdem hervorragend, um Eingaben direkt sichtbar zu machen â ganz ohne zusĂ€tzlichen Display-Code.
Ausblick
Im nĂ€chsten Schritt zeige ich dir, wie du noch mehr Taster an nur einem einzigen GPIO betreiben kannst â mithilfe eines analogen Eingangs und einer Widerstandsleiter. Damit lĂ€sst sich die Anzahl der Eingabemöglichkeiten deutlich erhöhen, ohne zusĂ€tzliche Hardware wie Portexpander einsetzen zu mĂŒssen.
Wenn du das Cheap Yellow Display weiter ausreizen möchtest, folgen auĂerdem BeitrĂ€ge zu:
- Mehrere Taster an einem ADC-Pin - Drehencoder am CYD - Erweiterung ĂŒber IÂČC - GehĂ€usebau und feste Integration
Das CYD bietet deutlich mehr Möglichkeiten, als es auf den ersten Blick vermuten lÀsst.
FAQ â Taster am Cheap Yellow Display (ESP32-2432S028)
Wie kann ich einen Taster am Cheap Yellow Display anschlieĂen?
Ein Taster wird einfach zwischen einem freien GPIO und GND angeschlossen. Im Code wird der Pin als INPUT_PULLUP konfiguriert. Dadurch ist kein externer Widerstand notwendig. Beim DrĂŒcken des Tasters wechselt der Pin von HIGH auf LOW.
Warum reagiert mein Taster nicht am ESP32-2432S028?
Mögliche Ursachen sind:
- Kein gemeinsamer GND angeschlossen - Falscher GPIO verwendet - PullUp-Widerstand im Code vergessen - Pin im vorherigen Sketch als OUTPUT konfiguriert gewesen
PrĂŒfe auĂerdem, ob du den Taster korrekt zwischen GPIO und GND verbunden hast.
Warum ist die RGB-LED am CYD invertiert?
Die RGB-LED auf dem Cheap Yellow Display ist als Common-Anode-LED ausgefĂŒhrt. Das bedeutet:
- LOW = LED an - HIGH = LED aus
Dieses Verhalten unterscheidet sich von manchen Arduino-Beispielen.
Wie viele Taster kann ich am Cheap Yellow Display anschlieĂen?
Ăber die freien GPIOs auf der RĂŒckseite stehen insgesamt fĂŒnf Pins zur VerfĂŒgung. Mit den Mini-JST-AnschlĂŒssen lassen sich komfortabel zwei bis vier Taster anschlieĂen.
FĂŒr noch mehr Taster kann ein analoger Eingang mit einer Widerstandsleiter verwendet werden.
Kann ich 5V an die GPIOs des Cheap Yellow Display anschlieĂen?
Nein. Die GPIOs des ESP32 arbeiten mit 3,3V Logik. 5V können den Mikrocontroller dauerhaft beschÀdigen.
Kann ich mehrere Taster an einem GPIO betreiben?
Ja, das ist möglich. Dazu wird eine Widerstandsleiter verwendet, die unterschiedliche Spannungen am Analog-Pin erzeugt. Diese können im Code ausgewertet werden. Eine ausfĂŒhrliche ErklĂ€rung folgt in einem separaten Beitrag.
















