ESP32 S3 - Temperatursensor - LED-Matrix

Dieses Tutorial zeigt Ihnen, wie Sie mit dem ESP32 S3 Temperaturdaten von einem DS18B20-1-Wire-Sensor auslesen und live auf einer FC-16-LED-Matrix anzeigen. Durch die Kombination zweier beliebter Peripheriegeräte auf einer einzigen Platine bauen Sie eine eigenständige Temperaturanzeige, die den aktuellen Messwert nach der Programmierung ohne Computer über die LED-Matrix laufen lässt.

Was Sie bauen werden:

  1. Eine Schaltung, die den DS18B20-Temperatursensor und die FC-16-LED-Matrix mit dem ESP32 S3 verbindet
  2. Arduino-Code, der die Temperatur vom DS18B20 ausliest und in Echtzeit auf die LED-Matrix schreibt
  3. Eine Lauftextanzeige, die Celsius- und Fahrenheit-Werte über die LED-Matrix anzeigt
  4. Eine Grundlage, die Sie zu Wetterstationen, intelligenten Schildern oder Umweltmonitoren erweitern können
ESP32 S3 - Temperatursensor - LED-Matrix

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×FC-16 LED Matrix 32x8
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 Temperature Sensor and LED Matrix

Der DS18B20-Temperatursensor und die FC-16-LED-Matrix sind zwei vielseitige Komponenten, die am ESP32 S3 gut zusammenarbeiten. Der DS18B20 liefert über das Eindraht-1-Wire-Protokoll genaue digitale Temperaturwerte, während die FC-16-LED-Matrix über eine einfache, vom MAX7219-Chip angesteuerte SPI-Schnittstelle Lauftext und Zahlen auf einem 32×8-Raster anzeigt. Zusammen ermöglichen sie ein eigenständiges Temperaturschild, das sich ohne zusätzliche Anzeigehardware ständig aktualisiert.

Wir haben eigene Tutorials, die jede Komponente einzeln mit vollständigen Informationen zur Pinbelegung, Schaltplänen und eigenständigen Codebeispielen behandeln. Sehen Sie sie sich vor Beginn dieses Projekts an, falls Sie mit einem der beiden Peripheriegeräte noch nicht vertraut sind:

Wichtige Spezifikationen

Der DS18B20 arbeitet mit 3,0 V bis 5,5 V und ist vollständig kompatibel mit den 3,3-V-GPIO-Pins des ESP32 S3. Er misst Temperaturen von -55°C bis +125°C mit einer Genauigkeit von ±0,5°C zwischen -10°C und +85°C und unterstützt mehrere Sensoren an einer einzigen Datenleitung. Die FC-16-LED-Matrix besteht aus verketteten 8×8-Blöcken, die von MAX7219-Chips über SPI angesteuert werden; ein 4-in-1-Modul bietet eine 32×8-Anzeige, die über nur drei Signalpins gesteuert wird. Da die LED-Matrix bei maximaler Helligkeit bis zu 1 A ziehen kann, sollte sie über eine externe 5-V-Versorgung statt über den 5-V-Pin des ESP32 S3 versorgt werden.

Verdrahtungsdiagramm

Schließen Sie den DS18B20-Temperatursensor und die FC-16-LED-Matrix gemäß den folgenden Schaltplänen an Ihren ESP32 S3 an. Beide Komponenten teilen sich dieselbe Masseschiene, und ein DS18B20-Adaptermodul mit integriertem Pull-up-Widerstand vereinfacht den Aufbau, da kein separater 4,7-kΩ-Widerstand nötig ist.

Sicherheitshinweise

Versorgen Sie den DS18B20 über den 3,3-V-Pin des ESP32 S3, damit er im empfohlenen Betriebsbereich bleibt. Versorgen Sie die LED-Matrix über eine externe 5-V-Versorgung statt über den 5-V-Pin des ESP32 S3, da die Matrix genug Strom ziehen kann, um bei direkter Versorgung über die Platine Instabilität zu verursachen. Verbinden Sie die Masse der externen 5-V-Versorgung, der LED-Matrix und des ESP32 S3 miteinander, damit sie ein gemeinsames Bezugspotenzial haben. Wenn Sie das nackte TO-92-Gehäuse des DS18B20 ohne Adapter verwenden, lassen Sie niemals den 4,7-kΩ-Pull-up-Widerstand zwischen DATA und VCC weg, da das 1-Wire-Protokoll ihn für eine zuverlässige Kommunikation benötigt.

