ESP32 - Temperatursensor

Dieses Tutorial zeigt dir, wie du den ESP32 verwendest, um die Temperatur des DS18B20-Temperatursensors auszulesen und sie im Serial Monitor auszugeben.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über den One-Wire-Temperatursensor - DS18B20

Pinbelegung des DS18B20-Temperatursensors

Der DS18B20-Temperatursensor hat drei Anschlüsse:

  • GND-Pin: Verbinde diesen Pin mit GND (0 V)
  • VCC-Pin: Verbinde diesen Pin mit VCC (5 V oder 3,3 V)
  • DATA-Pin: ist der 1-Wire-Datenbus. Er sollte an einen digitalen Pin des ESP32 angeschlossen werden.

Der DS18B20-Sensor hat zwei Formen:

  • TO-92-Gehäuse (sieht ähnlich wie ein Transistor aus)
  • Wasserdichte Sonde. Wir verwenden in diesem Tutorial diese Form.
DS18B20-Temperatursensor Pinbelegung

Die Verbindung eines DS18B20-Temperatursensors mit einem Arduino erfordert oft einen Pull-up-Widerstand, was lästig sein kann. Einige Hersteller haben den Prozess jedoch erleichtert, indem sie einen Verdrahtungsadapter mit integriertem Pull-up-Widerstand und einem Schraubklemmenblock für eine einfache Verbindung anbieten.

Schaltplan zwischen DS18B20-Temparatursensor und ESP32

  • Wie man ESP32 und DS18B20-Temperatursensor mit Breadboard verbindet.
ESP32-Temperatursensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

  • Wie man ESP32 und DS18B20-Temperatursensor mit einem breadboard und einem Adapter verbindet.
ESP32 DS18B20 Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man ESP32 und Temperatursensor anschließt
  • Realer Schaltplan mit Adapter
ESP32 DS18B20 Adapter-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um die Verbindung zu erleichtern, ist es ratsam, einen DS18B20-Sensor, der mit einem Verdrahtungsadapter geliefert wird, der über einen integrierten Widerstand verfügt, wodurch kein zusätzlicher Widerstand in der Verkabelung erforderlich ist.

ESP32-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 17 // ESP32 pin GPIO17 connected to DS18B20 sensor's DATA pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in °C tempF = tempC * 9 / 5 + 32; // convert °C to °F Serial.print("Temperature: "); Serial.print(tempC); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(tempF); // print the temperature in °F Serial.println("°F"); delay(500); }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
  • Schließen Sie die Verkabelung wie im obigen Bild an.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie “DallasTemperature” im Suchfeld, und suchen Sie dann nach der DallasTemperature-Bibliothek von Miles Burton.
  • Klicken Sie auf die Schaltfläche Install, um die DallasTemperature-Bibliothek zu installieren.
ESP32 Dallas-Temperatur-Bibliothek
  • Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren, um die OneWire-Bibliothek zu installieren.
ESP32 OneWire-Bibliothek
  • Kopiere den obigen Code und füge ihn in die Arduino-IDE ein.
  • Kompiliere und lade den Code auf das ESP32-Board hoch, indem du in der Arduino-IDE auf die Schaltfläche Hochladen klickst.
  • Mach den Sensor heißer oder kälter, indem du den DS18B20-Temperatursensor in deiner Hand hältst oder ihn in heißem bzw. kaltem Wasser platzierst.
  • Sieh das Ergebnis im seriellen Monitor. Es sieht wie folgt aus:
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!