Arduino UNO R4 - Temperatursensor - OLED

In diesem Leitfaden lernen wir, wie man einen Arduino UNO R4 programmiert, um die Temperatur von einem DS18B20-Sensor zu lesen und sie auf einem OLED-Display anzuzeigen.

Arduino UNO R4 DS18B20 Temperatursensor OLED

Erforderliche Hardware

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternativ: DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
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×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno R4
1×(Empfohlen) Breadboard-Shield für Arduino Uno R4
1×(Empfohlen) Gehäuse für Arduino Uno R4
1×(Empfohlen) Stromverteiler für Arduino Uno R4
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V4 IoT Starter-Kit (Arduino 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.

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.

Über OLED- und DS18B20-Temperatursensoren

Erfahren Sie mehr über OLED-Displays und den DS18B20-Temperatursensor (einschließlich Pinbelegung, Funktionsweise und Programmierung) in diesen Tutorials:

Verdrahtungsdiagramm

Arduino UNO R4 DS18B20-Temperatursensor OLED-Verdrahtungsdiagramm

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

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Wir empfehlen den Kauf eines DS18B20-Sensors mit einem Verdrahtungsadapter für eine einfache Einrichtung. Der Adapter enthält einen Widerstand, sodass Sie keinen zusätzlichen Widerstand für die Verkabelung benötigen.

Arduino UNO R4 Code – Temperatur vom DS18B20-Temperatursensor und Anzeige auf dem OLED-Display

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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/arduino-uno-r4/arduino-uno-r4-temperature-sensor-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <OneWire.h> #include <DallasTemperature.h> #define OLED_WIDTH 128 // OLED display width, in pixels #define OLED_HEIGHT 64 // OLED display height, in pixels #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to DS18B20 sensor Adafruit_SSD1306 oled(OLED_WIDTH, OLED_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library 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 DS18B20.begin(); // initialize the sensor temperature_str.reserve(10); // to avoid fragmenting memory when using String } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius 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); } 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

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Schließen Sie das OLED-Display und den Temperatursensor gemäß dem bereitgestellten Diagramm an das Arduino Uno R4-Board an.
  • Schließen Sie das Arduino Uno R4-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Klicken Sie im linken Bereich der Arduino IDE auf das Libraries-Symbol.
  • Geben Sie “SSD1306” in das Suchfeld ein, suchen Sie anschließend nach der SSD1306-Bibliothek von Adafruit.
  • Klicken Sie auf die Schaltfläche “Installieren”, um die Bibliothek hinzuzufügen.
Arduino UNO R4 OLED-Bibliothek
  • Sie müssen einige zusätzliche Bibliotheken installieren
  • Klicken Sie auf die Schaltfläche Alle installieren, um alle benötigten Bibliotheken zu installieren.
Arduino UNO R4 Adafruit GFX-Sensorbibliothek
  • Geben Sie "DallasTemperature" in das Suchfeld ein und suchen Sie nach der DallasTemperature-Bibliothek von Miles Burton.
  • Drücken Sie die Schaltfläche Installieren, um die DallasTemperature-Bibliothek zu installieren.
Arduino UNO R4 Dallas Temperature-Bibliothek
  • Sie müssen die Bibliotheksabhängigkeit installieren.
  • Klicken Sie auf die Schaltfläche Alle installieren, um die OneWire-Bibliothek zu installieren.
Arduino UNO R4 OneWire-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE
  • Drücken Sie in der Arduino IDE die Hochladen-Schaltfläche, um den Code auf den Arduino UNO R4 zu übertragen.
  • Legen Sie den Sensor in heißes oder kaltes Wasser oder halten Sie ihn in der Hand.
  • Überprüfen Sie die OLED-Anzeige auf Ergebnisse.

※ Notiz:

Der Code zentriert den Text automatisch horizontal und vertikal auf dem OLED-Display.

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!