ESP32 S3 - Temperatursensor

Lernen Sie, wie Sie einen DS18B20-Temperatursensor an Ihren ESP32 S3 anschließen und genaue Temperaturdaten in Celsius und Fahrenheit auslesen. Dieses einsteigerfreundliche Tutorial führt Sie durch alles – von der Verdrahtung bis zum Schreiben des Arduino-Codes.

Was Sie bauen werden:

  1. Eine Schaltung, die den DS18B20-Sensor mit Ihrem ESP32 S3 verbindet
  2. Arduino-Code, der die Temperatur über das 1-Wire-Protokoll ausliest
  3. Eine Ausgabe im Seriellen Monitor mit Live-Messwerten in Celsius und Fahrenheit
  4. Eine Grundlage, die Sie zu Wetterstationen, Aquarienüberwachungen oder intelligenten Thermostaten erweitern können
ESP32 S3 - Temperatursensor

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
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) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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.

Überblick über DS18B20 Temperature Sensor

Der DS18B20 ist ein digitaler Temperatursensor, der über das 1-Wire-Protokoll kommuniziert und sich daher mit nur einem einzigen Datenpin einfach in den ESP32 S3 integrieren lässt. Sein großer Messbereich, die gute Genauigkeit und die Unterstützung mehrerer Sensoren an einer Leitung machen ihn zu einer beliebten Wahl für Umweltüberwachungsprojekte.

Wichtige Spezifikationen

Der DS18B20 arbeitet mit 3,0 V bis 5,5 V und ist damit vollständig kompatibel mit den 3,3-V-GPIO-Pins des ESP32 S3. Er misst Temperaturen von -55°C bis +125°C (-67°F bis +257°F) mit einer Genauigkeit von ±0,5°C zwischen -10°C und +85°C. Die Auflösung ist von 9 Bit bis 12 Bit einstellbar, und der Sensor kommuniziert über eine einzige Datenleitung – Sie können also mehrere DS18B20-Sensoren am selben Pin betreiben. Es gibt auch eine wasserdichte Sondenversion, die sich zur Messung von Flüssigkeitstemperaturen eignet. Kabellängen von bis zu 100 Metern werden unterstützt, was für Fernüberwachungsinstallationen nützlich ist.

Pinbelegung des DS18B20-Temperatursensors

Den DS18B20-Sensor gibt es in zwei gängigen Bauformen: einem transistorähnlichen TO-92-Gehäuse und einer wasserdichten Sondenversion. Beide haben dieselben drei Anschlüsse.

  1. GND-Pin: Mit Masse (0V) verbinden
  2. VCC-Pin: Mit der Stromversorgung (3,3V oder 5V) verbinden
  3. DATA-Pin: 1-Wire-Datenbus – mit einem beliebigen digitalen Pin des ESP32 S3 verbinden
Pinbelegung des DS18B20-Temperatursensors

Die klassische DS18B20-Verdrahtung erfordert einen 4,7-kΩ-Pull-up-Widerstand zwischen den Pins DATA und VCC. Viele DS18B20-Adaptermodule enthalten inzwischen einen integrierten Pull-up-Widerstand und Schraubklemmen, was die Verdrahtung erheblich vereinfacht. Für Einsteiger wird die Verwendung eines Adaptermoduls empfohlen.

Verdrahtungsdiagramm

Schließen Sie Ihren DS18B20-Temperatursensor gemäß den folgenden Schaltplänen an den ESP32 S3 an. Für Einsteiger ist ein DS18B20-Adaptermodul mit integriertem Pull-up-Widerstand der einfachste Weg und verringert die Gefahr von Verdrahtungsfehlern.

Sicherheitshinweise

Versorgen Sie den DS18B20 immer über den 3,3-V-Pin des ESP32 S3 statt über 5 V, sofern Sie nicht sicher sind, dass Ihr Modul 5-V-tolerant ist. Achten Sie auf solide Masseverbindungen – eine schwebende Masse ist eine häufige Ursache für Fehlerwerte von -127°C. Wenn Sie das nackte TO-92-Gehäuse ohne Adapter verwenden, lassen Sie den 4,7-kΩ-Pull-up-Widerstand zwischen DATA und VCC nicht weg, da das 1-Wire-Protokoll ihn für eine zuverlässige Kommunikation benötigt.

Verdrahtung mit Steckbrett (ohne Adapter):

ESP32 S3 Temperatursensor Schaltplan

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

DS18B20-Pin ESP32 S3 Pin
GND GND
VCC 3.3V
DATA GPIO8 (oder ein beliebiger digitaler Pin)
Pull-up-Widerstand 4,7kΩ zwischen DATA und VCC

Verdrahtung mit Adaptermodul (empfohlen):

ESP32 S3 DS18B20 Schaltplan

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

DS18B20-Modul-Pin ESP32 S3 Pin
GND (oder -) GND
VCC (oder +) 3.3V
DATA (oder S) GPIO8 (oder ein beliebiger digitaler Pin)

Für eine einfachere Einrichtung kaufen Sie einen DS18B20-Sensor mit Verdrahtungsadapter, der den integrierten Widerstand enthält.

ESP32-S3-Code

