LAFVIN-LogoESP32 Basic Starter
Bausatz

Packliste

LAFVIN ESP32 Basic Starter Kit - Packliste

ESP32-Einführung

Neu bei ESP32? Fangen Sie hier an! ESP32 ist eine Reihe kostengünstiger und stromsparender System-on-a-Chip-Mikrocontroller (SoC) von Espressif, die über WLAN- und Bluetooth-Funktionen sowie einen Dual-Core-Prozessor verfügen. Wenn Sie mit dem ESP8266 vertraut sind, ist der ESP32 sein Nachfolger, der mit vielen neuen Funktionen ausgestattet ist.LAFVIN ESP32 Basic Starter Kit - ESP32 EinführungESP32-Spezifikationen
Wer es etwas technischer und spezifischer haben möchte, kann sich die folgenden detaillierten Spezifikationen des ESP32 anschauen (Quelle: http://esp32.net/) – weitere Einzelheiten finden Sie unter Überprüfen Sie das Datenblatt):

  • Drahtlose Konnektivität WiFi: 150.0 Mbit/s Datenrate mit HT40
  • Bluetooth: BLE (Bluetooth Low Energy) und Bluetooth Classic
  • Prozessor: Tensilica Xtensa Dual-Core 32-Bit LX6 Mikroprozessor, läuft mit 160 oder 240 MHz
  • Erinnerung:
  • ROM: 448 KB (für Booten und Kernfunktionen)
  • SRAM: 520 KB (für Daten und Anweisungen)
  • RTC fas SRAM: 8 KB (für Datenspeicherung und Haupt-CPU während des RTC-Boots aus dem Tiefschlafmodus)
  • RTC langsames SRAM: 8 KB (für Co-Prozessor-Zugriffe im Deep-Sleep-Modus) eFuse: 1 Kbit (davon werden 256 Bit für das System verwendet (MAC-Adresse und Chip-Konfiguration) und die restlichen 768 Bit sind für Kundenanwendungen reserviert, einschließlich Flash-Verschlüsselung und Chip-ID)

Eingebetteter Flash: Flash intern über IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 und SD_DATA_1 auf ESP32-D2WD und ESP32-PICO-D4 verbunden.

  • 0 MiB (ESP32-D0WDQ6-, ESP32-D0WD- und ESP32-S0WD-Chips)
  • 2 MiB (ESP32-D2WD-Chip)
  • 4 MiB (ESP32-PICO-D4 SiP-Modul)

Low Power: sorgt dafür, dass Sie weiterhin ADC-Konvertierungen verwenden können, z. B.ample, während des Tiefschlafs.
Peripherie-Ein-/Ausgabe:

  • Peripherieschnittstelle mit DMA, einschließlich kapazitiver Berührung
  • ADCs (Analog-Digital-Umsetzer)
  • DACs (Digital-Analog-Umsetzer)
  • I²C (Inter-Integrated Circuit)
  • UART (Universaler asynchroner Empfänger/Sender)
  • SPI (Serielle Peripherieschnittstelle)
  • I²S (Integrierter Interchip-Sound)
  • RMII (Reduzierte medienunabhängige Schnittstelle)
  • PWM (Pulsweitenmodulation)

Sicherheit: Hardwarebeschleuniger für AES und SSL/TLS

ESP32-Entwicklungsplatinen

ESP32 bezieht sich auf den nackten ESP32-Chip. Der Begriff „ESP32“ wird jedoch auch für ESP32-Entwicklungsplatinen verwendet. Die Verwendung von ESP32-Bare-Chips ist weder einfach noch praktisch, insbesondere beim Lernen, Testen und Prototyping. In den meisten Fällen werden Sie eine ESP32-Entwicklungsplatine verwenden wollen.
Wir verwenden die ESP32 DEVKIT V1-Platine als Referenz. Das Bild unten zeigt die ESP32 DEVKIT V1-Platine, Version mit 30 GPIO-Pins.LAFVIN ESP32 Basic Starter Kit - ESP32-EntwicklungsplatinenSpezifikationen – ESP32 DEVKIT V1
Die folgende Tabelle zeigt eine Zusammenfassung der Funktionen und Spezifikationen des ESP32 DEVKIT V1 DOIT-Boards:

Anzahl der Kerne 2 (Dual-Core)
W-lan 2.4 GHz bis zu 150 Mbit/s
Bluetooth BLE (Bluetooth Low Energy) und älteres Bluetooth
Architektur 32 Bit
Taktfrequenz Bis zu 240 MHz
RAM 512 KB
Pins 30 (je nach Modell)
Peripheriegeräte Kapazitive Berührung, ADC (Analog-Digital-Umsetzer), DAC (Digital-Analog-Umsetzer), 12C (Inter-Integrated Circuit), UART (Universal Asynchronous Receiver/Transmitter), CAN 2.0 (Controller Area Network), SPI (Serial Peripheral Interface), 12S (Integrated Inter-IC
Sound), RMII (Reduced Media-Independent Interface), PWM (Pulsweitenmodulation) und mehr.
Integrierte Tasten RESET- und BOOT-Tasten
Eingebaute LEDs integrierte blaue LED, verbunden mit GPIO2; integrierte rote LED, die anzeigt, dass die Karte mit Strom versorgt wird
USB zu UART
Brücke
CP2102

LAFVIN ESP32 Basis-Starterkit - ESP32 DEVKITEs verfügt über eine MicroUSB-Schnittstelle, über die Sie die Platine an Ihren Computer anschließen können, um Code hochzuladen oder Strom zuzuführen.
Es verwendet den CP2102-Chip (USB zu UART), um über einen COM-Port mit einer seriellen Schnittstelle mit Ihrem Computer zu kommunizieren. Ein weiterer beliebter Chip ist der CH340. Überprüfen Sie, welcher USB-zu-UART-Chipkonverter auf Ihrer Platine vorhanden ist, da Sie die erforderlichen Treiber installieren müssen, damit Ihr Computer mit der Platine kommunizieren kann (weitere Informationen dazu finden Sie weiter unten in diesem Handbuch).
Diese Platine verfügt außerdem über eine RESET-Taste (möglicherweise mit der Bezeichnung EN), um die Platine neu zu starten, und eine BOOT-Taste, um die Platine in den Blinkmodus zu versetzen (verfügbar zum Empfangen von Code). Beachten Sie, dass einige Platinen möglicherweise keine BOOT-Taste haben.
Es verfügt außerdem über eine integrierte blaue LED, die intern mit GPIO 2 verbunden ist. Diese LED ist beim Debuggen nützlich, um eine Art visuelle physische Ausgabe zu liefern. Es gibt auch eine rote LED, die aufleuchtet, wenn Sie die Platine mit Strom versorgen.LAFVIN ESP32 Basic Starter Kit -PlatineESP32-Pinbelegung
Zu den ESP32-Peripheriegeräten gehören:

  • 18 Analog-Digital-Wandler (ADC)-Kanäle
  • 3 SPI-Schnittstellen
  • 3 UART-Schnittstellen
  • 2 I2C-Schnittstellen
  • 16 PWM-Ausgangskanäle
  • 2 Digital-Analog-Wandler (DAC)
  • 2 I2S-Schnittstellen
  • 10 kapazitive Sensor-GPIOs

Die Funktionen ADC (Analog-Digital-Umsetzer) und DAC (Digital-Analog-Umsetzer) sind bestimmten statischen Pins zugewiesen. Sie können jedoch entscheiden, welche Pins UART, I2C, SPI, PWM usw. sind – Sie müssen sie nur im Code zuweisen. Dies ist dank der Multiplexing-Funktion des ESP32-Chips möglich.
Obwohl Sie die Pin-Eigenschaften in der Software definieren können, gibt es standardmäßig zugewiesene Pins, wie in der folgenden Abbildung gezeigtLAFVIN ESP32 Basis-Starterkit - ESP32-PinbelegungDarüber hinaus gibt es Pins mit bestimmten Eigenschaften, die sie für ein bestimmtes Projekt geeignet machen oder nicht. Die folgende Tabelle zeigt, welche Pins sich am besten als Eingänge und Ausgänge eignen und bei welchen Sie vorsichtig sein müssen.
Die grün markierten Pins können verwendet werden. Die gelb markierten Pins können verwendet werden, aber Sie müssen aufpassen, da sie vor allem beim Booten ein unerwartetes Verhalten zeigen können. Die rot markierten Pins sollten nicht als Ein- oder Ausgänge verwendet werden.

GP-IO Eingang Ausgabe Hinweise
0 hochgezogen OK gibt beim Booten ein PWM-Signal aus, muss LOW sein, um in den Blinkmodus zu wechseln
1 TX-Pin OK Debug-Ausgabe beim Booten
2 OK OK verbunden mit integrierter LED, muss schwebend oder auf LOW gelassen werden, um in den Blinkmodus zu wechseln
3 OK RX-Pin HIGH beim Booten
4 OK OK
5 OK OK gibt PWM-Signal beim Booten aus, Strapping-Pin
12 OK OK Stiefel versagt, wenn hochgezogen, Umreifungsstift
13 OK OK
14 OK OK gibt beim Booten ein PWM-Signal aus
15 OK OK gibt PWM-Signal beim Booten aus, Strapping-Pin
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK nur Eingabe
35 OK nur Eingabe
36 OK nur Eingabe
39 OK nur Eingabe

Lesen Sie weiter für eine detailliertere und eingehendere Analyse der ESP32-GPIOs und ihrer Funktionen.
Nur Eingabe-Pins
GPIOs 34 bis 39 sind GPIs – reine Eingabepins. Diese Pins haben keine internen Pull-Up- oder Pull-Down-Widerstände. Sie können nicht als Ausgänge verwendet werden, verwenden Sie diese Pins also nur als Eingänge:

  • GPIO34
  • GPIO35
  • GPIO36
  • GPIO39

SPI-Flash auf dem ESP-WROOM-32 integriert
GPIO 6 bis GPIO 11 sind in einigen ESP32-Entwicklungsboards verfügbar. 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 daher 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 verfügt über 10 interne kapazitive Berührungssensoren. Diese können Veränderungen in allem wahrnehmen, was eine elektrische Ladung enthält, wie zum Beispiel die menschliche Haut. So können sie Veränderungen erkennen, die durch Berühren der GPIOs mit einem Finger verursacht werden. Diese Pins können problemlos in kapazitive Pads integriert werden und mechanische Tasten ersetzen. Die kapazitiven Berührungspins können auch verwendet werden, um den ESP32 aus dem Tiefschlaf zu wecken. Diese 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)

Analog-Digital-Wandler (ADC)
Der ESP32 hat 18 x 12 Bit ADC-Eingangskanäle (während der ESP8266 nur 1 x 10 Bit ADC hat). Dies sind die GPIOs, die als ADC und entsprechende Kanäle verwendet werden können:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

Notiz: ADC2-Pins können nicht verwendet werden, wenn Wi-Fi verwendet wird. Wenn Sie also Wi-Fi verwenden und Probleme haben, den Wert von einem ADC2-GPIO abzurufen, können Sie stattdessen die Verwendung eines ADC1-GPIO in Betracht ziehen. Damit sollte Ihr Problem gelöst sein.
Die ADC-Eingangskanäle haben eine Auflösung von 12 Bit. Das bedeutet, dass Sie analoge Messwerte im Bereich von 0 bis 4095 erhalten können, wobei 0 0 V und 4095 3.3 V entspricht. Sie können die Auflösung Ihrer Kanäle auch auf den Code und den ADC-Bereich einstellen.
Die ESP32-ADC-Pins haben kein lineares Verhalten. Sie werden wahrscheinlich nicht zwischen 0 und 0.1 V oder zwischen 3.2 und 3.3 V unterscheiden können. Das müssen Sie bei der Verwendung der ADC-Pins berücksichtigen. Sie erhalten ein Verhalten ähnlich dem in der folgenden Abbildung gezeigten.LAFVIN ESP32 Basic Starter Kit - VerhaltenDigital-Analog-Wandler (DAC)
Es gibt 2 x 8 Bit DAC-Kanäle auf dem ESP32, um digitale Signale in analoge Lautstärke umzuwandeln.tage Signalausgänge. Dies sind die DAC-Kanäle:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC-GPIOs
Es gibt RTC GPIO-Unterstützung auf dem ESP32. Die GPIOs, die an das RTC Low-Power-Subsystem weitergeleitet werden, können verwendet werden, wenn sich der ESP32 im Tiefschlaf befindet. Diese RTC GPIOs können verwendet werden, um den ESP32 aus dem Tiefschlaf zu wecken, wenn der Ultra Low
Power (ULP)-Coprozessor läuft. Die folgenden GPIOs können als externe Wakeup-Quelle verwendet werden.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

PWM
Der ESP32 LED PWM-Controller verfügt über 16 unabhängige Kanäle, die so konfiguriert werden können, dass sie PWM-Signale mit unterschiedlichen Eigenschaften erzeugen. Alle Pins, die als Ausgänge fungieren können, können als PWM-Pins verwendet werden (GPIOs 34 bis 39 können kein PWM erzeugen).
Um ein PWM-Signal einzustellen, müssen Sie diese Parameter im Code definieren:

  • Signalfrequenz;
  • Arbeitszyklus;
  • PWM-Kanal;
  • GPIO, wo Sie das Signal ausgeben möchten.

