ESP32 DevKit

Teil 1: „Hello world“ – das ESP32 how-to

Du hast Erfahrungen mit dem Arduino und schon einfache Projekte entwickelt oder nachgebaut? Aber noch keine Ahnung vom ESP32? Dann ist hier der richtige Startpunkt!

Was Du für diesen Teil brauchst

  • ESP32 Developmentboard (hier kaufen)
  • Breadboard und Jumper Kabel (hier kaufen)
  • USB-Kabel mit Mirco-USB Anschluss (hier kaufen)
  • PC (ich zeige auf Windows, Mac oder Linux gehen aber auch)

Features

Der ESP32 der chinesischen Firma Espressif ist ein leistungsfähiger Mikrocontroller mit zwei Kernen und eingebautem WLAN und Bluetooth. Dazu gibt es zahlreiche GPIO-Pins für Ein- und Ausgaben und zusätzlichen Funktionen, wie

  • SPI (Serielle Anbindung von Peripherie Komponenten)
  • I2C (Datenbus für Anbindung kompatibler integrierter Komponenten)
  • PWM (Pulsweitenmodulation)
  • Kapazitive Touch-Erkennung
  • ADC (Analog-Digital-Converter)
  • DAC (Digital-Analog-Converter)
  • UART (Einfache serielle Kommunikation)
  • Deep sleep

Wir werden im Rahmen des Tutorials einige dieser Features nutzen und ich werde an diesen Stellen weiter in Details gehen.

3,3V im Vergleich zu 5V

Wer bislang mit controllern wie dem Arduino Uno oder Arduino Nano Erfahrungen gesammelt hat, der muss noch einen wichtigen Unterschied kennen: Der ESP32 nutzt nur noch 3,3V statt den vom Arduino bekannten 5V als Logikspannung. Zwar reichen die 3,3V in der Regel als HIGH-Signal in 5V Schaltkreisen, wodurch eine Kompatibilität in eine Richtung möglich ist. Werden allerdings Signale auch zurückübertragen ist ein einfacher Austausch eines Arduino gegen einen ESP32 nicht möglich, da 5V Pegel den ESP32 zerstören.

Warum gibt es unterschiedliche Spannungen?

Beim klassichen Transistor (Bipolartransistor) hatte die für die Logikansteuerung relevante Schicht zwischen Basis und Emitter eine Durchbruchspannung von etwa 6V, die nicht überschritten werden durfte. Um genug Abstand für einen reibungsfreien Betrieb zu gewährleisten aber dennoch möglichst viel Unterschied zwischen Signal und Rauschen zu behalten, nahm man 5V als Logikspannung. Heute werden aber viele Schaltungen durch Feldeffekt-Transistoren realisiert, die keine direkte elektrische Verbindung zwischen Gate (entspricht der Basis) und Source haben, sondern auf einem Spannungsunterschied zwischen Gate und Source (n-Kanal MOSFET) basieren. Durch immer kleinere Bauweisen müssen weniger Ladungen zum Gate bewegt werden, so dass auch geringere Spannungen ab 3V den gewünschten Effekt hervorrufen. 3,3V ist wiederum mit 10% Puffer für einen störungsfreien Betrieb in der Praxis ein guter Kompromiss.

ESP32 mit der Arduino IDE

Für dieses Tutorial nutzen wir die bekannte Arduino IDE, Version 2. Der ESP32 muss dort zunächst eingerichtet werden.

Download Arduino IDE 2.x

Gehe zu https://www.arduino.cc/en/software und lade das zu Deinem Betriebssystem passende Paket herunter und installiere es.

ESP32 Board hinzufügen

Als nächstes öffne die Arduino IDE und gehe zu File> Preferences
Stelle die Sprache auf Deutsch (falls gewünscht) und füge folgende URL bei Additional Boards Manager hinzu (sollte da schon ein Eintrag vorhanden sein, können mehrere URLs mit Kommata getrennt werden):

https://dl.espressif.com/dl/package_esp32_index.json

Öffne danach den Boards Manager unter Tools > Board > Boards Manager
Suche nach „ESP32“ und installiere das Board „esp32 by Espressif Systems“

Schließe jetzt das ESP32 Modul per USB an. Danach musst Du noch über Select Board den passenden Port und den Board Typ auswählen, damit später das Hochladen des Sketches auf den ESP32 klappt. Für das von mir oben verlinkte ESP32 Board ist der passende Typ „ESP32 Dev Module“.

Dein PC ist nun vorbereitet.

Ein erster Sketch

Jetzt wollen wir natürlich testen, ob diese Vorbereitung auch erfolgreich war. Dazu laden wir einen einfachen Sketch hoch, der über die Serielle Schnittstelle einen Text zurück gibt. Damit haben dann auch schon den wichtigsten Kommunikationsweg mit „unserem“ ESP32 für Diagnosen getestet.

void setup() {
  // Serielle Schnittstelle starten
  Serial.begin(115200);
  delay(1000);

  Serial.println("ESP32 Modellbahn");
  Serial.println("Hello World");
}

void loop() {
  // kein Code im Loop
}

Kopiere nun den kompletten Code in das Sketch-Fenster der Arduino IDE. Öffne dann den Seriellen Monitor unter Tools > Serial Monitor. Drücke nun im Hauptfenster auf Upload.

Arduino IDE Upload Button


Im Seriellen Monitor sollte nun

ESP32 Modellbahn
Hello World

erscheinen. Durch Drücken der RST-Taste auf dem ESP32 Board lässt sich die Ausgabe wiederholen. Gratuliere, Dein erster Sketch auf dem ESP32 funktioniert!

Weiter geht es im Tutorial mit Teil 2: Motorsteuerung mit PWM

Kommentar verfassen

WordPress Cookie Plugin von Real Cookie Banner