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+

ESP32 Starter Kit

Du kannst sie auch einzeln über die folgenden Links kaufen.

KOMPONENTENEINFÜHRUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Steckbrett

BUY

Überbrückungsdrähte

BUY

Widerstand

BUY

LED

BUY

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

../../_images/circuit_2.1_led.png

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

../../_images/2.1_hello_led_bb.png

Code hochladen

  1. Sie können die Datei 2.1_hello_led.ino unter dem Pfad esp32-starter-kit-main\c\codes\2.1_hello_led öffnen. Oder kopieren Sie diesen Code direkt in die Arduino IDE.

  2. Verbinden Sie dann das ESP32 WROOM 32E mit Ihrem Computer über ein Micro-USB-Kabel.

  3. Wählen Sie das Board (ESP32 Dev Module) und den entsprechenden Port aus.

    ../../_images/choose_board.png
  4. Klicken Sie jetzt auf den Hochladen-Knopf, um den Code auf das ESP32-Board zu laden.

    ../../_images/click_upload.png
  5. Nachdem der Code erfolgreich hochgeladen wurde, sehen Sie das LED-Blinken.

Wie funktioniert das?

  1. 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
    
  2. Initialisiere den Pin in der setup()-Funktion, in der du den Pin im OUTPUT-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.

  3. 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 auf HIGH oder LOW. Diese Funktion wird nur verwendet, wenn der pinMode als OUTPUT konfiguriert wurde.

      • pin definiert die GPIO-Pinnummer.

      • val setzt den Ausgangszustand auf HIGH oder LOW.