I2C
Der ESP32 hat zwei I2C-Kanäle und jeder Pin kann als SDA oder SCL eingestellt werden. Bei Verwendung des ESP32 mit der Arduino IDE sind die Standard-I2C-Pins:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Wenn Sie bei der Verwendung der Wire-Bibliothek andere Pins verwenden möchten, müssen Sie lediglich Folgendes aufrufen:
Wire.begin(SDA, SCL);
SPI
Standardmäßig ist die Pinbelegung für SPI:

SPI MOSI MISO CLK CS
VSPI GPIO23 GPIO19 GPIO18 GPIO5
HSPI GPIO13 GPIO12 GPIO14 GPIO15

Unterbricht
Alle GPIOs können als Interrupts konfiguriert werden.
Umreifungsstifte
Der ESP32-Chip verfügt über die folgenden Strapping-Pins:

  • GPIO 0 (muss LOW sein, um in den Boot-Modus zu wechseln)
  • GPIO 2 (muss während des Bootvorgangs schwebend oder LOW sein)
  • GPIO4
  • GPIO 5 (muss während des Bootvorgangs HIGH sein)
  • GPIO 12 (muss während des Bootens LOW sein)
  • GPIO 15 (muss während des Bootvorgangs HIGH sein)

Diese werden verwendet, um den ESP32 in den Bootloader- oder Flashmodus zu versetzen. Bei den meisten Entwicklungsboards mit integriertem USB/Seriellem Anschluss müssen Sie sich keine Gedanken über den Zustand dieser Pins machen. Das Board versetzt die Pins in den richtigen Zustand für den Flash- oder Bootmodus. Weitere Informationen zur Auswahl des ESP32-Bootmodus finden Sie hier.
Wenn Sie jedoch Peripheriegeräte an diese Pins angeschlossen haben, kann es beim Hochladen von neuem Code, beim Flashen des ESP32 mit neuer Firmware oder beim Zurücksetzen der Platine zu Problemen kommen. Wenn Sie Peripheriegeräte an die Strapping-Pins angeschlossen haben und beim Hochladen von Code oder beim Flashen des ESP32 Probleme haben, liegt dies möglicherweise daran, dass diese Peripheriegeräte den ESP32 daran hindern, in den richtigen Modus zu wechseln. Lesen Sie die Dokumentation zur Auswahl des Startmodus, um die richtige Anleitung zu erhalten. Nach dem Zurücksetzen, Flashen oder Booten funktionieren diese Pins wie erwartet.
Pins HIGH beim Booten
Einige GPIOs ändern beim Booten oder Zurücksetzen ihren Zustand auf HIGH oder geben PWM-Signale aus.
Dies bedeutet, dass Sie beim Zurücksetzen oder Booten des ESP32 unerwartete Ergebnisse erhalten können, wenn Sie Ausgänge an diese GPIOs angeschlossen haben.

  • GPIO1
  • GPIO3
  • GPIO5
  • GPIO 6 bis GPIO 11 (verbunden mit dem integrierten SPI-Flash-Speicher des ESP32 – Verwendung nicht empfohlen).
  • GPIO14
  • GPIO15

Aktivieren (DE)
Enable (EN) ist der Enable-Pin des 3.3-V-Reglers. Er ist hochgezogen, also verbinden Sie ihn mit Masse, um den 3.3-V-Regler zu deaktivieren. Das bedeutet, dass Sie diesen Pin, verbunden mit einem Druckknopf, verwenden können, um Ihren ESP32 neu zu starten, z. B.ample.
GPIO-Stromaufnahme
Der absolut maximale Strombedarf pro GPIO beträgt gemäß dem Abschnitt „Empfohlene Betriebsbedingungen“ im ESP40-Datenblatt 32 mA.
Eingebauter Hall-Effekt-Sensor ESP32
Der ESP32 verfügt außerdem über einen eingebauten Hall-Effekt-Sensor, der Änderungen im Magnetfeld in seiner Umgebung erkennt
ESP32 Arduino IDE
Es gibt ein Add-on für die Arduino IDE, mit dem Sie den ESP32 mithilfe der Arduino IDE und ihrer Programmiersprache programmieren können. In diesem Tutorial zeigen wir Ihnen, wie Sie die ESP32-Platine in der Arduino IDE installieren, unabhängig davon, ob Sie Windows, Mac OS X oder Linux verwenden.
Voraussetzungen: Arduino IDE installiert
Bevor Sie mit diesem Installationsvorgang beginnen, müssen Sie Arduino IDE auf Ihrem Computer installiert haben. Sie können zwei Versionen von Arduino IDE installieren: Version 1 und Version 2.
Sie können Arduino IDE herunterladen und installieren, indem Sie auf den folgenden Link klicken: arduino.cc/en/Main/Software
Welche Arduino IDE Version empfehlen wir? Momentan gibt es einige plugins für den ESP32 (wie den SPIFFS FileSystem-Uploader-Plugin), die auf Arduino 2 noch nicht unterstützt werden. Wenn Sie also in Zukunft das SPIFFS-Plugin verwenden möchten, empfehlen wir Ihnen, die ältere Version 1.8.X zu installieren. Sie müssen nur auf der Arduino-Softwareseite nach unten scrollen, um sie zu finden.
Installieren des ESP32-Add-ons in der Arduino IDE
Um die ESP32-Platine in Ihrer Arduino IDE zu installieren, folgen Sie diesen Anweisungen:

  1. Gehen Sie in Ihrer Arduino IDE zu File> EinstellungenLAFVIN ESP32 Basic Starter Kit - Einstellungen
  2. Geben Sie im Feld „Zusätzlicher Boardmanager“ Folgendes ein URLs“-Feld:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Klicken Sie dann auf die Schaltfläche „OK“:LAFVIN ESP32 Basic Starter Kit - „OK“-TasteNotiz: wenn Sie bereits die ESP8266-Boards haben URL, können Sie die trennen URLs mit einem Komma wie folgt:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Öffnen Sie den Boards Manager. Gehen Sie zu Tools > Board > Boards Manager…LAFVIN ESP32 Basis-Starterkit - EspressifSuchen Sie nach ESP32 und drücken Sie die Schaltfläche „Installieren“ für „ESP32 von Espressif Systems“:LAFVIN ESP32 Basis-Starterkit - EspressifDas ist alles. Nach ein paar Sekunden sollte die Installation abgeschlossen sein.LAFVIN ESP32 Basic Starter Kit - installiert

Testcode hochladen

Schließen Sie die ESP32-Platine an Ihren Computer an. Führen Sie bei geöffneter Arduino IDE die folgenden Schritte aus:

  1. Wählen Sie Ihr Board im Menü Tools > Board aus (in meinem Fall ist es das ESP32 DEV-Modul)LAFVIN ESP32 Basic Starter Kit - Werkzeugplatine
  2. Wählen Sie den Port (wenn der COM-Port in Ihrer Arduino IDE nicht angezeigt wird, müssen Sie die CP210x USB-zu-UART-Bridge-VCP-Treiber installieren):LAFVIN ESP32 Basic Starter Kit - UART-Brücke
  3. Öffnen Sie das folgende Beispielample unter File > Beispielamples > WLAN
    (ESP32) > WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScan 1
  4. In Ihrer Arduino IDE wird eine neue Skizze geöffnet:LAFVIN ESP32 Basic Starter Kit - Arduino IDE
  5. Klicken Sie in der Arduino IDE auf die Schaltfläche „Hochladen“. Warten Sie einige Sekunden, während der Code kompiliert und auf Ihr Board hochgeladen wird.LAFVIN ESP32 Basic Starter Kit - Platine
  6. Wenn alles wie erwartet verlaufen ist, sollte die Meldung „Hochladen abgeschlossen“ angezeigt werden.LAFVIN ESP32 Basic Starter Kit - Hochladen abgeschlossen
  7. Öffnen Sie den Arduino IDE Serial Monitor mit einer Baudrate von 115200:LAFVIN ESP32 Basic Starter Kit - Monitor
  8. Drücken Sie die integrierte ESP32-Aktivierungstaste und Sie sollten die in der Nähe Ihres ESP32 verfügbaren Netzwerke sehen:LAFVIN ESP32 Basic Starter Kit - Schaltfläche "Aktivieren"

Fehlerbehebung

Wenn Sie versuchen, eine neue Skizze auf Ihren ESP32 hochzuladen, erhalten Sie die Fehlermeldung „Ein schwerwiegender Fehler ist aufgetreten: Verbindung zum ESP32 fehlgeschlagen: Zeitüberschreitung… Verbindung wird hergestellt…“. Dies bedeutet, dass sich Ihr ESP32 nicht im Flash-/Upload-Modus befindet.
Nachdem Sie den richtigen Boardnamen und COM-Port ausgewählt haben, führen Sie diese Schritte aus:
Halten Sie die „BOOT“-Taste auf Ihrem ESP32-Board gedrücktLAFVIN ESP32 Basic Starter Kit - „BOOT“

  • Klicken Sie in der Arduino IDE auf die Schaltfläche „Hochladen“, um Ihren Sketch hochzuladen:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • Wenn in Ihrer Arduino IDE die Meldung „Verbinden….“ angezeigt wird, nehmen Sie den Finger von der Schaltfläche „BOOT“:LAFVIN ESP32 Basic Starter Kit - „Hochladen abgeschlossen
  • Danach sollte die Meldung „Hochladen abgeschlossen“ angezeigt werden.
    Das war’s. Auf Ihrem ESP32 sollte die neue Skizze laufen. Drücken Sie die Schaltfläche „ENABLE“, um den ESP32 neu zu starten und die neu hochgeladene Skizze auszuführen.
    Sie müssen diese Tastenfolge auch jedes Mal wiederholen, wenn Sie eine neue Skizze hochladen möchten.

Projekt 1 ESP32 Eingänge Ausgänge

In dieser Anleitung für den Einstieg erfahren Sie, wie Sie mit ESP32 und Arduino IDE digitale Eingänge wie einen Druckschalter lesen und digitale Ausgänge wie eine LED steuern.
Voraussetzungen
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie also sicher, dass Sie das ESP32-Board-Add-on installiert haben, bevor Sie fortfahren:

  • Installieren des ESP32-Add-ons in der Arduino IDE

ESP32-Steuerung digitaler Ausgänge
Zuerst müssen Sie den GPIO festlegen, den Sie als OUTPUT steuern möchten. Verwenden Sie die Funktion pinMode() wie folgt:
PinMode(GPIO, AUSGANG);
Um einen digitalen Ausgang zu steuern, müssen Sie nur die Funktion digitalWrite() verwenden, die als Argumente den GPIO (int-Nummer) akzeptiert, auf den Sie sich beziehen, und den Status, entweder HIGH oder LOW.
digitalWrite(GPIO, ZUSTAND);
Alle GPIOs können als Ausgänge verwendet werden, außer den GPIOs 6 bis 11 (verbunden mit dem integrierten SPI-Flash) und den GPIOs 34, 35, 36 und 39 (nur Eingangs-GPIOs).
Erfahren Sie mehr über die ESP32 GPIOs: ESP32 GPIO-Referenzhandbuch
ESP32 Digitale Eingänge lesen
Legen Sie zunächst den GPIO, den Sie lesen möchten, als INPUT fest. Verwenden Sie dazu die Funktion pinMode() wie folgt:
PinMode(GPIO, EINGANG);
Um einen digitalen Eingang wie beispielsweise eine Schaltfläche zu lesen, verwenden Sie die Funktion digitalRead(), die als Argument den GPIO (int-Nummer) akzeptiert, auf den Sie sich beziehen.
digitalRead(GPIO);
Alle ESP32-GPIOs können als Eingänge verwendet werden, außer den GPIOs 6 bis 11 (verbunden mit dem integrierten SPI-Flash).
Erfahren Sie mehr über die ESP32 GPIOs: ESP32 GPIO-Referenzhandbuch
Projekt-Example
Um Ihnen zu zeigen, wie Sie digitale Eingänge und digitale Ausgänge verwenden, erstellen wir ein einfaches Projekt, z. B.ampDatei mit einem Druckknopf und einer LED. Wir lesen den Zustand des Druckknopfs und lassen die LED entsprechend aufleuchten, wie in der folgenden Abbildung dargestellt.LAFVIN ESP32 Basic Starter Kit - Projekt Example

Erforderliche Teile
Hier ist eine Liste der Teile, die Sie zum Aufbau der Schaltung benötigen:

  • ESP32 DEVKIT V1
  • 5-mm-LED
  • 220 Ohm Widerstand
  • Drucktaster
  • 10 kOhm Widerstand
  • Steckplatine
  • Überbrückungsdrähte