Schaltplan:

ESP32 S3 Temperatursensor LED-Matrix Schaltplan

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

Soll die Verkabelung fest an ihrem Platz bleiben? Der ESP32 S3 passt auf ein Schraubklemmen-Board für ESP32 S3, das jeden Pin zu einer Schraubklemme macht. Hier ist dieselbe Schaltung, verdrahtet über das Schraubklemmen-Board:

ESP32 S3 Temperatursensor LED-Matrix Schaltplan (Screw Terminal)

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

Eine andere Möglichkeit ist ein GPIO-Breakout-Board für ESP32 S3. Jeder GPIO hat einen Signal-Pin mit einem 3,3V- und einem GND-Pin daneben, wie unten gezeigt:

ESP32 S3 Temperatursensor LED-Matrix Schaltplan (GPIO Breakout Board)

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

Anschlüsse des DS18B20-Temperatursensors:

DS18B20-Pin ESP32 S3 Pin
GND GND
VCC 3.3V
DATA GPIO1 (oder ein beliebiger digitaler Pin)

Anschlüsse der FC-16-LED-Matrix:

LED-Matrix-Pin ESP32 S3 Pin
VCC Externe 5V
GND GND (gemeinsam mit ESP32 S3)
DIN GPIO40 (MOSI)
CS GPIO39 (oder ein beliebiger digitaler Pin)
CLK GPIO38 (SCK)

ESP32-S3-Code

Der folgende Code liest mit der Bibliothek DallasTemperature die Temperatur vom DS18B20-Sensor aus und lässt den aktuellen Celsius-Wert über die FC-16-LED-Matrix laufen, wobei die Meldung alle zwei Sekunden aktualisiert wird. Er initialisiert den 1-Wire-Bus am konfigurierten Datenpin, fordert eine Temperaturumwandlung an, formatiert das Ergebnis als Text und lässt es anschließend mit der Bibliothek MD_Parola über die Matrix laufen. Die Bibliotheken DallasTemperature und MD_Parola übernehmen die Low-Level-Kommunikation, sodass Ihr Sketch kompakt und leicht anpassbar 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-led-matrix */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-temperature-sensor-led-matrix */ #include <OneWire.h> #include <DallasTemperature.h> #include <MD_Parola.h> #include <MD_MAX72xx.h> #define SENSOR_PIN 1 // ESP32-S3 pin GPIO1 connected to DS18B20 sensor's DQ pin #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define DATA_PIN 40 // ESP32-S3 pin GPIO40 connected to DIN pin of LED Matrix #define CLK_PIN 38 // ESP32-S3 pin GPIO38 connected to CLK pin of LED Matrix #define CS_PIN 39 // ESP32-S3 pin GPIO39 connected to CS pin of LED Matrix OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES); float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit String tempString; void setup() { Serial.begin(115200); DS18B20.begin(); // initialize the sensor ledMatrix.begin(); // initialize the LED Matrix ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display ledMatrix.setTextAlignment(PA_CENTER); tempString.reserve(10); // enough for the float + degree symbol + "C" } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in Celsius tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit // print temperature to Serial Monitor Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); // display temperature in Celsius at the center of the LED Matrix tempString = String(tempC, 1); tempString += (char)176; // degree symbol in the MD_MAX72XX font tempString += "C"; ledMatrix.print(tempString.c_str()); delay(2000); // wait 2 seconds before taking the next reading }

※ Notiz:

Der Code zentriert den Temperaturtext auf der LED-Matrix automatisch horizontal und vertikal.

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Bibliotheksverwalter öffnen: Klicken Sie auf das Symbol Libraries in der linken Seitenleiste der Arduino IDE.
  3. MD_Parola installieren: Geben Sie "MD_Parola" in das Suchfeld ein, suchen Sie die Bibliothek MD_Parola und klicken Sie auf Install.
  • Search for MD_Parola created by majicDesigns 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
MD_Parola by majicDesigns
Implemented using the MD_MAX72xx library for hardware control. Provides functions to simplify the implementation of text special effects on the LED matrix. More info
3.7.2
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 benötigte Bibliothek MD_MAX72XX zu installieren.
  2. DallasTemperature installieren: Geben Sie "DallasTemperature" in das Suchfeld ein, suchen Sie die Bibliothek 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. OneWire installieren: Klicken Sie bei der entsprechenden Aufforderung auf Install All, um auch die benötigte Bibliothek OneWire zu installieren.
