ESP8266 - LM35 Temperatursensor

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 verwenden, um die Temperatur des LM35-Sensors abzulesen. Im Detail werden wir Folgendes lernen:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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

Die Pinbelegung des LM35-Temperatursensors

Der LM35-Temperatursensor hat drei Pins:

  • GND-Pin: Dieser Pin sollte mit der Masse (0 V) verbunden werden.
  • VCC-Pin: Dieser Pin sollte mit der Versorgungsspannung VCC (5 V) verbunden werden.
  • OUT-Pin: Dieser Ausgangspin liefert eine Ausgangsspannung, die linear proportional zur Temperatur ist, und sollte mit einem analogen Pin am ESP8266 verbunden werden.
Pinbelegung des LM35-Temperatursensors

Wie es funktioniert

Der LM35 erzeugt eine Spannung, die linear proportional zur Temperatur in Grad Celsius ist. Der Ausgang des LM35 hat einen Skalierungsfaktor von 10 mV/°C. Dies bedeutet, dass die Temperatur bestimmt werden kann, indem die am Ausgangspin gemessene Spannung (in mV) durch 10 geteilt wird.

Verdrahtungsdiagramm

ESP8266 NodeMCU LM35 Temperatursensor-Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

So programmiert man den LM35-Temperatursensor

  • Den ADC-Wert des Temperatursensors auslesen, indem Sie die Funktion analogRead() verwenden.
int adcVal = analogRead(PIN_LM35);
  • Wandle den ADC-Wert in eine Spannung in Millivolt um.
float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION);
  • Wandle die Spannung in Celsius um.
float temperature_C = milliVolt / 10;
  • Optional: Celsius in Fahrenheit umrechnen.
float temperature_F = temperature_C * 9 / 5 + 32;

ESP8266-Code

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-lm35-temperature-sensor */ #define ADC_VREF_mV 3300.0 // in millivolt #define ADC_RESOLUTION 1024.0 #define PIN_LM35 A0 // The ESP8266 pin ADC0 connected to LM35 void setup() { Serial.begin(9600); } 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 temperature_C = milliVolt / 10; // convert the °C to °F float temperature_F = temperature_C * 9 / 5 + 32; // print the temperature in the Serial Monitor: 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

Um mit ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, falls du ESP8266 zum ersten Mal verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Verbinde das ESP8266-Board mit deinem Computer über ein USB-Kabel.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und den jeweiligen COM-Port des Boards.
  • Kopiere den Code und öffne ihn mit der Arduino-IDE.
  • Klicke auf die Hochladen-Schaltfläche in der IDE, um den Code auf den ESP8266 hochzuladen.
  • Halte den Sensor in deiner Hand.
  • Überprüfe die Ergebnisse im seriellen Monitor.
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:

Dieses Tutorial verwendet die Funktion analogRead(), um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der an einen Sensor oder einen anderen Teil angeschlossen ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen man keine sehr genauen Messwerte benötigt. Aber beachten Sie, dass der ADC des ESP8266 für detaillierte Messungen nicht sehr genau ist. Wenn Ihr Projekt sehr genaue Messwerte benötigt, möchten Sie möglicherweise einen separaten ADC wie den ADS1115 zusammen mit dem ESP8266 verwenden, oder einen Arduino wie den Arduino Uno R4 WiFi einsetzen, der über einen zuverlässigeren ADC verfügt.

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.

Funktionsreferenzen

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