Schematische Darstellung
Bevor Sie fortfahren, müssen Sie einen Schaltkreis mit einer LED und einem Druckknopf zusammenbauen.
Wir verbinden die LED mit GPIO 5 und den Druckknopf mit GPIO 4.LAFVIN ESP32 Basic Starter Kit - Schematische DarstellungCode
Öffnen Sie den Code Project_1_ESP32_Inputs_Outputs.ino in der Arduino IDELAFVIN ESP32 Basic Starter Kit - CodeLAFVIN ESP32 Basic Starter Kit - Code 1Funktionsweise des Codes
In den folgenden zwei Zeilen erstellen Sie Variablen zum Zuweisen von Pins:

LAFVIN ESP32 Basic Starter Kit - Code funktioniertDer Taster ist mit GPIO 4 verbunden und die LED mit GPIO 5. Bei Verwendung der Arduino IDE mit dem ESP32 entspricht 4 GPIO 4 und 5 GPIO 5.
Als Nächstes erstellen Sie eine Variable, um den Status der Schaltfläche zu speichern. Standardmäßig ist dies 0 (nicht gedrückt).
int Schaltflächenstatus = 0;
Im setup() initialisieren Sie den Button als INPUT und die LED als OUTPUT.
Dazu verwenden Sie die Funktion pinMode(), die den Pin akzeptiert, auf den Sie sich beziehen, und den Modus: INPUT oder OUTPUT.
PinMode(SchaltflächenPin, EINGABE);
PinMode(LED-Pin, AUSGANG);
In der Schleife () lesen Sie den Tastenzustand und stellen die LED entsprechend ein.
In der nächsten Zeile liest du den Buttonstatus aus und speicherst ihn in der Variable buttonState.
Wie wir zuvor gesehen haben, verwenden Sie die Funktion digitalRead().
Schaltflächenstatus = digitalRead(Schaltflächenpin);
Die folgende if-Anweisung prüft, ob der Tastenzustand HIGH ist. Wenn dies der Fall ist, wird die LED mithilfe der Funktion digitalWrite() eingeschaltet, die als Argument den LEDPin und den Zustand HIGH akzeptiert.
wenn (Schaltflächenstatus == HOCH)LAFVIN ESP32 Basic Starter Kit - Code funktioniert 1Wenn der Tastenstatus nicht HIGH ist, schalten Sie die LED aus. Setzen Sie einfach LOW als zweites Argument in der Funktion digitalWrite().LAFVIN ESP32 Basis-Starterkit - digitalWriteHochladen des Codes
Bevor Sie auf die Schaltfläche „Hochladen“ klicken, gehen Sie zu Tools > Board und wählen Sie das Board: DOIT ESP32 DEVKIT V1 Board.
Gehen Sie zu Tools > Port und wählen Sie den COM-Port aus, an den der ESP32 angeschlossen ist. Drücken Sie dann die Upload-Schaltfläche und warten Sie auf die Meldung „Hochladen abgeschlossen“.LAFVIN ESP32 Basic Starter Kit - ICON 7Hinweis: Wenn Sie im Debugging-Fenster viele Punkte (Verbinden…__…__) und die Meldung „Verbindung zu ESP32 fehlgeschlagen: Zeitüberschreitung beim Warten auf Paketheader“ sehen, bedeutet dies, dass Sie nach den Punkten die integrierte BOOT-Taste des ESP32 drücken müssen.
beginnen zu erscheinen.Fehlerbehebung

Demonstration

Nachdem Sie den Code hochgeladen haben, testen Sie Ihre Schaltung. Ihre LED sollte aufleuchten, wenn Sie den Druckknopf drücken:LAFVIN ESP32 Basic Starter Kit - DemonstrationUnd schalten Sie es aus, wenn Sie es loslassen:LAFVIN ESP32 Basic Starter Kit - Ausschalten

Projekt 2 ESP32 Analoge Eingänge

Dieses Projekt zeigt, wie man mit dem ESP32 unter Verwendung der Arduino IDE analoge Eingänge liest.
Die analoge Anzeige ist nützlich, um Werte von variablen Widerständen wie Potentiometern oder analogen Sensoren abzulesen.
Analoge Eingänge (ADC)
Das Lesen eines analogen Wertes mit dem ESP32 bedeutet, dass Sie unterschiedliche Lautstärken messen können.tagDie Pegel liegen zwischen 0 V und 3.3 V.
Die voltagDer gemessene Wert wird dann einem Wert zwischen 0 und 4095 zugewiesen, wobei 0 V 0 und 3.3 V 4095 entsprechen. Jede SpannungtagBei Werten zwischen 0 V und 3.3 V wird der entsprechende Zwischenwert ausgegeben.LAFVIN ESP32 Basic Starter Kit - Analoge EingängeADC ist nicht linear
Idealerweise würden Sie bei Verwendung der ESP32-ADC-Pins ein lineares Verhalten erwarten.
Dies geschieht jedoch nicht. Sie erhalten ein Verhalten wie in der folgenden Grafik dargestellt:LAFVIN ESP32 Basic Starter Kit - NichtlinearDieses Verhalten bedeutet, dass Ihr ESP32 nicht in der Lage ist, 3.3 V von 3.2 V zu unterscheiden.
Sie erhalten den gleichen Wert für beide Voltages: 4095.
Dasselbe gilt für sehr niedrige Lautstärketage-Werte: Für 0 V und 0.1 V erhalten Sie den gleichen Wert: 0. Dies müssen Sie bei der Verwendung der ESP32-ADC-Pins beachten.
analogRead()-Funktion
Das Lesen eines analogen Eingangs mit dem ESP32 über die Arduino IDE ist so einfach wie die Verwendung der Funktion analogRead(). Sie akzeptiert als Argument den GPIO, den Sie lesen möchten:
analogRead(GPIO);
Im DEVKIT V15board (Version mit 1 GPIOs) sind nur 30 verfügbar.
Nehmen Sie die Pinbelegung Ihrer ESP32-Platine zur Hand und suchen Sie die ADC-Pins. Diese sind in der Abbildung unten mit einem roten Rand hervorgehoben.LAFVIN ESP32 Basic Starter Kit - RandDiese analogen Eingangspins haben eine Auflösung von 12 Bit. Das bedeutet, dass beim Lesen eines analogen Eingangs dessen Bereich zwischen 0 und 4095 variieren kann.
Hinweis: ADC2-Pins können nicht verwendet werden, wenn Wi-Fi verwendet wird. Wenn Sie also Wi-Fi verwenden und Probleme haben, den Wert von einem ADC2-GPIO abzurufen, können Sie stattdessen die Verwendung eines ADC1-GPIO in Betracht ziehen. Damit sollte Ihr Problem gelöst sein.
Um zu sehen, wie alles zusammenhängt, machen wir ein einfaches Beispielample, um einen analogen Wert von einem Potentiometer abzulesen.
Erforderliche Teile
Für dieses BeispielampZum Schluss benötigst du folgende Teile:

  • ESP32 DEVKIT V1-Platine
  • Potentiometer
  • Steckplatine
  • Überbrückungsdrähte

schematisch
Schließen Sie ein Potentiometer an Ihren ESP32 an. Der mittlere Pin des Potentiometers sollte mit GPIO 4 verbunden werden. Sie können das folgende schematische Diagramm als Referenz verwenden.LAFVIN ESP32 Basic Starter Kit - SchaltplanCode
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie den Code Project_2_ESP32_Inputs_Outputs.ino in der Arduino IDELAFVIN ESP32 Basic Starter Kit - Code 2Dieser Code liest einfach die Werte vom Potentiometer und druckt diese Werte im seriellen Monitor.
Im Code definieren Sie zunächst den GPIO, an den das Potentiometer angeschlossen ist. In diesem Beispielample, GPIO 4.LAFVIN ESP32 Basic Starter Kit - exampleInitialisieren Sie im Setup() eine serielle Kommunikation mit einer Baudrate von 115200.LAFVIN ESP32 Basic Starter Kit - exampTeil 1Verwenden Sie in der Schleife () die Funktion analogRead(), um den analogen Eingang vom PotPin zu lesen.LAFVIN ESP32 Basic Starter Kit - exampTeil 2Drucken Sie abschließend die vom Potentiometer abgelesenen Werte im seriellen Monitor aus.LAFVIN ESP32 Basic Starter Kit - exampTeil 3Laden Sie den bereitgestellten Code auf Ihren ESP32 hoch. Stellen Sie sicher, dass Sie im Menü „Tools“ die richtige Platine und den richtigen COM-Port ausgewählt haben.
Den Ex testenample
Öffnen Sie nach dem Hochladen des Codes und Drücken der ESP32-Reset-Taste den seriellen Monitor mit einer Baudrate von 115200. Drehen Sie das Potentiometer und beobachten Sie, wie sich die Werte ändern.Der Maximalwert, den Sie erhalten, ist 4095 und der Minimalwert ist 0.LAFVIN ESP32 Basic Starter Kit - maximaler Wert

Einpacken

In diesem Artikel haben Sie gelernt, wie Sie mit dem ESP32 und der Arduino IDE analoge Eingänge lesen können. Zusammengefasst:

  • Das ESP32 DEVKIT V1 DOIT-Board (Version mit 30 Pins) verfügt über 15 ADC-Pins, die Sie zum Lesen analoger Eingänge verwenden können.
  • Diese Pins haben eine Auflösung von 12 Bit, was bedeutet, dass Sie Werte von 0 bis 4095 erhalten können.
  • Um einen Wert in der Arduino IDE zu lesen, verwenden Sie einfach die Funktion analogRead().
  • Die ADC-Pins des ESP32 haben kein lineares Verhalten. Sie werden wahrscheinlich nicht zwischen 0 und 0.1 V oder zwischen 3.2 und 3.3 V unterscheiden können. Das müssen Sie bei der Verwendung der ADC-Pins berücksichtigen.

Projekt 3 ESP32 PWM (Analogausgang)

In diesem Tutorial zeigen wir Ihnen, wie Sie mit dem ESP32 PWM-Signale mithilfe der Arduino IDE erzeugen. Als ExampNun bauen wir eine einfache Schaltung, die eine LED mit dem LED-PWM-Controller des ESP32 dimmt.LAFVIN ESP32 Basic Starter Kit - Analoger AusgangESP32 LED PWM Controller
Der ESP32 verfügt über einen LED-PWM-Controller mit 16 unabhängigen Kanälen, die so konfiguriert werden können, dass sie PWM-Signale mit unterschiedlichen Eigenschaften erzeugen.
Hier sind die Schritte, die Sie befolgen müssen, um eine LED mit PWM unter Verwendung der Arduino IDE zu dimmen:

  1. Zuerst müssen Sie einen PWM-Kanal auswählen. Es gibt 16 Kanäle von 0 bis 15.
  2. Anschließend müssen Sie die PWM-Signalfrequenz einstellen. Für eine LED ist eine Frequenz von 5000 Hz kein Problem.
  3. Sie müssen auch die Auflösung des Arbeitszyklus des Signals einstellen: Sie haben Auflösungen von 1 bis 16 Bit. Wir verwenden eine 8-Bit-Auflösung, was bedeutet, dass Sie die LED-Helligkeit mit einem Wert von 0 bis 255 steuern können.
  4.  Als nächstes müssen Sie angeben, an welchem ​​GPIO oder welchen GPIOs das Signal erscheinen soll. Dazu verwenden Sie die folgende Funktion:
    ledcAttachPin(GPIO, Kanal)
    Diese Funktion akzeptiert zwei Argumente. Das erste ist der GPIO, der das Signal ausgibt, und das zweite ist der Kanal, der das Signal generiert.
  5. Um die LED-Helligkeit mittels PWM zu regeln, verwenden Sie schließlich die folgende Funktion:

ledcWrite(Kanal, Arbeitszyklus)
Diese Funktion akzeptiert als Argumente den Kanal, der das PWM-Signal generiert, und den Arbeitszyklus.
Erforderliche Teile
Um diesem Tutorial folgen zu können, benötigen Sie diese Teile:

  • ESP32 DEVKIT V1-Platine
  • 5mm LED
  • 220 Ohm Widerstand
  •  Steckplatine
  • Überbrückungsdrähte

