2.1 Hallo, LED!¶
Genau wie das Drucken von „Hallo, Welt!“ der erste Schritt beim Erlernen des Programmierens ist, ist die Verwendung eines Programms zur Steuerung einer LED die traditionelle Einführung in das Erlernen der physischen Programmierung.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
---|---|---|
ESP32 Starter Kit |
320+ |
Du kannst sie auch einzeln über die folgenden Links kaufen.
KOMPONENTENEINFÜHRUNG |
KAUF-LINK |
---|---|
- |
|
Verfügbare Pins
Hier ist eine Liste der verfügbaren Pins auf dem ESP32-Board für dieses Projekt.
Verfügbare Pins |
IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23 |
Schaltplan
Dieser Schaltkreis funktioniert nach einem einfachen Prinzip, und die Stromrichtung ist in der Abbildung dargestellt. Die LED leuchtet auf, nachdem der 220-Ohm-Strombegrenzungswiderstand, wenn Pin26 ein hohes Pegel ausgibt. Die LED schaltet sich aus, wenn Pin26 ein niedriges Pegel ausgibt.
Verdrahtung
Code hochladen
Sie können die Datei
2.1_hello_led.ino
unter dem Pfadesp32-starter-kit-main\c\codes\2.1_hello_led
öffnen. Oder kopieren Sie diesen Code direkt in die Arduino IDE.Verbinden Sie dann das ESP32 WROOM 32E mit Ihrem Computer über ein Micro-USB-Kabel.
Wählen Sie das Board (ESP32 Dev Module) und den entsprechenden Port aus.
Klicken Sie jetzt auf den Hochladen-Knopf, um den Code auf das ESP32-Board zu laden.
Nachdem der Code erfolgreich hochgeladen wurde, sehen Sie das LED-Blinken.
Wie funktioniert das?
Deklariere eine Integer-Konstante mit dem Namen
ledPin
und weise ihr den Wert 26 zu.const int ledPin = 26; // The GPIO pin for the LED
Initialisiere den Pin in der
setup()
-Funktion, in der du den Pin imOUTPUT
-Modus initialisieren musst.void setup() { pinMode(ledPin, OUTPUT); }
void pinMode(uint8_t pin, uint8_t mode);
: Diese Funktion wird verwendet, um den GPIO-Betriebsmodus für einen bestimmten Pin festzulegen.pin
definiert die GPIO-Pinnummer.mode
legt den Betriebsmodus fest.
Folgende Modi werden für die grundlegende Ein- und Ausgabe unterstützt:
INPUT
setzt den GPIO als Eingang ohne Pull-up oder Pull-down (hochohmig).OUTPUT
setzt den GPIO als Ausgabe-/Lesemodus.INPUT_PULLDOWN
setzt den GPIO als Eingang mit internem Pull-down.INPUT_PULLUP
setzt den GPIO als Eingang mit internem Pull-up.
Die
loop()
-Funktion enthält die Hauptlogik des Programms und läuft kontinuierlich. Sie wechselt zwischen dem Setzen des Pins auf High und Low, wobei zwischen den Änderungen ein Intervall von einer Sekunde liegt.void loop() { digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
void digitalWrite(uint8_t pin, uint8_t val);
: Diese Funktion setzt den Zustand des ausgewählten GPIO aufHIGH
oderLOW
. Diese Funktion wird nur verwendet, wenn derpinMode
alsOUTPUT
konfiguriert wurde.pin
definiert die GPIO-Pinnummer.val
setzt den Ausgangszustand aufHIGH
oderLOW
.