Espressif ESP32: Pinout, Projekte, Programmierung, Erklär-Videos
Was hat der ESP 32 mehr?
Der ESP32 ist der Nachfolger des ESP8266 und bietet eine erweiterte Funktionalität und verbesserte Leistungsfähigkeit. Einige seiner Hauptmerkmale sind:
- Dual-Core-Prozessor: Der ESP32 verfügt über zwei leistungsfähige Xtensa LX6 CPUs, die mit bis zu 240 MHz takten können. Dies ermöglicht eine verbesserte Multitasking-Fähigkeit und schnellere Verarbeitung.
- WLAN und Bluetooth: Der ESP32 integriert WLAN (802.11b/g/n) und Bluetooth (BLE) in einem einzigen Chip. Diese Funktionen ermöglichen die drahtlose Kommunikation und Konnektivität mit anderen Geräten und Netzwerken.
- Umfangreiche Peripheriegeräte: Der ESP32 bietet eine Vielzahl von Peripheriegeräten, darunter GPIO-Pins, UART, SPI, I2C, ADC und DAC, die eine flexible Schnittstellenkonfiguration für verschiedene Anwendungen ermöglichen.
- Ultraniedriger Stromverbrauch: Der ESP32 ist für den Einsatz in batteriebetriebenen Geräten optimiert und verfügt über verschiedene Energiesparmodi, die den Stromverbrauch minimieren und die Batterielebensdauer verlängern können.
- Sicherheitsfunktionen: Der ESP32 bietet verschiedene Sicherheitsfunktionen, darunter Secure Boot, Flash Encryption und Digital Signatures, um die Integrität und Sicherheit von Anwendungen und Daten zu gewährleisten.
Der ESP32 ist äußerst vielseitig und wird in einer breiten Palette von Anwendungen eingesetzt, darunter IoT-Geräte, Wearables, Smart-Home-Anwendungen, industrielle Automatisierung und vieles mehr.
ESP32 Programmieren
Das Programmieren des ESP32 ist relativ einfach und kann mit verschiedenen Entwicklungsumgebungen und Programmiersprachen durchgeführt werden. Hier ist eine grundlegende Anleitung zum Programmieren des ESP32:
-
Entwicklungsumgebung einrichten
Zuerst musst du eine Entwicklungsumgebung einrichten. Die beliebteste Option ist die Arduino-IDE, aber du kannst auch Plattformen wie PlatformIO, Espressif IDF (IoT Development Framework) oder andere verwenden.
-
Installiere den ESP32-Core
Wenn du die Arduino-IDE verwendest, musst du den ESP32-Core installieren, um Unterstützung für den ESP32-Chip hinzuzufügen. Dazu gehst du in der Arduino-IDE zu "Datei" > "Voreinstellungen" und fügst in das Feld "Zusätzliche Boardverwalter-URLs" die folgende URL hinzu: https://dl.espressif.com/dl/package_esp32_index.json. Dann gehst du zu "Werkzeuge" > "Board" > "Boardverwalter..." und suchst nach "esp32". Installiere den ESP32-Core von Espressif.
-
Wähle das richtige Board aus
In der Arduino-IDE wählst du nun das ESP32-Board aus. Gehe zu "Werkzeuge" > "Board" und wähle das entsprechende ESP32-Board aus, das du verwendest.
-
Schreibe deinen Sketch
Jetzt kannst du deinen Sketch (Programm) schreiben. Ein Sketch in Arduino ist im Grunde genommen ein Programm, das aus zwei Hauptfunktionen besteht: setup() und loop(). Der setup()-Teil wird einmal beim Start des Programms ausgeführt, während der loop()-Teil kontinuierlich wiederholt wird.
-
Lade den Sketch auf den ESP32
Schließe den ESP32 über einen USB-Anschluss an deinen Computer an und wähle den richtigen Anschluss in der Arduino-IDE unter "Werkzeuge" > "Port" aus. Klicke dann auf den Upload-Button in der Arduino-IDE, um deinen Sketch auf den ESP32 hochzuladen.
-
Überprüfe die Ausgabe
Überprüfe die Ausgabe in der seriellen Konsole der Arduino-IDE, um zu sehen, ob dein Sketch wie erwartet funktioniert.
Das ist im Wesentlichen der Prozess zum Programmieren des ESP32 mit der Arduino-IDE. Es gibt jedoch auch andere Optionen, wie die Verwendung von Micropython oder der Espressif IDF, je nach deinen spezifischen Anforderungen und Vorlieben.
ESP32 Erklär-Videos
Entdecke auf Microwave Labcast und Rublicator Kanälen umfassende ESP32-Programmierung. Firmware-Updates, Thonny-Installation und GPIO-Nutzung werden auf Labcast behandelt, während Rublicator Arduino IDE-Programmierung und Leiterplattenintegration demonstriert.
ESP32-YouTube-Channel "Microwave Labcast"
"ESP32 Programmierung: Firmware Update, Thonny Installation und GPIO-Nutzung"
Auf dem Microwave Labcast-Kanal findest du eine informative Anleitung zur ESP32-Programmierung. In diesem Video werden verschiedene Themen behandelt, darunter das Durchführen von Firmware-Updates, die Installation und Nutzung der Thonny-Entwicklungsumgebung sowie die ersten Schritte zur Programmierung des ESP32 in Python. Darüber hinaus wird gezeigt, wie die GPIO-Pins des ESP32 effektiv genutzt werden können. Mit 4500 Abonnenten und über 14.000 Aufrufen seit November 2020 ist dieser Kanal eine wertvolle Ressource für alle, die sich für die ESP32-Entwicklung interessieren.
ESP32-YouTube-Channel "Rublicator"
"Einführung in den ESP32: Programmierung mit Arduino IDE"
Auf dem Rublicator-Kanal erhältst du eine umfassende Einführung in den ESP32 mit Wifi und Bluetooth. Dieses deutschsprachige Video zeigt die ersten Schritte zur Programmierung des ESP32 mit der Arduino IDE anhand eines praktischen Projekts. Du erfährst mehr über das Pinout, die Funktionen und wie du den ESP32 in dein eigenes Projekt auf einer Leiterplatte integrieren kannst. Mit 7630 Abonnenten und über 26.000 Aufrufen seit September 2022 ist dieser Kanal eine beliebte Anlaufstelle für alle, die sich für die Welt des ESP32 interessieren.
ESP32 Pinout
Der ESP32-Chip verfügt über 48 Pins mit verschiedenen Funktionen. Nicht alle Pins sind auf allen ESP32-Entwicklungsboards verfügbar, und einige Pins können nicht verwendet werden.
Es gibt viele Fragen über die Verwendung der ESP32 GPIOs. Welche Pins sollten Sie verwenden? Welche Pins sollten Sie nicht in Ihren Projekten verwenden? Dieser Beitrag soll eine einfache und leicht verständliche Referenz für die ESP32-GPIOs sein.
Hinweis: Nicht alle GPIOs sind auf allen Entwicklungsplatinen zugänglich, aber jeder spezifische GPIO funktioniert auf dieselbe Weise, unabhängig von der verwendeten Entwicklungsplatine.
Die ESP32-Peripheriegeräte umfassen:
- 18 Analog-Digital-Wandler (ADC) Kanäle
- 3 SPI-Schnittstellen
- 3 UART-Schnittstellen
- 2 I2C-Schnittstellen
- 16 PWM-Ausgangskanäle
- 2 Digital-zu-Analog-Wandler (DAC)
- 2 I2S-Schnittstellen
- 10 kapazitiv messende GPIOs
Die ADC- (Analog-Digital-Wandler) und DAC- (Digital-Analog-Wandler) Funktionen sind bestimmten statischen Pins zugewiesen. Sie können jedoch entscheiden, welche Pins UART, I2C, SPI, PWM, etc. sind - Sie müssen sie nur im Code zuweisen. Dies ist dank der Multiplexing-Funktion des ESP32-Chips möglich.
Darüber hinaus gibt es Pins mit spezifischen Eigenschaften, die sie für ein bestimmtes Projekt geeignet oder ungeeignet machen. Die folgende Tabelle zeigt, welche Pins am besten als Eingänge und Ausgänge zu verwenden sind und bei welchen Sie vorsichtig sein müssen.
Die "Gut" hervorgehobenen Pins sind direkt zu verwenden. Die "Naja" markierten Pins können verwendet werden, aber es ist Vorsicht geboten, da sie vor allem beim Booten ein unerwartetes Verhalten zeigen können. Die anderen Pins sollten nicht als Eingänge oder Ausgänge verwendet werden.
GPIO | Input | Output | Hinweis |
---|---|---|---|
0 | pulled up | Naja | gibt beim Booten ein PWM-Signal aus, muss LOW sein, um in den Blinkmodus zu gelangen |
1 | TX pin | Naja | Debug-Ausgang beim Booten |
2 | Gut | Gut | verbunden mit der On-Board-LED, muss schwebend oder LOW bleiben, um in den Blinkmodus zu gelangen |
3 | Naja | RX pin | HIGH beim Booten |
4 | Gut | Gut | |
5 | Gut | Gut | gibt beim Booten ein PWM-Signal aus, Strapping-Pin |
6 | x | x | mit dem integrierten SPI-Flash verbunden |
7 | x | x | mit dem integrierten SPI-Flash verbunden |
8 | x | x | mit dem integrierten SPI-Flash verbunden |
9 | x | x | verbunden mit dem integrierten SPI-Flash |
10 | x | x | angeschlossen an den integrierten SPI-Flash |
11 | x | x | mit dem integrierten SPI-Flash verbunden |
12 | Naja | Gut | Boot schlägt fehl, wenn er auf High gezogen wird, Strapping Pin |
13 | Gut | Gut | |
14 | Gut | Gut | gibt beim Booten ein PWM-Signal aus |
15 | Gut | Gut | gibt PWM-Signal beim Booten aus, Strapping-Pin |
16 | Gut | Gut | |
17 | Gut | Gut | |
18 | Gut | Gut | |
19 | Gut | Gut | |
21 | Gut | Gut | |
22 | Gut | Gut | |
23 | Gut | Gut | |
25 | Gut | Gut | |
26 | Gut | Gut | |
27 | Gut | Gut | |
32 | Gut | Gut | |
33 | Gut | Gut | |
34 | Gut | nur Eingabe | |
35 | Gut | nur Eingabe | |
36 | Gut | nur Eingabe | |
39 | Gut | nur Eingabe |
Reine Input-Pins
GPIOs 34 bis 39 sind GPIs - reine Input-Pins. Diese Pins haben keine internen Pull-up- oder Pull-down-Widerstände. Sie können nicht als Ausgänge verwendet werden, also verwenden Sie diese Pins nur als Eingänge:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
SPI-Flash auf dem ESP-WROOM-32 integriert
GPIO 6 bis GPIO 11 sind bei einigen ESP32-Entwicklungsboards frei zugänglich. Diese Pins sind jedoch mit dem integrierten SPI-Flash auf dem ESP-WROOM-32 Chip verbunden und werden für andere Zwecke nicht empfohlen. Verwenden Sie diese Pins also nicht in Ihren Projekten:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
Kapazitive Touch-GPIOs
Der ESP32 hat 10 interne kapazitive Touchsensoren. Diese können Veränderungen in allem erkennen, was eine elektrische Ladung besitzt, wie z.B. die menschliche Haut. So können sie Veränderungen erkennen, die durch die Berührung der GPIOs mit einem Finger verursacht werden. Diese Pins können leicht in kapazitive Pads integriert werden und mechanische Tasten ersetzen. Die kapazitiven Touch-Pins können auch verwendet werden, um den ESP32 aus dem Tiefschlaf aufzuwecken.
Die internen Berührungssensoren sind mit diesen GPIOs verbunden:
- T0 (GPIO 4)
- T1 (GPIO 0)
- T2 (GPIO 2)
- T3 (GPIO 15)
- T4 (GPIO 13)
- T5 (GPIO 12)
- T6 (GPIO 14)
- T7 (GPIO 27)
- T8 (GPIO 33)
- T9 (GPIO 32)
ESP32 Projekte
Für den ESP32 gibt es ein ganze Reihe spannender Projekte. Diese hier haben wir bei unserer Recherche gefunden.
Projekt | Hier haben wir es gefunden |
---|---|
Ein tragbarer ESP32-Musikspieler | picockpit.com |
Eine ESP32 8-Bit Tastatur | picockpit.com |
Eine generative ESP32-KI-Tastatur | picockpit.com |
Die schlechteste Smartwatch aller Zeiten | picockpit.com |
Die beste Smartwatch aller Zeiten | picockpit.com |
Ein ESP32-Mikrocontroller-Rechner | picockpit.com |
Ein ESP32 Pflanzen-Feuchtigkeitsmesser | picockpit.com |
Eine ESP32-Wetteranzeige | picockpit.com |
DOOM auf einem Arduino Nano ESP32 | picockpit.com |
Eine ESP32 3D-gedruckte Spielkonsole | picockpit.com |
1,8"" TFT Display und SD-Kartenleser gleichzeitig am ESP32 betreiben | az-delivery.de |
Bodenerschütterung messen mit ADXL335 und ESP32 - Teil 1 | az-delivery.de |
Bodenerschütterung messen mit ADXL335 und ESP32 - Teil 2 | az-delivery.de |
Bodenerschütterung messen mit ADXL335 und ESP32 - Teil 3 | az-delivery.de |
Der CO2-Schnüffler CCS811 mit ESP32 und MicroPython | az-delivery.de |
Eine Tischlampe mit Neopixelring und ESP8266/ESP32 - Teil 1 | az-delivery.de |
Eine Tischlampe mit Neopixelring und ESP8266/ESP32 - Teil 2 | az-delivery.de |
TFT Farbdisplays Teil 1, Grafik und einfacher Text | az-delivery.de |
Quelle: Eigene Recherchen, eine Auswahl |