schematisch
Verdrahten Sie eine LED mit Ihrem ESP32 wie im folgenden Schaltplan dargestellt. Die LED sollte mit GPIO verbunden sein. 4.LAFVIN ESP32 Basic Starter Kit - SchaltplanNotiz: Sie können jeden beliebigen Pin verwenden, solange er als Ausgang fungieren kann. Alle Pins, die als Ausgänge fungieren können, können als PWM-Pins verwendet werden. Weitere Informationen zu den ESP32-GPIOs finden Sie unter: ESP32-Pinbelegungsreferenz: Welche GPIO-Pins sollten Sie verwenden?
Code
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie den Code Project_3_ESP32_PWM.ino in der Arduino IDELAFVIN ESP32 Basic Starter Kit - Code 3LAFVIN ESP32 Basic Starter Kit - Code 4Sie beginnen mit der Definition des Pins, an den die LED angeschlossen ist. In diesem Fall ist die LED an GPIO 4 angeschlossen.LAFVIN ESP32 Basic Starter Kit - Code 5Anschließend legen Sie die PWM-Signaleigenschaften fest. Sie definieren eine Frequenz von 5000 Hz, wählen Kanal 0 zur Signalerzeugung und legen eine Auflösung von 8 Bit fest. Sie können andere Eigenschaften als diese auswählen, um unterschiedliche PWM-Signale zu erzeugen.LAFVIN ESP32 Basic Starter Kit - Code 6Im Setup() müssen Sie LED PWM mit den Eigenschaften konfigurieren, die Sie zuvor definiert haben. Verwenden Sie dazu die Funktion ledcSetup(), die als Argumente den LED-Kanal, die Frequenz und die Auflösung wie folgt akzeptiert:LAFVIN ESP32 Basic Starter Kit - Code 8Als nächstes müssen Sie den GPIO auswählen, von dem Sie das Signal erhalten möchten. Verwenden Sie dazu die Funktion ledcAttachPin(), die als Argumente den GPIO akzeptiert, von dem Sie das Signal erhalten möchten, und den Kanal, der das Signal generiert. In diesem Beispielample, wir erhalten das Signal im ledPin GPIO, das entspricht GPIO 4. Der Kanal, der das Signal generiert, ist der ledChannel, der Kanal 0 entspricht.LAFVIN ESP32 Basic Starter Kit - Code 9In der Schleife variieren Sie den Arbeitszyklus zwischen 0 und 255, um die Helligkeit der LED zu erhöhen.LAFVIN ESP32 Basic Starter Kit - HelligkeitUnd dann zwischen 255 und 0, um die Helligkeit zu verringern.LAFVIN ESP32 Basic Starter Kit - Helligkeit 1Um die Helligkeit der LED einzustellen, müssen Sie nur die Funktion ledcWrite() verwenden, die als Argumente den Kanal akzeptiert, der das Signal generiert, und den Arbeitszyklus.LAFVIN ESP32 Basic Starter Kit - Helligkeit 2Da wir eine 8-Bit-Auflösung verwenden, wird der Arbeitszyklus mit einem Wert zwischen 0 und 255 gesteuert. Beachten Sie, dass wir in der Funktion ledcWrite() den Kanal verwenden, der das Signal generiert, und nicht den GPIO.

Den Ex testenample

Laden Sie den Code auf Ihren ESP32 hoch. Stellen Sie sicher, dass Sie die richtige Platine und den richtigen COM-Port ausgewählt haben. Sehen Sie sich Ihren Schaltkreis an. Sie sollten eine Dimmer-LED haben, die die Helligkeit erhöht und verringert.LAFVIN ESP32 Basic Starter Kit - Testen des Example

Projekt 4 ESP32 PIR-Bewegungssensor

Dieses Projekt zeigt, wie man mit dem ESP32 mithilfe eines PIR-Bewegungssensors Bewegungen erkennt. Der Summer gibt einen Alarm aus, wenn eine Bewegung erkannt wird, und stoppt den Alarm, wenn für eine voreingestellte Zeit (z. B. 4 Sekunden) keine Bewegung erkannt wird.
Funktionsweise des Bewegungssensors HC-SR501
.LAFVIN ESP32 Basic Starter Kit - Bewegungssensor funktioniertDas Funktionsprinzip des HC-SR501-Sensors basiert auf der Änderung der Infrarotstrahlung auf dem sich bewegenden Objekt. Um vom HC-SR501-Sensor erkannt zu werden, muss das Objekt zwei Anforderungen erfüllen:

  • Das Objekt strahlt Infrarot aus.
  • Das Objekt bewegt sich oder wackelt

Also:
Wenn ein Objekt Infrarotstrahlen aussendet, sich jedoch nicht bewegt (z. B. eine Person steht still und bewegt sich nicht), wird es vom Sensor nicht erkannt.
Wenn sich ein Objekt bewegt, aber KEINE Infrarotstrahlen aussendet (z. B. ein Roboter oder ein Fahrzeug), wird es NICHT vom Sensor erkannt.
Einführung in Timer
In diesem BeispielampWir werden auch Timer einführen. Wir möchten, dass die LED für eine vorbestimmte Anzahl von Sekunden leuchtet, nachdem eine Bewegung erkannt wurde. Anstatt eine delay()-Funktion zu verwenden, die Ihren Code blockiert und Ihnen für eine bestimmte Anzahl von Sekunden nicht erlaubt, etwas anderes zu tun, sollten wir einen Timer verwenden.LAFVIN ESP32 Basic Starter Kit - Einführung in TimerDie Funktion delay()
Sie sollten mit der Funktion delay() vertraut sein, da sie häufig verwendet wird. Diese Funktion ist ziemlich einfach zu verwenden. Sie akzeptiert eine einzelne int-Zahl als Argument.
Diese Zahl gibt die Zeit in Millisekunden an, die das Programm warten muss, bis es mit der nächsten Codezeile fortfahren kann.LAFVIN ESP32 Basic Starter Kit - CodeWenn Sie delay(1000) eingeben, wird Ihr Programm in dieser Zeile für 1 Sekunde angehalten.
delay() ist eine blockierende Funktion. Blockierende Funktionen verhindern, dass ein Programm irgendetwas anderes tut, bis die jeweilige Aufgabe abgeschlossen ist. Wenn mehrere Aufgaben gleichzeitig ausgeführt werden müssen, können Sie delay() nicht verwenden.
Bei den meisten Projekten sollten Sie auf Verzögerungen verzichten und stattdessen Timer verwenden.
Die Funktion millis()
Mit einer Funktion namens millis() können Sie die Anzahl der Millisekunden zurückgeben, die seit dem ersten Start des Programms vergangen sind.LAFVIN ESP32 Basic Starter Kit - Programm erstmals gestartetWarum ist diese Funktion nützlich? Weil Sie mithilfe einiger mathematischer Berechnungen leicht überprüfen können, wie viel Zeit vergangen ist, ohne Ihren Code zu blockieren.
Erforderliche Teile
Um diesem Tutorial folgen zu können, benötigen Sie die folgenden Teile

  • ESP32 DEVKIT V1-Platine
  • PIR-Bewegungssensor (HC-SR501)
  • Aktiver Summer
  • Überbrückungsdrähte
  • Steckplatine

