ESP8266 – LM35-Temperatursensor OLED

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 verwenden, um die Temperatur eines LM35-Sensors zu ermitteln und sie auf einem OLED-Display anzuzeigen.

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×SSD1306 I2C OLED-Display 128x64
1×SSD1306 I2C OLED-Display 128x32
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 OLED- und LM35-Temperatursensor

Wenn Sie mit OLED und dem LM35-Temperatursensor (einschließlich Pinbelegung, Funktion und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

ESP8266 NodeMCU LM35-Temperatursensor OLED-Verkabelungsdiagramm

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.

ESP8266-Code - LM35-Temperatursensor - OLED

/* * 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-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_WIDTH 128 // OLED display width, in pixels #define OLED_HEIGHT 64 // OLED display height, in pixels #define ADC_VREF_mV 5000.0 // in millivolt #define ADC_RESOLUTION 1024.0 #define PIN_LM35 A0 // pin connected to LM35 temperature sensor Adafruit_SSD1306 oled(OLED_WIDTH, OLED_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C String temperature_str; void setup() { Serial.begin(9600); // initialize OLED display with address 0x3C for 128x64 if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait for initializing oled.clearDisplay(); // clear display oled.setTextSize(2); // text size oled.setTextColor(WHITE); // text color oled.setCursor(0, 10); // position to display temperature_str.reserve(10); // to avoid fragmenting memory when using String } void loop() { // get the ADC value from the LM35 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 Celsius float temperature_C = milliVolt / 10; temperature_str = String(temperature_C, 2); // two decimal places temperature_str += char(247) + String("C"); Serial.println(temperature_str); // print the temperature in Celsius to Serial Monitor oled_display_center(temperature_str); // display temperature on OLED } void oled_display_center(String text) { int16_t x1; int16_t y1; uint16_t width; uint16_t height; oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height); // center the display both horizontally and vertically oled.clearDisplay(); // clear display oled.setCursor((OLED_WIDTH - width) / 2, (OLED_HEIGHT - height) / 2); oled.println(text); // text to display oled.display(); }

Schnelle Schritte

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

  • Schau dir die Anleitung zur Einrichtung der Entwicklungsumgebung für ESP8266 in der Arduino-IDE an, falls du ESP8266 zum ersten Mal verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Module), und den entsprechenden COM-Port.
  • Klicke auf das Libraries-Symbol in der linken Seitenleiste der Arduino-IDE.
  • Suche nach „SSD1306“ und finde die SSD1306-Bibliothek von Adafruit.
  • Klicke auf den Install-Button, um die Bibliothek hinzuzufügen.
ESP8266 NodeMCU OLED-Bibliothek
  • Sie werden dazu aufgefordert, einige zusätzliche Bibliotheksabhängigkeiten zu installieren.
  • Um alle davon zu installieren, klicken Sie auf die Schaltfläche Alle installieren.
ESP8266 NodeMCU Adafruit GFX-Sensorbibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie im Arduino IDE auf die Hochladen-Schaltfläche, um den Code an den ESP8266 zu senden.
  • Platzieren Sie den Sensor in heißem und kaltem Wasser oder halten Sie ihn in der Hand.
  • Überprüfen Sie die Ergebnisse auf dem OLED-Display und dem Serial Monitor.

※ Notiz:

Der fragliche Code wird den Text sowohl horizontal als auch vertikal auf einem OLED-Display zentrieren.

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!