ESP32 S3 OneWire-Bibliothek
  1. Komponenten verdrahten: Folgen Sie dem obigen Schaltplan, um den DS18B20-Sensor und die LED-Matrix 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 die ESP32-S3-Platine 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 die Schaltfläche Upload.
  5. LED-Matrix beobachten: Die Anzeige lässt alle zwei Sekunden die aktuelle Temperatur in Celsius durchlaufen.
  6. Sensor testen: Halten Sie die DS18B20-Sonde in der Hand oder legen Sie sie in warmes oder kaltes Wasser, um zu sehen, wie sich der Wert auf der Matrix ändert.
  7. Profi-Tipp: Wenn die Matrix -127°C anzeigt, überprüfen Sie die Verdrahtung des DS18B20 – dieser Fehlerwert bedeutet fast immer einen fehlenden Pull-up-Widerstand oder eine lose DATA-Leitung.

Ausgabe im Seriellen Monitor

Sobald Sie den Code hochgeladen und den Seriellen Monitor mit 115200 Baud geöffnet haben, sehen Sie alle zwei Sekunden Temperaturwerte, passend zum Lauftext auf der LED-Matrix. Die folgende Ausgabe zeigt eine typische Sitzung, während sich der Sensor ausgehend von Raumtemperatur 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-06-16 09:12:01] Temperature: 23.12°C ~ 73.62°F [2026-06-16 09:12:03] Temperature: 23.25°C ~ 73.85°F [2026-06-16 09:12:05] Temperature: 23.44°C ~ 74.19°F [2026-06-16 09:12:07] Temperature: 23.62°C ~ 74.52°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen und Projektideen

Die Kombination aus Temperatursensor und LED-Matrix mit dem ESP32 S3 ist ideal für alle Situationen, in denen die Temperatur ohne Monitor oder Bildschirm aus der Entfernung sichtbar sein soll. Hier sind praktische Einsatzmöglichkeiten für dieses Projekt:

  1. Außentemperatur-Schild: Montieren Sie die LED-Matrix an einem Fenster oder Eingang, um die Umgebungstemperatur auch vom anderen Ende des Raums auf einen Blick zu sehen.
  2. Serverraum-Anzeige: Zeigen Sie die Rack-Temperatur auf einem Matrix-Panel an, damit Techniker Überhitzung erkennen, ohne sich in ein Dashboard einzuloggen.
  3. Gewächshaus-Thermometer: Lassen Sie Temperaturdaten auf einer gut sichtbaren Anzeige im Gewächshaus durchlaufen, damit die Mitarbeiter die Bedingungen kennen, ohne aufs Handy zu schauen.
  4. Sicherheitsanzeige für die Werkstatt: Zeigen Sie die Temperatur in Umgebungen an, in denen Hitze eine Gefahr darstellt, und geben Sie den Mitarbeitern eine sichtbare Warnung, wenn sich die Bedingungen ändern.
  5. Demo im Naturwissenschaftsunterricht: Nutzen Sie die Lauftext-Temperaturanzeige als Live-Experiment, um zu zeigen, wie sich die Temperatur durch Wärmequellen oder Isolierung ändert.
  6. Regalanzeige im Einzelhandel: Kombinieren Sie das Projekt mit einem Relais, um Lüfter oder Alarme auszulösen, wenn ein überwachtes Gehäuse einen Schwellenwert überschreitet, während die Matrix den aktuellen Zustand anzeigt.

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.

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

Herausforderungen

Probieren Sie diese Aufgaben aus, um Ihr Verständnis für die Kombination von DS18B20-Temperatursensor und LED-Matrix mit dem ESP32 S3 zu vertiefen.

  1. Anfänger: Ändern Sie den Code so, dass Celsius- und Fahrenheit-Werte in derselben Meldung, getrennt durch einen Schrägstrich, durchlaufen, sodass der vollständige Messwert fortlaufend umläuft.
  2. Fortgeschritten: Fügen Sie einen zweiten DS18B20-Sensor an derselben Datenleitung hinzu und zeigen Sie in aufeinanderfolgenden Durchläufen abwechselnd die Temperatur jedes Sensors an.
  3. Experte: Bauen Sie ein WLAN-verbundenes Temperaturschild, dessen Anzeigetext Sie über eine einfache, auf dem ESP32 S3 gehostete Weboberfläche aus der Ferne ändern können, wobei Live-Sensorwerte mit eigenem Text kombiniert werden.

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