schematischLAFVIN ESP32 Basic Starter Kit - Schema 1Notiz: Das ArbeitsvolumentagDie Spannung des HC-SR501 beträgt 5 V. Verwenden Sie den Vin-Pin zur Stromversorgung.
Code
Bevor Sie mit diesem Tutorial fortfahren, sollten Sie das ESP32-Add-on in Ihrer Arduino IDE installiert haben. Folgen Sie einem der folgenden Tutorials, um ESP32 in der Arduino IDE zu installieren, falls Sie dies noch nicht getan haben. (Wenn Sie diesen Schritt bereits durchgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie den Code Project_4_ESP32_PIR_Motion_Sensor.ino in der Arduino IDE.
Demonstration
Laden Sie den Code auf Ihre ESP32-Platine hoch. Stellen Sie sicher, dass Sie die richtige Platine und den richtigen COM-Port ausgewählt haben. Laden Sie die Referenzschritte für den Code hoch.
Öffnen Sie den seriellen Monitor mit einer Baudrate von 115200.LAFVIN ESP32 Basic Starter Kit - Demonstration 1Bewegen Sie Ihre Hand vor den PIR-Sensor. Der Summer sollte angehen und die Meldung „Bewegung erkannt! Summeralarm“ wird im seriellen Monitor angezeigt.
Nach 4 Sekunden sollte der Summer verstummen.LAFVIN ESP32 Basic Starter Kit - Summer

Projekt 5 ESP32-Schalter Web Server

In diesem Projekt erstellen Sie ein eigenständiges web Server mit einem ESP32, der Ausgänge (zwei LEDs) über die Arduino IDE-Programmierumgebung steuert. Der web Server ist mobil responsive und kann mit jedem Gerät, das einen Browser im lokalen Netzwerk hat, aufgerufen werden. Wir zeigen Ihnen, wie Sie den web Server und wie der Code Schritt für Schritt funktioniert.
Projektendeview
Bevor wir direkt zum Projekt übergehen, ist es wichtig, zu skizzieren, was unsere web Server reicht aus, damit die Schritte später leichter nachvollzogen werden können.

  • Der web Der von Ihnen erstellte Server steuert zwei LEDs, die mit dem ESP32 GPIO 26 und GPIO 27 verbunden sind.
  • Sie können auf den ESP32 zugreifen web Server, indem Sie die ESP32-IP-Adresse in einen Browser im lokalen Netzwerk eingeben;
  • Klicken Sie auf die Schaltflächen auf Ihrem web Server können Sie den Status jeder LED sofort ändern.

Erforderliche Teile
Für dieses Tutorial benötigen Sie die folgenden Teile:

  • ESP32 DEVKIT V1-Platine
  • 2x 5mm LED
  • 2x 200 Ohm Widerstand
  • Steckplatine
  • Überbrückungsdrähte

schematisch
Beginnen Sie mit dem Aufbau der Schaltung. Verbinden Sie zwei LEDs mit dem ESP32, wie im folgenden Schaltplan gezeigt – eine LED mit GPIO 26 und die andere mit GPIO 27.
Notiz: Wir verwenden die ESP32 DEVKIT DOIT-Platine mit 36 ​​Pins. Bevor Sie die Schaltung zusammenbauen, überprüfen Sie unbedingt die Pinbelegung der von Ihnen verwendeten Platine.LAFVIN ESP32 Basic Starter Kit - SchaltplanCode
Hier stellen wir den Code zur Verfügung, der den ESP32 erstellt web Server. Öffnen Sie den Code Project_5_ESP32_Switch _Web_Server.ino in Arduino IDE, aber laden Sie es noch nicht hoch. Sie müssen einige Änderungen vornehmen, damit es für Sie funktioniert.
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Festlegen Ihrer Netzwerkanmeldeinformationen
Sie müssen die folgenden Zeilen mit Ihren Netzwerkanmeldeinformationen ändern: SSID und Passwort. Der Code enthält ausführliche Kommentare, wo Sie die Änderungen vornehmen sollten.LAFVIN ESP32 Basic Starter Kit - NetzwerkanmeldeinformationenHochladen des Codes
Jetzt können Sie den Code hochladen und die web Der Server wird sofort funktionieren.
Befolgen Sie die nächsten Schritte, um Code auf den ESP32 hochzuladen:

  1. Schließen Sie Ihre ESP32-Platine an Ihren Computer an;
  2. Wählen Sie in der Arduino IDE Ihr Board unter Tools > Board aus (in unserem Fall verwenden wir das ESP32 DEVKIT DOIT-Board);LAFVIN ESP32 Basic Starter Kit - Hochladen des Codes
  3. Wählen Sie den COM-Port unter Extras > Port.LAFVIN ESP32 Basic Starter Kit - Tools-Port
  4. Drücken Sie die Schaltfläche „Hochladen“ in der Arduino IDE und warten Sie einige Sekunden, während der Code kompiliert und auf Ihre Platine hochgeladen wird.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. Warten Sie auf die Meldung „Hochladen abgeschlossen“.LAFVIN ESP32 Basic Starter Kit - Hochladen abgeschlossen 1

Suchen der ESP-IP-Adresse
Öffnen Sie nach dem Hochladen des Codes den seriellen Monitor mit einer Baudrate von 115200.LAFVIN ESP32 Basic Starter Kit - ESP IP-AdresseDrücken Sie die ESP32 EN-Taste (Reset). Der ESP32 verbindet sich mit dem WLAN und gibt die ESP-IP-Adresse auf dem seriellen Monitor aus. Kopieren Sie diese IP-Adresse, da Sie sie für den Zugriff auf den ESP32 benötigen. web Server.LAFVIN ESP32 Basic Starter Kit - web ServerZugriff auf die Web Server
Für den Zugriff auf die web Server, öffnen Sie Ihren Browser, fügen Sie die ESP32-IP-Adresse ein und Sie sehen die folgende Seite.
Notiz: Ihr Browser und ESP32 sollten mit demselben LAN verbunden sein.LAFVIN ESP32 Basic Starter Kit - Zugriff auf die Web ServerWenn Sie einen Blick auf den Serial Monitor werfen, können Sie sehen, was im Hintergrund passiert. Der ESP empfängt eine HTTP-Anfrage von einem neuen Client (in diesem Fall Ihrem Browser).LAFVIN ESP32 Basic Starter Kit - HTTP-AnfrageDarüber hinaus können Sie weitere Informationen zur HTTP-Anfrage sehen.
Demonstration
Jetzt können Sie testen, ob Ihre web Server funktioniert ordnungsgemäß. Klicken Sie auf die Schaltflächen, um die LEDs zu steuern.LAFVIN ESP32 Basic Starter Kit - HintergrundGleichzeitig können Sie einen Blick auf den seriellen Monitor werfen, um zu sehen, was im Hintergrund passiert. Zum BeispielampWenn Sie also auf die Schaltfläche klicken, um GPIO 26 einzuschalten, empfängt ESP32 eine Anfrage auf /26/on URL.LAFVIN ESP32 Basic Starter Kit - URLWenn der ESP32 diese Anfrage empfängt, schaltet er die an GPIO 26 angeschlossene LED ein und aktualisiert ihren Status auf dem web Seite.LAFVIN ESP32 Basic Starter Kit - web SeiteÄhnlich funktioniert auch der Button für GPIO 27. Testen Sie, ob er richtig funktioniert.LAFVIN ESP32 Basic Starter Kit - funktioniert einwandfrei

Funktionsweise des Codes

In diesem Abschnitt werden wir uns den Code genauer ansehen, um zu sehen, wie er funktioniert.
Als Erstes müssen Sie die WiFi-Bibliothek einbinden.LAFVIN ESP32 Basic Starter Kit - WiFi-BibliothekWie bereits erwähnt, müssen Sie Ihre SSID und Ihr Passwort in den folgenden Zeilen in Anführungszeichen einfügen.LAFVIN ESP32 Basic Starter Kit - AnführungszeichenDann legen Sie Ihre web Server auf Port 80.LAFVIN ESP32 Basic Starter Kit - web ServerDie folgende Zeile erstellt eine Variable zum Speichern des Headers der HTTP-Anfrage:LAFVIN ESP32 Basic Starter Kit - HTTP-AnfrageAls Nächstes erstellen Sie zusätzliche Variablen, um den aktuellen Status Ihrer Ausgaben zu speichern. Wenn Sie weitere Ausgaben hinzufügen und deren Status speichern möchten, müssen Sie weitere Variablen erstellen.LAFVIN ESP32 Basic Starter Kit - VariablenAußerdem müssen Sie jedem Ihrer Ausgänge einen GPIO zuweisen. Hier verwenden wir GPIO 26 und GPIO 27. Sie können auch beliebige andere geeignete GPIOs verwenden.LAFVIN ESP32 Basic Starter Kit - andere geeigneteaufstellen()
Kommen wir nun zum Setup(). Zunächst starten wir zu Debugzwecken eine serielle Kommunikation mit einer Baudrate von 115200.LAFVIN ESP32 Basic Starter Kit - EinsatzzweckeSie definieren Ihre GPIOs auch als OUTPUTs und setzen sie auf LOW.LAFVIN ESP32 Basic Starter Kit - GPIOs als AusgängeDie folgenden Zeilen starten die Wi-Fi-Verbindung mit WiFi.begin(ssid, password), warten auf eine erfolgreiche Verbindung und drucken die ESP-IP-Adresse im seriellen Monitor.LAFVIN ESP32 Basic Starter Kit - SeriellLAFVIN ESP32 Basic Starter Kit - Seriell 1Schleife()
In der Schleife () programmieren wir, was passiert, wenn ein neuer Client eine Verbindung mit dem web Server.
Der ESP32 wartet immer auf eingehende Clients mit der folgenden Zeile:LAFVIN ESP32 Basic Starter Kit - SchleifeWenn eine Anfrage von einem Client eingeht, speichern wir die eingehenden Daten. Die folgende While-Schleife läuft, solange der Client verbunden bleibt. Wir empfehlen nicht, den folgenden Teil des Codes zu ändern, es sei denn, Sie wissen genau, was Sie tun.LAFVIN ESP32 Basic Starter Kit - genauLAFVIN ESP32 Basic Starter Kit - genau 1LAFVIN ESP32 Basic Starter Kit - genau 2Der nächste Abschnitt mit if- und else-Anweisungen prüft, welche Taste in Ihrem web Seite und steuert die Ausgaben entsprechend. Wie wir bereits gesehen haben, stellen wir eine Anfrage an verschiedene URLs abhängig von der gedrückten Taste.LAFVIN ESP32 Basic Starter Kit - Taste gedrücktLAFVIN ESP32 Basic Starter Kit - Taste gedrückt 1Zum BeispielampWenn Sie also die GPIO 26 ON-Taste drücken, erhält der ESP32 eine Anfrage auf der /26/ON URL (Wir können diese Information im HTTP-Header auf dem seriellen Monitor sehen). So können wir prüfen, ob der Header den Ausdruck GET /26/on enthält. Wenn dies der Fall ist, ändern wir die Variable output26state auf ON und der ESP32 schaltet die LED ein.
Dies funktioniert ähnlich für die anderen Schaltflächen. Wenn Sie also weitere Ausgaben hinzufügen möchten, sollten Sie diesen Teil des Codes ändern, um sie einzuschließen.
Anzeige des HTML web Seite
Als nächstes müssen Sie die web Seite. Der ESP32 sendet eine Antwort an Ihren Browser mit etwas HTML-Code, um die web Seite.
Der web Die Seite wird mit diesem Ausdruck client.println() an den Client gesendet. Sie sollten als Argument eingeben, was Sie an den Client senden möchten.
Das erste, was wir senden sollten, ist immer die folgende Zeile, die angibt, dass wir HTML senden.LAFVIN ESP32 Basic Starter Kit - HTML sendenDann macht die folgende Zeile die web Seite reagiert in jedem web Browser.LAFVIN ESP32 Basic Starter Kit - web BrowserUnd um Anfragen an das Favicon zu unterbinden, wird folgendes verwendet. – Um diese Zeile musst du dir keine Gedanken machen.LAFVIN ESP32 Basic Starter Kit - client.println

Styling der Web Seite

Als nächstes haben wir CSS-Text, um die Schaltflächen und die web das Erscheinungsbild der Seite.
Wir wählen die Schriftart Helvetica aus, legen fest, dass der Inhalt als Block angezeigt und zentriert werden soll.LAFVIN ESP32 Basic Starter Kit - Styling der Web SeiteWir gestalten unsere Schaltflächen mit der Farbe #4CAF50, ohne Rahmen, mit weißem Text und folgender Polsterung: 16px 40px. Außerdem setzen wir die Textdekoration auf „keine“, definieren die Schriftgröße, den Rand und den Cursor als Zeiger.LAFVIN ESP32 Basic Starter Kit - ZeigerWir definieren außerdem den Stil für eine zweite Schaltfläche mit allen Eigenschaften der Schaltfläche, die wir zuvor definiert haben, jedoch mit einer anderen Farbe. Dies wird der Stil für die Aus-Schaltfläche sein.LAFVIN ESP32 Basic Starter Kit - client.println 1

Einstellen der Web Erste Seite Überschrift
In der nächsten Zeile können Sie die erste Überschrift Ihres web Seite. Hier haben wir „ESP32 Web Server“, Sie können diesen Text jedoch beliebig ändern.LAFVIN ESP32 Basic Starter Kit - Web SeitenüberschriftAnzeigen der Schaltflächen und des entsprechenden Status
Anschließend schreiben Sie einen Absatz, um den aktuellen Status von GPIO 26 anzuzeigen. Wie Sie sehen, verwenden wir die Variable output26State, sodass der Status sofort aktualisiert wird, wenn sich diese Variable ändert.LAFVIN ESP32 Basic Starter Kit - variable ÄnderungenDann zeigen wir je nach aktuellem Zustand des GPIO die Ein- oder Aus-Schaltfläche an. Wenn der aktuelle Zustand des GPIO ausgeschaltet ist, zeigen wir die Ein-Schaltfläche an, andernfalls die Aus-Schaltfläche.LAFVIN ESP32 Basic Starter Kit - Anzeige der OFF-TasteDasselbe Vorgehen verwenden wir auch für GPIO 27.
Schließen der Verbindung
Wenn die Antwort endet, löschen wir schließlich die Header-Variable und beenden die Verbindung mit dem Client mit client.stop().LAFVIN ESP32 Basic Starter Kit - Schließen der Verbindung

Einpacken

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie ein web Server mit dem ESP32. Wir haben euch ein einfaches Beispiel gezeigtample, das zwei LEDs steuert, aber die Idee besteht darin, diese LEDs durch ein Relais oder einen anderen Ausgang zu ersetzen, den Sie steuern möchten.

Projekt 6 RGB LED Web Server

In diesem Projekt zeigen wir Ihnen, wie Sie eine RGB-LED mit einem ESP32-Board fernsteuern können. Dazu verwenden wir ein web Server mit einem Farbwähler.
Projektendeview
Bevor wir beginnen, sehen wir uns an, wie dieses Projekt funktioniert:LAFVIN ESP32 Basic Starter Kit - Projekt beendetview

  • Der ESP32 web Der Server zeigt eine Farbauswahl an.
  • Wenn Sie eine Farbe auswählen, stellt Ihr Browser eine Anfrage an eine URL das die R-, G- und B-Parameter der ausgewählten Farbe enthält.
  • Ihr ESP32 empfängt die Anfrage und teilt den Wert für jeden Farbparameter auf.
  • Anschließend sendet es ein PWM-Signal mit dem entsprechenden Wert an die GPIOs, die die RGB-LED steuern.

Wie funktionieren RGB-LEDs?
Bei einer RGB-LED mit gemeinsamer Kathode teilen sich alle drei LEDs einen negativen Anschluss (Kathode). Alle im Kit enthaltenen LEDs sind RGB-LEDs mit gemeinsamer Kathode.LAFVIN ESP32 Basic Starter Kit - RGB-LEDs funktionierenWie erstelle ich unterschiedliche Farben?
Mit einer RGB-LED können Sie natürlich rotes, grünes und blaues Licht erzeugen und durch Konfigurieren der Intensität jeder einzelnen LED können Sie auch andere Farben erzeugen.
Zum BeispielampUm beispielsweise rein blaues Licht zu erzeugen, stellen Sie die blaue LED auf die höchste Intensität und die grünen und roten LEDs auf die niedrigste Intensität ein. Für weißes Licht stellen Sie alle drei LEDs auf die höchste Intensität ein.
Farben mischen
Um andere Farben zu erzeugen, können Sie die drei Farben in unterschiedlichen Intensitäten kombinieren. Um die Intensität jeder einzelnen LED anzupassen, können Sie ein PWM-Signal verwenden.
Da die LEDs sehr nahe beieinander liegen, sehen unsere Augen das Ergebnis der Farbkombination und nicht die drei Farben einzeln.
Um eine Vorstellung davon zu bekommen, wie Sie die Farben kombinieren können, werfen Sie einen Blick auf die folgende Tabelle.
Dies ist die einfachste Farbmischtabelle, vermittelt Ihnen aber eine Vorstellung davon, wie es funktioniert und wie verschiedene Farben erzeugt werden.LAFVIN ESP32 Basic Starter Kit - verschiedene FarbenErforderliche Teile
Für dieses Projekt benötigen Sie folgende Teile:

  • ESP32 DEVKIT V1-Platine
  • RGB-LEDs
  • 3x 220 Ohm Widerstände
  • Überbrückungsdrähte
  • Steckplatine

schematischLAFVIN ESP32 Basic Starter Kit - SchaltplanCode
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)

  • Installieren des ESP32-Add-ons in der Arduino IDE

Nach dem Zusammenbau der Schaltung öffnen Sie den Code
Projekt_6_RGB_LED_Web_Server.ino in der Arduino IDE.
Vergessen Sie nicht, vor dem Hochladen des Codes Ihre Netzwerkanmeldeinformationen einzugeben, damit sich der ESP mit Ihrem lokalen Netzwerk verbinden kann.LAFVIN ESP32 Basic Starter Kit - lokales NetzwerkSo funktioniert der Code
Die ESP32-Skizze verwendet die WiFi.h-Bibliothek.LAFVIN ESP32 Basic Starter Kit - WiFi.h-BibliothekDie folgenden Zeilen definieren Zeichenfolgenvariablen zur Aufnahme der R-, G- und B-Parameter aus der Anforderung.LAFVIN ESP32 Basic Starter Kit - String redStringDie nächsten vier Variablen werden später zum Dekodieren der HTTP-Anfrage verwendet.LAFVIN ESP32 Basic Starter Kit - HTTP-AnfrageErstellen Sie drei Variablen für die GPIOs, die die Streifenparameter R, G und B steuern. In diesem Fall verwenden wir GPIO 13, GPIO 12 und GPIO 14.LAFVIN ESP32 Basic Starter Kit - GPIOs benötigenDiese GPIOs müssen PWM-Signale ausgeben, daher müssen wir zuerst die PWM-Eigenschaften konfigurieren. Stellen Sie die PWM-Signalfrequenz auf 5000 Hz ein. Ordnen Sie dann jeder Farbe einen PWM-Kanal zu.LAFVIN ESP32 Basic Starter Kit - jede FarbeUnd schließlich stellen Sie die Auflösung der PWM-Kanäle auf 8-Bit einLAFVIN ESP32 Basic Starter Kit - PWM-KanäleIm setup() die PWM Eigenschaften den PWM Kanälen zuweisenLAFVIN ESP32 Basic Starter Kit - PWM-KanäleVerbinden Sie die PWM-Kanäle mit den entsprechenden GPIOsLAFVIN ESP32 Basic Starter Kit - entsprechende GPIOsDer folgende Codeabschnitt zeigt den Farbwähler in Ihrem web Seite und stellt eine Anfrage basierend auf der von Ihnen ausgewählten Farbe.LAFVIN ESP32 Basic Starter Kit - ausgewähltLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Wenn Sie eine Farbe auswählen, erhalten Sie eine Anfrage im folgenden Format.LAFVIN ESP32 Basic Starter Kit - folgendes Format

