LED Blinken mit ESP32
Lehrt die grundlegende Verwendung von GPIO-Ausgängen mit ESP32. Wir erreichen einen Blinkeffekt, indem wir eine LED über einen digitalen Pin ein- und ausschalten. ESP32-Version des klassischen Blink-Projekts auf Arduino UNO; die grundlegenden Blink-Befehle in der Arduino-Umgebung bleiben gleich, aber die Pinbelegung und die GPIO-Pegel von 3,3 V des ESP32 unterscheiden sich von denen des Arduino UNO.

Video
Schaltplan

Quellcode
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED Blinken mit ESP32
4// ─────────────────────────────────────────
5// Lässt eine LED an GPIO 5 des ESP32 alle 500 ms blinken. Es ist die
6// ESP32-Version des klassischen Arduino-Blink-Sketches; nur die Pin-Nummer
7// ändert sich.
8//
9// Pins:
10// GPIO 5 -> Rote LED (mit 220-Ohm-Widerstand)
11// GND -> LED kurzes Beinchen (Kathode)
12
13void setup() {
14 pinMode(5, OUTPUT); // LED-Pin als Ausgang
15}
16
17void loop() {
18 digitalWrite(5, HIGH); // LED einschalten
19 delay(500); // 0.5 s warten
20 digitalWrite(5, LOW); // LED ausschalten
21 delay(500);
22}
23FAQ
Welche Pins kann ich auf dem ESP32 für eine LED verwenden?▾
Die GPIO-Pins 2, 4, 5, 12–19, 21–23, 25–27, 32 und 33 können bedenkenlos als Ausgänge verwendet werden. Die GPIO-Pins 34–39 dienen ausschließlich als Eingänge und können keine LEDs ansteuern. Die GPIO-Pins 6–11 sind mit dem internen Flash-Speicher verbunden und dürfen daher auf keinen Fall verwendet werden.
Welcher Widerstand eignet sich für eine LED mit 3,3 V am ESP32?▾
Die Pins des ESP32 liefern 3,3 V. Für die rote LED eignet sich ein Widerstand von 100–220 Ω; ein Widerstand von 220 Ω sorgt für einen Strom von etwa 6–7 mA, wodurch die LED gut sichtbar ist. Da die Vorwärtsspannung der blauen und weißen LEDs hoch ist, leuchten sie bei 3,3 V möglicherweise schwächer.
Beim Laden des Codes erscheint die Meldung „Connecting...“ und dann bleibt es hängen. Was soll ich tun?▾
Bei einigen ESP32-Karten musst du für den Upload-Modus die BOOT-Taste gedrückt halten. Sobald „Connecting...“ angezeigt wird, halte die BOOT-Taste gedrückt und lasse sie los, sobald der Upload beginnt. Stelle außerdem sicher, dass es sich bei dem USB-Kabel um ein Datenkabel handelt.
Funktioniert der Arduino-Code unverändert auf dem ESP32?▾
Die Grundfunktionen (pinMode, digitalWrite, delay) sind identisch; meistens reicht es aus, nur die Pin-Nummern zu ändern. Als Board muss im Menü „Extras“ die Option „ESP32 Dev Module“ ausgewählt werden.
