ESP32 - LM35-Temperatursensor

Dieses Tutorial zeigt Ihnen, wie Sie einen ESP32 verwenden, um die Temperatur vom LM35-Temperatursensor zu lesen und sie im Seriellen 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×LM35 Temperature Sensor
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.

Über den LM35-Temperatursensor

LM35-Temperatursensor Pinbelegung

Der LM35-Temperatursensor hat drei Anschlüsse:

  • VCC-Pin: Verbinde diesen Pin mit VCC (5 V)
  • GND-Pin: Verbinde diesen Pin mit GND (0 V)
  • OUT-Pin: Dieser Pin liefert eine Spannung, die proportional zur Temperatur ist.
Pinbelegung des LM35-Temperatursensors

Wie der LM35-Temperatursensor funktioniert

Der LM35-Sensor liefert eine Spannung, die sich linear proportional zur Temperatur in Celsius verhält. Der Skalierungsfaktor der Ausgangsspannung des LM35 beträgt 10 mV/°C. Durch Messen der Spannung am OUT-Pin des LM32 können wir den Temperaturwert berechnen.

Schaltplan zwischen LM35-Temperatursensor und ESP32

Der Schaltplan mit Stromversorgung über USB-Kabel.

ESP32 LM35-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.

Der Schaltplan mit Stromversorgung durch einen 5-V-Adapter.

ESP32 LM35-Temperatursensor Verdrahtungsdiagramm

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

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-lm35-temperature-sensor */ #define ADC_VREF_mV 3300.0 // in millivolt #define ADC_RESOLUTION 4096.0 #define PIN_LM35 36 // ESP32 pin GPIO36 (ADC0) connected to LM35 void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read the ADC value from the temperature sensor int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in °C float tempC = milliVolt / 10; // convert the °C to °F float tempF = tempC * 9 / 5 + 32; // print the temperature in the Serial Monitor: 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 wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und den Code auf das ESP32-Board hochladen, indem Sie in der Arduino IDE auf die Hochladen-Schaltfläche klicken.
  • Machen Sie den Sensor kälter oder wärmer. Zum Beispiel den Sensor nahe an einen Eisbecher legen.
  • Sehen Sie 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  

※ Notiz:

Diese Anleitung verwendet die analogRead() Funktion, um Werte von einem ADC (Analog-zu-Digital-Wandler) gelesen, der an einen LM35-Sensor angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Allerdings sollten Projekte, die präzise Messungen erfordern, Folgendes beachten:

  • Der ESP32-ADC ist nicht vollständig genau und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu erhalten. Jedes ESP32-Board kann etwas unterschiedlich sein, daher muss der ADC für jedes einzelne Board kalibriert werden.
  • Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die genauesten Ergebnisse, die Sie wünschen.

Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Betracht, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der einen zuverlässigeren ADC besitzt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver

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!