Der folgende Code liest mit der Bibliothek DallasTemperature die Temperaturdaten des DS18B20-Sensors aus und gibt die Ergebnisse jede Sekunde im Seriellen Monitor aus. Er initialisiert den 1-Wire-Bus am konfigurierten Datenpin, fordert beim Sensor eine Temperaturumwandlung an und gibt den Messwert anschließend in Celsius und Fahrenheit aus. Die Bibliothek DallasTemperature übernimmt die Low-Level-1-Wire-Kommunikation, sodass Ihr Sketch übersichtlich und lesbar bleibt.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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-s3/esp32-s3-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 8 // The ESP32 S3 pin GPIO8 connected to DS18B20 sensor's DATA pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in °C temperature_F = temperature_C * 9 / 5 + 32; // convert °C to °F Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(temperature_F); // print the temperature in °F Serial.println("°F"); delay(500); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Benötigte Bibliotheken installieren: Öffnen Sie den Bibliotheksverwalter in der Arduino IDE (klicken Sie auf das Bibliothekssymbol in der linken Seitenleiste).
  3. Nach DallasTemperature suchen: Geben Sie "DallasTemperature" in das Suchfeld ein.
  4. Bibliothek installieren: Suchen Sie die Bibliothek DallasTemperature von Miles Burton und klicken Sie auf Install.
  • Search for DallasTemperature created by Miles Burton , Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
DallasTemperature by Miles Burton , Tim Newsome , Guil Barros , Rob Tillaart
Supports DS18B20, DS18S20, DS1822, DS1820 More info
3.9.0
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Abhängigkeit installieren: Klicken Sie bei der entsprechenden Aufforderung auf Install All, um auch die Bibliothek OneWire zu installieren.
ESP32 S3 OneWire-Bibliothek
  1. Komponenten verdrahten: Folgen Sie dem obigen Schaltplan, um den DS18B20-Sensor mit Ihrem ESP32 S3 zu verbinden.
  2. Platine anschließen: Verbinden Sie den ESP32 S3 über ein USB-Typ-C-Kabel mit Ihrem Computer.
  3. Platine auswählen: Wählen Sie in der Arduino IDE den ESP32 S3 und den richtigen COM-Port aus.
  4. Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf Upload.
  5. Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die Temperaturwerte anzuzeigen.
  6. Sensor testen: Halten Sie die DS18B20-Sonde in der Hand, um sie zu erwärmen, oder legen Sie sie in heißes oder kaltes Wasser, um Temperaturänderungen zu sehen.
  7. Profi-Tipp: Wenn die Werte -127°C oder 185°F anzeigen, überprüfen Sie Ihre Verdrahtung – dies deutet fast immer auf einen Kommunikationsfehler mit dem Sensor hin, der häufig durch einen fehlenden Pull-up-Widerstand oder eine lose DATA-Leitung verursacht wird.

Ausgabe im Seriellen Monitor

Sobald Sie den Code hochgeladen und den Seriellen Monitor geöffnet haben, sehen Sie fortlaufende Temperaturwerte, die jede Sekunde aktualisiert werden. Die folgende Ausgabe zeigt eine typische Sitzung, die bei Raumtemperatur beginnt und allmählich ansteigt, während sich der Sensor erwärmt.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 09:12:01] Temperature: 23.12°C ~ 73.62°F [2026-01-15 09:12:02] Temperature: 23.18°C ~ 73.72°F [2026-01-15 09:12:03] Temperature: 23.25°C ~ 73.85°F [2026-01-15 09:12:04] Temperature: 23.31°C ~ 73.96°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen und Projektideen

Der DS18B20-Temperatursensor eröffnet in Verbindung mit dem WLAN und der Rechenleistung des ESP32 S3 zahlreiche praktische Überwachungs- und Automatisierungsprojekte.

  1. Heimwetterstation: Überwachen Sie Innen- und Außentemperaturen mit drahtloser Verbindung und protokollieren Sie die Daten in der Cloud.
  2. Aquarium-Temperaturüberwachung: Behalten Sie die Wassertemperatur von Aquarien im Blick und lösen Sie Warnungen aus, wenn die Werte außerhalb des zulässigen Bereichs liegen.
  3. Intelligentes Thermostat: Erstellen Sie ein automatisches Heiz- oder Kühlsystem, das auf Sensorwerte in Echtzeit reagiert.
  4. Kühlschranküberwachung: Erhalten Sie Warnungen, wenn die Temperatur Ihres Kühlschranks den sicheren Bereich verlässt.
  5. Gewächshausautomatisierung: Überwachen und protokollieren Sie die Temperatur für optimales Pflanzenwachstum und schalten Sie Lüfter automatisch ein.
  6. Serverraumüberwachung: Verfolgen Sie die Temperatur in Computer- oder Serverräumen mit Fernwarnungen per E-Mail oder Push-Benachrichtigung.

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.

Fordern Sie sich selbst heraus

Sobald Ihr Temperatursensor funktioniert, gibt es viele Möglichkeiten, dieses Projekt weiterzuentwickeln und Ihre ESP32-S3-Kenntnisse zu vertiefen.

  1. Anfänger: Fügen Sie eine LED hinzu, die leuchtet, wenn die Temperatur einen festgelegten Schwellenwert überschreitet.
  2. Anfänger: Zeigen Sie die Temperaturdaten auf einem OLED-Bildschirm statt im Seriellen Monitor an.
  3. Fortgeschritten: Schließen Sie mehrere DS18B20-Sensoren an einen ESP32 S3 an und lesen Sie alle gleichzeitig über denselben Datenpin aus.
  4. Fortgeschritten: Senden Sie Temperaturdaten über WLAN an Ihr Smartphone und nutzen Sie dafür das integrierte Funkmodul des ESP32 S3.
  5. Experte: Erstellen Sie auf dem ESP32 S3 einen Webserver, der Temperaturverläufe in Echtzeit anzeigt und von jedem Browser in Ihrem lokalen Netzwerk erreichbar ist.
  6. Experte: Protokollieren Sie Temperaturdaten mit Zeitstempeln auf einer SD-Karte oder in einem Cloud-Dienst für die Langzeitüberwachung und Trendanalyse.

※ 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!