Daher müssen wir diesen String aufteilen, um die Parameter R, G und B zu erhalten. Die Parameter werden in den Variablen redString, greenString und blueString gespeichert und können Werte zwischen 0 und 255 haben.LAFVIN ESP32 Basic Starter Kit - HeaderLAFVIN ESP32 Basic Starter Kit - Header 1Um den Streifen mit dem ESP32 zu steuern, verwenden Sie die Funktion ledcWrite(), um PWM-Signale mit den aus dem HTTP dekodierten Werten zu generieren Anfrage.LAFVIN ESP32 Basic Starter Kit - HTTP-Anfrage 1Notiz: Erfahren Sie mehr über PWM mit ESP32: Projekt 3 ESP32 PWM (Analogausgang)
Um den Streifen mit dem ESP8266 zu steuern, brauchen wir nur
die Funktion analogWrite() zum Generieren von PWM-Signalen mit den aus der HTPP-Anfrage dekodierten Werten.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Da wir die Werte in einer Zeichenfolgenvariable erhalten, müssen wir sie mit der Methode toInt() in Ganzzahlen umwandeln.
Demonstration
Wählen Sie nach der Eingabe Ihrer Netzwerkanmeldeinformationen die richtige Platine und den richtigen COM-Port aus und laden Sie den Code auf Ihren ESP32 hoch. Schritte zum Hochladen der Codereferenz.
Öffnen Sie nach dem Hochladen den seriellen Monitor mit einer Baudrate von 115200 und drücken Sie die ESP-Aktivierungs-/Reset-Taste. Sie sollten die IP-Adresse der Platine erhalten.LAFVIN ESP32 Basic Starter Kit - gleiches LANÖffnen Sie Ihren Browser und geben Sie die ESP-IP-Adresse ein. Wählen Sie nun mit der Farbauswahl eine Farbe für die RGB-LED aus.
Anschließend müssen Sie die Schaltfläche „Farbe ändern“ drücken, damit die Farbe wirksam wird.LAFVIN ESP32 Basic Starter Kit - RGB-LEDUm die RGB-LED auszuschalten, wählen Sie die schwarze Farbe.
Die kräftigsten Farben (oben in der Farbauswahl) sind diejenigen, die die besten Ergebnisse erzielen.LAFVIN ESP32 Basic Starter Kit - bessere Ergebnisse

Projekt 7 ESP32 Relais Web Server

Die Verwendung eines Relais mit dem ESP32 ist eine großartige Möglichkeit, AC-Haushaltsgeräte fernzusteuern. In diesem Tutorial wird erklärt, wie man ein Relaismodul mit dem ESP32 steuert.
Wir werden uns ansehen, wie ein Relaismodul funktioniert, wie man das Relais an den ESP32 anschließt und ein web Server zur Fernsteuerung eines Relais.
Einführung in Relais
Ein Relais ist ein elektrisch betriebener Schalter und kann wie jeder andere Schalter ein- oder ausgeschaltet werden, sodass der Strom durchfließt oder nicht. Es kann mit geringer Spannung gesteuert werden.tages, wie die 3.3 V, die von den ESP32 GPIOs bereitgestellt werden und ermöglicht uns die Steuerung hoher Lautstärketagwie 12V, 24V oder Netzspannungtage (230 V in Europa und 120 V in den USA).LAFVIN ESP32 Basic Starter Kit - Einführung in RelaisAuf der linken Seite befinden sich zwei Sätze von drei Buchsen zum Anschluss von Hochtonlautsprechern.tagund die Pins auf der rechten Seite (Low-Voltage) Verbindung zu den ESP32-GPIOs herstellen.
Netzlautstärketage AnschlüsseLAFVIN ESP32 Basic Starter Kit - Netzspannungtage AnschlüsseDas im vorherigen Foto gezeigte Relaismodul verfügt über zwei Anschlüsse mit jeweils drei Buchsen: gemeinsam (COM), normalerweise geschlossen (NC) und normalerweise offen (NO).

  • COM: Verbinden Sie den Strom, den Sie steuern möchten (NetzspannungtagUnd).
  • NC (Normally Closed): Die normalerweise geschlossene Konfiguration wird verwendet, wenn das Relais standardmäßig geschlossen sein soll. Die NC-COM-Pins sind verbunden, was bedeutet, dass der Strom fließt, es sei denn, Sie senden ein Signal vom ESP32 an das Relaismodul, um den Stromkreis zu öffnen und den Stromfluss zu stoppen.
  • NO (Normally Open): Die normalerweise offene Konfiguration funktioniert umgekehrt: Es besteht keine Verbindung zwischen den NO- und COM-Pins, sodass der Stromkreis unterbrochen ist, sofern Sie nicht ein Signal vom ESP32 senden, um den Stromkreis zu schließen.

SteuerstifteLAFVIN ESP32 Basic Starter Kit - SteuerpinsDie niedrige LautstärketagAuf der Seite befinden sich ein Satz mit vier und ein Satz mit drei Pins. Der erste Satz besteht aus VCC und GND zum Einschalten des Moduls sowie Eingang 1 (IN1) und Eingang 2 (IN2) zum Steuern der unteren bzw. oberen Relais.
Wenn Ihr Relaismodul nur einen Kanal hat, haben Sie nur einen IN-Pin. Wenn Sie vier Kanäle haben, haben Sie vier IN-Pins und so weiter.
Das Signal, das Sie an die IN-Pins senden, bestimmt, ob das Relais aktiv ist oder nicht. Das Relais wird ausgelöst, wenn der Eingang unter etwa 2 V fällt. Dies bedeutet, dass Sie die folgenden Szenarien haben:

  • Normalerweise geschlossene Konfiguration (NC):
  • HIGH-Signal – Strom fließt
  • LOW-Signal – es fließt kein Strom
  • Normalerweise geöffnete Konfiguration (NO):
  • HIGH-Signal – es fließt kein Strom
  • LOW-Signal – Strom fließt

Sie sollten eine normalerweise geschlossene Konfiguration verwenden, wenn der Strom die meiste Zeit fließen soll und Sie ihn nur gelegentlich unterbrechen möchten.
Verwenden Sie eine normalerweise offene Konfiguration, wenn der Strom gelegentlich fließen soll (z. B.ample, schalte al einamp gelegentlich).
Auswahl der StromversorgungLAFVIN ESP32 Basic Starter Kit - NetzteilauswahlDer zweite Pin-Satz besteht aus den Pins GND, VCC und JD-VCC.
Der JD-VCC-Pin versorgt den Elektromagneten des Relais mit Strom. Beachten Sie, dass das Modul eine Überbrückungskappe hat, die die VCC- und JD-VCC-Pins verbindet. Die hier gezeigte ist gelb, Ihre kann jedoch eine andere Farbe haben.
Mit aufgesetzter Jumperkappe sind die VCC- und JD-VCC-Pins verbunden. Das bedeutet, dass der Relais-Elektromagnet direkt vom ESP32-Stromanschluss mit Strom versorgt wird, sodass das Relaismodul und die ESP32-Schaltkreise nicht physisch voneinander isoliert sind.
Ohne die Überbrückungskappe müssen Sie eine unabhängige Stromquelle bereitstellen, um den Elektromagneten des Relais über den JD-VCC-Pin mit Strom zu versorgen. Diese Konfiguration isoliert die Relais physisch vom ESP32 mit dem integrierten Optokoppler des Moduls, was Schäden am ESP32 im Falle von Spannungsspitzen verhindert.
schematischLAFVIN ESP32 Basic Starter Kit - SchaltplanWarnung: Einsatz von hoher LautstärketagDie Netzteile können schwere Verletzungen verursachen.
Daher werden 5mm LEDs anstelle von Hochleistungs-LEDs verwendet.tage Glühbirnen im Experiment. Wenn Sie mit Netzspannung nicht vertraut sindtagBitten Sie jemanden, der Ihnen helfen kann. Stellen Sie beim Programmieren des ESP oder beim Verdrahten Ihrer Schaltung sicher, dass alles vom Netz getrennt ist.tage.LAFVIN ESP32 Basic Starter Kit - NetzspannungtageInstallieren der Bibliothek für ESP32
Um dies zu bauen web Server verwenden wir den ESPAsyncWebServerbibliothek und AsyncTCP-Bibliothek.
Installieren von ESPAsyncWebServerbibliothek
Folgen Sie den nächsten Schritten zur Installation des ESPAsyncWebServer Bibliothek:

  1. Klicken Sie hier, um ESPAsync herunterzuladenWebServer-Bibliothek. Sie sollten
    ein .zip-Ordner in Ihrem Download-Ordner
  2. Entpacken Sie den .zip-Ordner und Sie sollten ESPAsync erhalten.WebServer-Masterordner
  3. Benennen Sie Ihren Ordner von ESPAsync umWebServer-Master zu ESPAsyncWebServer
  4. Verschieben Sie den ESPAsyncWebServer-Ordner in den Ordner mit den Arduino IDE-Installationsbibliotheken

Alternativ können Sie in Ihrer Arduino IDE zu Sketch > Include gehen
Bibliothek > .ZIP-Bibliothek hinzufügen… und wählen Sie die Bibliothek aus, die Sie gerade heruntergeladen haben.
Installieren der AsyncTCP-Bibliothek für ESP32
Der ESPAsyncWebServer Bibliothek erfordert die AsyncTCP Bibliothek zum Arbeiten. Folgen
Die nächsten Schritte zum Installieren dieser Bibliothek:

  1. Klicken Sie hier, um die AsyncTCP-Bibliothek herunterzuladen. Sie sollten einen .zip-Ordner in Ihrem Download-Ordner haben
  2. Entpacken Sie den .zip-Ordner und Sie sollten den AsyncTCP-Master-Ordner erhalten.
    1. Benennen Sie Ihren Ordner von AsyncTCP-master in AsyncTCP um
    3. Verschieben Sie den Ordner AsyncTCP in den Ordner mit den Arduino IDE-Installationsbibliotheken
    4. Öffnen Sie abschließend Ihre Arduino IDE erneut

Alternativ können Sie in Ihrer Arduino IDE zu Sketch > Include gehen
Bibliothek > .ZIP-Bibliothek hinzufügen… und wählen Sie die Bibliothek aus, die Sie gerade heruntergeladen haben.
Code
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie nach der Installation der erforderlichen Bibliotheken den Code Project_7_ESP32_Relay_Web_Server.ino in der Arduino IDE.
Vergessen Sie nicht, vor dem Hochladen des Codes Ihre Netzwerkanmeldeinformationen einzugeben, damit sich der ESP mit Ihrem lokalen Netzwerk verbinden kann.LAFVIN ESP32 Basic Starter Kit - lokales NetzwerkDemonstration
Nachdem Sie die erforderlichen Änderungen vorgenommen haben, laden Sie den Code in Ihren ESP32 hoch. Führen Sie die Schritte zum Hochladen des Codereferenzcodes aus.
Öffnen Sie den Serial Monitor mit einer Baudrate von 115200 und drücken Sie die ESP32 EN-Taste, um seine IP-Adresse abzurufen. Öffnen Sie dann einen Browser in Ihrem lokalen Netzwerk und geben Sie die ESP32-IP-Adresse ein, um Zugriff auf den web Server.
Öffnen Sie den Serial Monitor mit einer Baudrate von 115200 und drücken Sie die ESP32 EN-Taste, um seine IP-Adresse abzurufen. Öffnen Sie dann einen Browser in Ihrem lokalen Netzwerk und geben Sie die ESP32-IP-Adresse ein, um Zugriff auf den web Server.LAFVIN ESP32 Basic Starter Kit - web ServerNotiz: Ihr Browser und ESP32 sollten mit demselben LAN verbunden sein.
Sie sollten ungefähr das Folgende erhalten, mit so vielen Schaltflächen wie der Anzahl der Relais, die Sie in Ihrem Code definiert haben.LAFVIN ESP32 Basic Starter Kit - SmartphoneAb sofort können Sie Ihre Relais über die Tasten auch mit Ihrem Smartphone steuern.LAFVIN ESP32 Basic Starter Kit - Smartphone 1

Projekt_8_Ausgabestatus-Synchronisierung_ Web_Server

Dieses Projekt zeigt, wie man die ESP32- oder ESP8266-Ausgänge mit einem web Server und eine physische Taste gleichzeitig. Der Ausgabezustand wird auf dem web Seite, ob sie über eine physische Taste geändert wird oder web Server.
Projektendeview
Werfen wir einen kurzen Blick darauf, wie das Projekt funktioniert.LAFVIN ESP32 Basic Starter Kit - Projekt beendetviewDer ESP32 bzw. ESP8266 beherbergt einen web Server, der Ihnen die Steuerung des Status einer Ausgabe ermöglicht;

  • Der aktuelle Ausgangszustand wird angezeigt auf dem web Server;
  • Das ESP ist außerdem mit einem physischen Druckknopf verbunden, der denselben Ausgang steuert.
  • Wenn Sie den Ausgangszustand mit dem physischen Druckknopf ändern, wird sein aktueller Zustand auch auf dem web Server.

Zusammenfassend lässt sich sagen, dass dieses Projekt Ihnen ermöglicht, denselben Ausgang mit einem web Server und Taster gleichzeitig. Bei jeder Zustandsänderung des Ausgangs wird der web Server wird aktualisiert.
Erforderliche Teile
Hier ist eine Liste der Teile, die Sie zum Aufbau der Schaltung benötigen:

  • ESP32 DEVKIT V1-Platine
  • 5-mm-LED
  • 220Ohm Widerstand
  • Drucktaster
  • 10 kOhm Widerstand
  • Steckplatine
  • Überbrückungsdrähte

schematischLAFVIN ESP32 Basic Starter Kit - Schema 1Installieren der Bibliothek für ESP32
Um dies zu bauen web Server verwenden wir den ESPAsyncWebServerbibliothek und AsyncTCP-Bibliothek. (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren von ESPAsyncWebServerbibliothek
Befolgen Sie die nächsten Schritte, um ESPAsync zu installierenWebServerbibliothek:

  1. Klicken Sie hier, um ESPAsync herunterzuladenWebServer-Bibliothek. Sie sollten
    ein .zip-Ordner in Ihrem Download-Ordner
  2. Entpacken Sie den .zip-Ordner und Sie sollten ESPAsync erhalten.WebServer-Masterordner
  3. Benennen Sie Ihren Ordner von ESPAsync umWebServer-Master zu ESPAsyncWebServer
  4. Verschieben Sie den ESPAsyncWebServer-Ordner in den Ordner mit den Arduino IDE-Installationsbibliotheken
    Alternativ können Sie in Ihrer Arduino IDE zu Sketch > Include gehen
    Bibliothek > .ZIP-Bibliothek hinzufügen… und wählen Sie die Bibliothek aus, die Sie gerade heruntergeladen haben.

Installieren der AsyncTCP-Bibliothek für ESP32
Der ESPAsyncWebDamit die Serverbibliothek funktioniert, ist die AsyncTCP-Bibliothek erforderlich. Befolgen Sie die nächsten Schritte, um diese Bibliothek zu installieren:

  1. Klicken Sie hier, um die AsyncTCP-Bibliothek herunterzuladen. Sie sollten einen .zip-Ordner in Ihrem Download-Ordner haben
  2. Entpacken Sie den .zip-Ordner und Sie sollten den AsyncTCP-Master-Ordner erhalten.
  3. Benennen Sie Ihren Ordner von AsyncTCP-master in AsyncTCP um
  4. Verschieben Sie den Ordner AsyncTCP in den Ordner mit den Arduino IDE-Installationsbibliotheken
  5. Öffnen Sie abschließend Ihre Arduino IDE erneut
    Alternativ können Sie in Ihrer Arduino IDE zu Sketch > Include gehen
    Bibliothek > .ZIP-Bibliothek hinzufügen… und wählen Sie die Bibliothek aus, die Sie gerade heruntergeladen haben.

Code
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie nach der Installation der erforderlichen Bibliotheken den Code
Projekt_8_Ausgabestatus-Synchronisierung_Web_Server.ino in der Arduino IDE.
Vergessen Sie nicht, vor dem Hochladen des Codes Ihre Netzwerkanmeldeinformationen einzugeben, damit sich der ESP mit Ihrem lokalen Netzwerk verbinden kann.LAFVIN ESP32 Basic Starter Kit - Code

Funktionsweise des Codes

Schaltflächenzustand und Ausgabezustand
Die Variable ledState enthält den Status der LED-Ausgabe. Standardmäßig wird bei web Server startet, ist er NIEDRIG.LAFVIN ESP32 Basic Starter Kit - Code funktioniert

Anhand der Parameter buttonState und lastButtonState lässt sich erkennen, ob der Druckknopf gedrückt wurde oder nicht.LAFVIN ESP32 Basic Starter Kit - wurde gepresstTaste (web Server)
Wir haben das HTML zum Erstellen der Schaltfläche nicht in die Variable „index_html“ eingebunden.
Denn wir wollen eine Änderung abhängig vom aktuellen LED-Zustand ermöglichen, der sich auch mit dem Taster ändern lässt.
Daher haben wir einen Platzhalter für die Schaltfläche %BUTTONPLACEHOLDER% erstellt, der später im Code durch HTML-Text ersetzt wird, um die Schaltfläche zu erstellen (dies erfolgt in der Funktion processor()).LAFVIN ESP32 Basic Starter Kit - wurde gepresst 1Prozessor()
Die Funktion processor() ersetzt alle Platzhalter im HTML-Text durch tatsächliche Werte. Zunächst prüft sie, ob der HTML-Text
Platzhalter %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - ProzessorRufen Sie dann die Funktion outputState() auf, die den aktuellen Ausgabestatus zurückgibt. Wir speichern ihn in der Variable outputStateValue.LAFVIN ESP32 Basic Starter Kit - AusgabestatusVerwenden Sie anschließend diesen Wert, um den HTML-Text zu erstellen, der die Schaltfläche mit dem richtigen Status anzeigt:LAFVIN ESP32 Basic Starter Kit - Code 4HTTP-GET-Anforderung zum Ändern des Ausgabestatus (JavaScript)
Wenn Sie die Schaltfläche drücken, wird die Funktion „toggleCheckbox()“ aufgerufen. Diese Funktion stellt eine Anfrage an verschiedene URLs zum Ein- bzw. Ausschalten der LED.LAFVIN ESP32 Basic Starter Kit - JavaScriptUm die LED einzuschalten, wird eine Anfrage an /update?state=1 gestellt. URL:LAFVIN ESP32 Basic Starter Kit - element.checkedAndernfalls wird eine Anfrage an /update?state=0 gestellt. URL.
HTTP-GET-Anforderung zum Aktualisieren des Status (JavaScript)
Um den Ausgabestatus auf dem aktuellen Stand zu halten, web Server, rufen wir die folgende Funktion auf, die eine neue Anfrage an den /state stellt URL jede Sekunde.LAFVIN ESP32 Basic Starter Kit - Update-StatusLAFVIN ESP32 Basic Starter Kit - Update-Status 1Behandeln Sie Anfragen
Dann müssen wir behandeln, was passiert, wenn der ESP32 oder ESP8266 Anfragen auf diesen erhält URLs.
Wenn eine Anfrage auf dem Stamm-/URL, wir versenden sowohl die HTML-Seite als auch den Prozessor.LAFVIN ESP32 Basic Starter Kit - Anfragen verarbeitenLAFVIN ESP32 Basic Starter Kit - Anfragen verarbeiten 1Die folgenden Zeilen prüfen, ob Sie eine Anfrage zum /update?state=1 oder /update?state=0 erhalten haben. URL und ändert den LED-Status entsprechend.LAFVIN ESP32 Basis-Starterkit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamWenn eine Anfrage auf /state eingeht URLsenden wir den aktuellen Ausgabestatus:LAFVIN ESP32 Basic Starter Kit - AusgangszustandSchleife()
In der Schleife () entprellen wir den Taster und schalten die LED je nach Wert des ledState ein oder aus. Variable.LAFVIN ESP32 Basic Starter Kit - Schleife 1Demonstration
Laden Sie den Code auf Ihre ESP32-Platine hoch. Laden Sie die Codereferenzschritte hoch.
Öffnen Sie dann den seriellen Monitor mit einer Baudrate von 115200. Drücken Sie die integrierte EN/RST-Taste, um die IP-Adresse zu erhalten.LAFVIN ESP32 Basic Starter Kit - DemonstrationÖffnen Sie einen Browser in Ihrem lokalen Netzwerk und geben Sie die ESP-IP-Adresse ein. Sie sollten Zugriff auf die web Server, wie unten gezeigt.
Notiz: Ihr Browser und ESP32 sollten mit demselben LAN verbunden sein.LAFVIN ESP32 Basic Starter Kit - BrowserSie können die Schaltfläche auf der web Server, um die LED einzuschalten.LAFVIN ESP32 Basic Starter Kit - web 1 ServerSie können dieselbe LED auch mit dem physischen Druckknopf steuern. Ihr Status wird immer automatisch auf dem web Server.

Projekt 9 ESP32 DHT11 Web Server

In diesem Projekt lernen Sie, wie Sie einen asynchronen ESP32 bauen web Server mit dem DHT11, der Temperatur und Luftfeuchtigkeit mithilfe der Arduino IDE anzeigt.
Voraussetzungen
Der web Server, den wir bauen, aktualisiert die Messwerte automatisch, ohne dass die web Seite.
Mit diesem Projekt lernen Sie:

  • So lesen Sie Temperatur und Luftfeuchtigkeit von DHT-Sensoren ab;
  • Erstellen Sie eine asynchrone web Server mit dem ESPAsyncWebServerbibliothek;
  • Aktualisieren Sie die Sensorwerte automatisch, ohne dass Sie die web Seite.

Asynchron Web Server
Zum Aufbau der web Server verwenden wir den ESPAsyncWebServerbibliothek das eine einfache Möglichkeit bietet, eine asynchrone web Server. Aufbau einer asynchronen web Server verfügt über mehrere Vorteiletages, wie auf der GitHub-Seite der Bibliothek erwähnt, wie etwa:

  • „Mehr als eine Verbindung gleichzeitig handhaben“;
  • „Wenn Sie die Antwort senden, sind Sie sofort bereit, andere Verbindungen zu verarbeiten, während der Server sich im Hintergrund um das Senden der Antwort kümmert“;
  • „Einfache Vorlagenverarbeitungs-Engine zum Umgang mit Vorlagen“;

Erforderliche Teile
Zum Abschließen dieses Tutorials benötigen Sie die folgenden Teile:

  • ESP32-Entwicklungsboard
  • DHT11-Modul
  • Steckplatine
  • Überbrückungsdrähte

schematischLAFVIN ESP32 Basic Starter Kit - Schema 2Installieren von Bibliotheken
Für dieses Projekt müssen Sie einige Bibliotheken installieren:

Installieren der DHT-Sensorbibliothek
Um den DHT-Sensor mit Arduino IDE auszulesen, müssen Sie die DHT-SensorbibliothekBefolgen Sie die nächsten Schritte, um die Bibliothek zu installieren.

  1. Klicken Sie hier, um die DHT-Sensorbibliothek herunterzuladen. Sie sollten einen .zip-Ordner in Ihrem Download-Ordner haben
  2. Entpacken Sie den .zip-Ordner und Sie sollten den Ordner DHT-sensor-library-master erhalten.
  3. Benennen Sie Ihren Ordner von DHT-sensor-library-master in DHT_sensor um
  4. Verschieben Sie den Ordner DHT_sensor in den Ordner mit den Installationsbibliotheken der Arduino IDE.
  5. Öffnen Sie abschließend Ihre Arduino IDE erneut

Installieren des Adafruit Unified Sensor-Treibers
Sie müssen außerdem die Adafruit Unified Sensor Driver-Bibliothek um mit dem DHT-Sensor zu arbeiten. Folgen Sie den nächsten Schritten, um die Bibliothek zu installieren.

  1. Klicken Sie hier, um die Adafruit Unified Sensor-Bibliothek herunterzuladen. Sie sollten einen .zip-Ordner in Ihrem Download-Ordner haben
  2. Entpacken Sie den .zip-Ordner und Sie sollten den Ordner Adafruit_sensor-master erhalten.
  3. Benennen Sie Ihren Ordner von Adafruit_sensor-master in Adafruit_sensor um.
  4. Verschieben Sie den Ordner Adafruit_sensor in den Ordner mit den Installationsbibliotheken von Arduino IDE.
  5. Öffnen Sie abschließend Ihre Arduino IDE erneut

Installieren von ESPAsyncWebServerbibliothek

Folgen Sie den nächsten Schritten zur Installation des ESPAsyncWebServer Bibliothek:

  1. Klicken Sie hier, um ESPAsync herunterzuladenWebServer-Bibliothek. Sie sollten
    ein .zip-Ordner in Ihrem Download-Ordner
  2. Entpacken Sie den .zip-Ordner und Sie sollten
    ESPAsync erhaltenWebServer-Masterordner
  3. Benennen Sie Ihren Ordner von ESPAsync umWebServer-Master zu ESPAsyncWebServer
  4. Verschieben Sie den ESPAsyncWebServer-Ordner in den Ordner mit den Arduino IDE-Installationsbibliotheken

Installieren der Async TCP-Bibliothek für ESP32
Der ESPAsyncWebServer Bibliothek erfordert die AsyncTCP Bibliothek funktioniert. Befolgen Sie die nächsten Schritte, um diese Bibliothek zu installieren:

  1. Klicken Sie hier, um die AsyncTCP-Bibliothek herunterzuladen. Sie sollten einen .zip-Ordner in Ihrem Download-Ordner haben
  2. Entpacken Sie den .zip-Ordner und Sie sollten den AsyncTCP-Master-Ordner erhalten.
  3. Benennen Sie Ihren Ordner von AsyncTCP-master in AsyncTCP um
  4. Verschieben Sie den Ordner AsyncTCP in den Ordner mit den Arduino IDE-Installationsbibliotheken
  5. Öffnen Sie abschließend Ihre Arduino IDE erneut

Code
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDE
Öffnen Sie nach der Installation der erforderlichen Bibliotheken den Code
Projekt_9_ESP32_DHT11_Web_Server.ino in der Arduino IDE.
Vergessen Sie nicht, vor dem Hochladen des Codes Ihre Netzwerkanmeldeinformationen einzugeben, damit sich der ESP mit Ihrem lokalen Netzwerk verbinden kann.LAFVIN ESP32 Basic Starter Kit - CodeFunktionsweise des Codes
In den folgenden Abschnitten erklären wir, wie der Code funktioniert. Lesen Sie weiter, wenn Sie mehr erfahren möchten, oder springen Sie zum Abschnitt „Demonstration“, um das Endergebnis zu sehen.
Bibliotheken importieren
Importieren Sie zunächst die benötigten Bibliotheken. Die WiFi-, ESPAsync-WebServer und ESPAsyncTCP werden benötigt zum Aufbau der web Server. Die Bibliotheken Adafruit_Sensor und DHT werden zum Lesen der Sensoren DHT11 oder DHT22 benötigt.LAFVIN ESP32 Basic Starter Kit - Bibliotheken importierenLAFVIN ESP32 Basic Starter Kit – So funktioniert der CodeVariablendefinition
Definieren Sie den GPIO, mit dem der DHT-Datenpin verbunden ist. In diesem Fall ist er mit GPIO 4 verbunden.LAFVIN ESP32 Basic Starter Kit - VariablendefinitionWählen Sie dann den von Ihnen verwendeten DHT-Sensortyp aus. In unserem Beispielample, wir verwenden den DHT22. Wenn Sie einen anderen Typ verwenden, müssen Sie nur Ihren Sensor auskommentieren und alle anderen auskommentieren.LAFVIN ESP32 Basic Starter Kit - Variablendefinition 1

Instanziieren Sie ein DHT-Objekt mit dem Typ und Pin, die wir zuvor definiert haben.LAFVIN ESP32 Basic Starter Kit - Variablendefinition 2Erstellen Sie ein AsyncWebServerobjekt auf Port 80.LAFVIN ESP32 Basic Starter Kit - Variablendefinition 3Temperatur- und Feuchtigkeitsfunktionen lesen
Wir haben zwei Funktionen erstellt: eine zum Ablesen der Temperatur. Wir haben zwei Funktionen erstellt: eine zum Ablesen der Temperatur (readDHTTemperature()) und die andere zum Ablesen der Luftfeuchtigkeit (readDHTHumidity()).LAFVIN ESP32 Basis-Starterkit - readDHTHumidityLAFVIN ESP32 Basic Starter Kit - SensorwerteDas Abrufen von Sensorwerten ist so einfach wie die Verwendung der Methoden readTemperature() und readHumidity() für das dht-Objekt.LAFVIN ESP32 Basic Starter Kit - ObjektWir haben auch eine Bedingung, die zwei Bindestriche (–) zurückgibt, falls der Sensor keine Messwerte erfassen kann.LAFVIN ESP32 Basic Starter Kit - MesswerteDie Messwerte werden als Zeichenfolge zurückgegeben. Um einen Float in eine Zeichenfolge umzuwandeln, verwenden Sie die Funktion String()LAFVIN ESP32 Basic Starter Kit - ZeichenfolgeStandardmäßig wird die Temperatur in Grad Celsius angegeben. Um die Temperatur in Grad Fahrenheit zu erhalten, kommentieren Sie die Temperatur in Celsius aus und heben Sie die Auskommentierung der Temperatur in Fahrenheit auf, sodass Sie Folgendes erhalten:LAFVIN ESP32 Basic Starter Kit - FahrenheitLAFVIN ESP32 Basic Starter Kit - Fahrenheit 1Laden Sie den Code hoch
Laden Sie nun den Code auf Ihren ESP32 hoch. Stellen Sie sicher, dass Sie die richtige Platine und den richtigen COM-Port ausgewählt haben. Schritte zum Hochladen des Codes.
Öffnen Sie nach dem Hochladen den seriellen Monitor mit einer Baudrate von 115200. Drücken Sie die ESP32-Reset-Taste. Die ESP32-IP-Adresse sollte im seriellen Monitor gedruckt werden. Monitor.LAFVIN ESP32 Basic Starter Kit - Code hochladenDemonstration
Öffnen Sie einen Browser und geben Sie die ESP32-IP-Adresse ein. Ihre web Der Server sollte die neuesten Sensorwerte anzeigen.
Notiz: Ihr Browser und ESP32 sollten mit demselben LAN verbunden sein.
Beachten Sie, dass die Temperatur- und Feuchtigkeitswerte automatisch aktualisiert werden, ohne dass Sie die web Seite.LAFVIN ESP32 Basic Starter Kit - Demonstration 1

Projekt_10_ESP32_OLED_Display

Dieses Projekt zeigt, wie man das 0.96-Zoll-OLED-Display SSD1306 mit ESP32 unter Verwendung der Arduino IDE verwendet.
Einführung des 0.96-Zoll-OLED-Displays
Der OLED-Bildschirm das wir in diesem Tutorial verwenden, ist das Modell SSD1306: ein einfarbiges 0.96-Zoll-Display mit 128 x 64 Pixeln, wie in der folgenden Abbildung dargestellt.LAFVIN ESP32 Basic Starter Kit - OLED-DisplayDas OLED-Display benötigt keine Hintergrundbeleuchtung, was in dunklen Umgebungen einen sehr schönen Kontrast ergibt. Darüber hinaus verbrauchen die Pixel nur dann Energie, wenn sie eingeschaltet sind, sodass das OLED-Display im Vergleich zu anderen Displays weniger Strom verbraucht.
Da das OLED-Display das Kommunikationsprotokoll I2C verwendet, ist die Verkabelung sehr einfach. Sie können die folgende Tabelle als Referenz verwenden.

OLED-Pin ESP32
Vin 3.3 V
Masse Masse
SCL GPIO22
SDA GPIO21

schematischLAFVIN ESP32 Basic Starter Kit - SchaltplanInstallieren der SSD1306 OLED-Bibliothek – ESP32
Zur Steuerung des OLED-Displays mit dem ESP32 stehen mehrere Bibliotheken zur Verfügung.
In diesem Tutorial verwenden wir zwei Adafruit-Bibliotheken: Adafruit_SSD1306-Bibliothek Und Adafruit_GFX-Bibliothek.
Befolgen Sie die nächsten Schritte, um diese Bibliotheken zu installieren.

  1. Öffnen Sie Ihre Arduino IDE und gehen Sie zu Sketch > Include Library > Manage Libraries. Der Bibliotheksmanager sollte sich öffnen.
  2. Geben Sie „SSD1306“ in das Suchfeld ein und installieren Sie die SSD1306-Bibliothek von Adafruit.LAFVIN ESP32 Basic Starter Kit - OLEDLibrary–
  3. Geben Sie nach der Installation der SSD1306-Bibliothek von Adafruit „GFX“ in das Suchfeld ein und installieren Sie die Bibliothek.LAFVIN ESP32 Basic Starter Kit - Bibliothek
  4. Starten Sie Ihre Arduino IDE nach der Installation der Bibliotheken neu.

Code
Öffnen Sie nach der Installation der erforderlichen Bibliotheken die Datei Project_10_ESP32_OLED_Display.ino in der Arduino IDE. Code
Wir programmieren den ESP32 mit Arduino IDE. Stellen Sie daher sicher, dass Sie das ESP32-Add-on installiert haben, bevor Sie fortfahren: (Wenn Sie diesen Schritt bereits ausgeführt haben, können Sie mit dem nächsten Schritt fortfahren.)
Installieren des ESP32-Add-ons in der Arduino IDELAFVIN ESP32 Basic Starter Kit - Code 1LAFVIN ESP32 Basic Starter Kit - Code 2LAFVIN ESP32 Basic Starter Kit - Code 3Funktionsweise des Codes
Bibliotheken importieren
Zuerst müssen Sie die erforderlichen Bibliotheken importieren. Die Wire-Bibliothek zur Verwendung von I2C und die Adafruit-Bibliotheken zum Schreiben auf das Display: Adafruit_GFX und Adafruit_SSD1306.LAFVIN ESP32 Basic Starter Kit - Code funktioniert 1LAFVIN ESP32 Basic Starter Kit - Code funktioniert 2Initialisieren des OLED-Displays
Anschließend definieren Sie Breite und Höhe Ihres OLEDs. In diesem BeispielampWir verwenden ein 128×64 OLED-Display. Wenn Sie andere Größen verwenden, können Sie diese in den Variablen SCREEN_WIDTH und SCREEN_HEIGHT ändern.LAFVIN ESP32 Basic Starter Kit - OLED-DisplayInitialisieren Sie dann mit dem I2C-Kommunikationsprotokoll (&Wire) ein Anzeigeobjekt mit der zuvor definierten Breite und Höhe.LAFVIN ESP32 Basic Starter Kit - KommunikationsprotokollDer Parameter (-1) bedeutet, dass Ihr OLED-Display keinen RESET-Pin hat. Wenn Ihr OLED-Display einen RESET-Pin hat, sollte dieser mit einem GPIO verbunden sein. In diesem Fall sollten Sie die GPIO-Nummer als Parameter übergeben.
Initialisieren Sie im Setup() den seriellen Monitor zu Debugzwecken mit einer Baudrate von 115200.LAFVIN ESP32 Basic Starter Kit - EinsatzzweckeInitialisieren Sie das OLED-Display mit der Methode begin() wie folgt:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnDieser Codeausschnitt druckt auch eine Meldung auf dem seriellen Monitor, falls wir keine Verbindung zum Display herstellen können.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Falls Sie ein anderes OLED-Display verwenden, müssen Sie möglicherweise die OLED-Adresse ändern. In unserem Fall lautet die Adresse 0x3C.LAFVIN ESP32 Basic Starter Kit - AdresseFügen Sie nach der Initialisierung des Displays eine Verzögerung von zwei Sekunden hinzu, damit das OLED-Display genügend Zeit zur Initialisierung hat, bevor Text geschrieben wird:LAFVIN ESP32 Basic Starter Kit - VerzögerungDisplay übersichtlich gestalten, Schriftgröße und Farbe einstellen und Text schreiben
Nachdem Sie die Anzeige initialisiert haben, löschen Sie den Anzeigepuffer mit der Methode clearDisplay():LAFVIN ESP32 Basic Starter Kit - Anzeige

Bevor Sie Text schreiben, müssen Sie die Textgröße und -farbe festlegen und bestimmen, wo der Text auf dem OLED-Display angezeigt werden soll.
Legen Sie die Schriftgröße mit der Methode setTextSize() fest:LAFVIN ESP32 Basic Starter Kit - Anzeige 1Legen Sie die Schriftfarbe mit der Methode setTextColor() fest:
WHITE legt die weiße Schrift und den schwarzen Hintergrund fest.
Definieren Sie die Position, an der der Text beginnt, mit der Methode setCursor(x,y). In diesem Fall legen wir fest, dass der Text bei den Koordinaten (0,0) beginnt – in der oberen linken Ecke.LAFVIN ESP32 Basic Starter Kit - setTextColor 1Schließlich können Sie den Text mit der Methode println() wie folgt an das Display sendenLAFVIN ESP32 Basic Starter Kit - Code 5Dann müssen Sie die Methode display() aufrufen, um den Text tatsächlich auf dem Bildschirm anzuzeigen.LAFVIN ESP32 Basic Starter Kit - Anzeige

Die Adafruit OLED-Bibliothek bietet nützliche Methoden zum einfachen Scrollen von Text.

  • startscrollright(0x00, 0x0F): Text von links nach rechts scrollen
  • startscrollleft(0x00, 0x0F): Text von rechts nach links scrollen
  • startscrolldiagright(0x00, 0x07): Text von der linken unteren Ecke zur rechten oberen Ecke scrollen startscrolldiagleft(0x00, 0x07): Text von der rechten unteren Ecke zur linken oberen Ecke scrollen

Laden Sie den Code hoch
Laden Sie jetzt den Code auf Ihren ESP32 hoch. Führen Sie die Schritte zum Hochladen des Code-Referenzcodes durch.
Nach dem Hochladen des Codes wird auf dem OLED-Display ein Lauftext angezeigt.LAFVIN ESP32 Basic Starter Kit - LauftextLAFVIN-Logo

Dokumente / Ressourcen

LAFVIN ESP32 Basis-Starterkit [pdf] Bedienungsanleitung
ESP32 Basis-Starterkit, ESP32, Basis-Starterkit, Starterkit

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *