Microcontroller ESP32 – Sketch Heartbeat

esp32-basics-001-beitragsbild

Der erste Sketch ESP32-Sketch-Heartbeat gehört zur Rubrik Schauen-wir-mal-ob-alles-funktioniert. Die Arduino-IDE <hier noch Link> ist auf einem Windows- oder Linux-Rechner installiert. Der Microcontroller ESP32 <hier noch Link> ist über ein USB-Kabel (USB Micro B am Controller) angeschlossen, der Rechner erkennt den Controller. Ein Sketch, so heißt ein Programm in der Arduino-IDE, ist mit der Dateiendung *.ino in einem gleichlautenden Verzeichnis auf dem Rechner abgespeichert. Nach dem Speichern kompiliert man den Sketch in maschinenlesbaren Code für den Controller und überträgt ihn auf den Controller. Abschließend rebootet der Controller. Die Ausführung des Programms kann auf dem seriellen Monitor der Arduino-IDE verfolgt werden, wenn entsprechende Ausgaben im Code vorgesehen sind. I.d.R. sind dies die Serial.println-Kommandos des Sketchs.

  • Über den Port GPIO2 wird eine LED ein- und ausgeschaltet.
  • Der Port hat beim High-Pegel eine Spannung von 3,3 Volt.
  • Die LED ist über einen Widerstand von 100 Ω (für ca. 10 mA) oder 47 Ω (für ca. 20 mA) gegen Masse angeschlossen.
  • Die LED soll 100 ms lang ein- und 900 ms lang ausgeschaltet sein.

Die Schaltung ist auf einem Breadboard aufgebaut. Der ESP32 selbst ist für das Breadboard relativ breit. Ich habe dieses in der Mitte getrennt, dadurch ist seitlich des Controllers auch für die nachfolgenden Projekte ausreichend Steckplatz für weitere Bauelemente vorhanden.

esp32-basics-001-breadboard

Schaltung für die Bauelemente des Heartbeat-Sketches:

esp32-basics-001-schaltung

Das Listing zeigt den Code für den Sketch esp32-basics-001-heartbeat.ino:

// esp32-basics-001-heartbeat.ino
// die led blinkt im sekundentakt (100 ms/900 ms)
void setup() {
  Serial.begin (115200);      // uebertragungsgeschwindigkeit zum esp32 in bit/s
  pinMode(2, OUTPUT);         // gpio2 wird als ausgang gesetzt
  digitalWrite(2, LOW);       // gpio2 wird auf null gesetzt, die led damit initial ausgeschaltet
  Serial.println ("ESP32 konfiguriert"); // ausgabe auf dem seriellen monitor der arduino-ide
}

void loop() {
  digitalWrite(2, HIGH);      // gpio2 wird auf eins gesetzt, die led damit eingeschaltet
  Serial.println ("LED an");  // ausgabe auf dem seriellen monitor der arduino-ide
  delay(100);                 // warteschleife 100 ms, bevor der naechste befehl die led ausschalten wird
  digitalWrite(2, LOW);       // gpio2 wird auf null gesetzt, die led damit ausgeschaltet
  Serial.println ("LED aus"); // ausgabe auf dem seriellen monitor der arduino-ide
  delay(900);                 // warteschleife 900 ms, bevor der naechste befehl die led ausschalten wird
}

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert