Arduino Nano - Temperatursensor

Dieses Tutorial erklärt Ihnen, wie Sie den Arduino Nano und den wasserdichten DS18B20-1-Wire-Temperatursensor verwenden, um die Temperatur zu messen. Dieser Sensor ist kostengünstig, einfach zu bedienen und hat im Vergleich zu anderen Alternativen ein ansprechendes Erscheinungsbild.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×4.7 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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.

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 den 1-Wire DS18B20-Temperatursensor

Die Pinbelegung des Temperatursensors

Der DS18B20-Temperatursensor hat drei Pins, die verbunden werden müssen:

  • GND-Pin: muss mit GND (0 V) verbunden werden
  • VCC-Pin: muss mit VCC (5 V oder 3,3 V) verbunden werden
  • DATA-Pin: ist der 1-Wire-Datenbus und sollte mit einem digitalen Pin am Arduino Nano verbunden werden

Der Sensor wird typischerweise in zwei Varianten angeboten: ein TO-92-Gehäuse (das einem Transistor ähnelt) und eine wasserdichte Sonde. In diesem Tutorial verwenden wir die wasserdichte Sonde.

Pinbelegung des DS18B20-Temperatursensors

Die Verbindung des DS18B20-Temperatursensors mit dem Arduino erfordert einen Pull-up-Widerstand, was es etwas lästig macht. Allerdings erleichtern es einige Hersteller, indem sie einen Verkabelungsadapter anbieten, der mit einem integrierten Pull-up-Widerstand und einer Schraubklemme ausgestattet ist, wodurch der Aufwand reduziert wird und der Aufbau praktischer wird.

Verdrahtungsdiagramm

  • Verdrahtungsdiagramm mit einem Breadboard.
Arduino Nano Temperatursensor Verdrahtungsdiagramm

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

  • Schaltplan unter Verwendung eines Kabeladapters (empfohlen).
Schaltplan für Arduino Nano DS18B20

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

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

Wir empfehlen den Kauf eines DS18B20-Sensors zusammen mit dem dazugehörigen Verkabelungsadapter für eine nahtlose Einrichtung. Dieser Adapter enthält einen integrierten Widerstand, wodurch ein zusätzlicher Widerstand in der Verkabelung entfällt. Wir haben es auch getestet und es hat gut funktioniert.

Wie man den DS18B20-Temperatursensor programmiert

  • Die folgende Bibliothek einbinden:
#include <OneWire.h> #include <DallasTemperature.h>
  • Deklariere ein Objekt für OneWire, das dem Pin entspricht, der mit dem DATA-Pin des Sensors verbunden ist. Deklariere außerdem ein Objekt für DallasTemperature.
OneWire oneWire(SENSOR_PIN); // eine OneWire-Instanz initialisieren DallasTemperature DS18B20(&oneWire); // übergibt die OneWire-Instanz an die DallasTemperature-Bibliothek
  • Initialisieren Sie den Sensor.
DS18B20.begin(); // Sensor initialisieren
  • Geben Sie den Befehl ein, um Temperaturen zu erhalten.
DS18B20.requestTemperatures();
  • Prüfen Sie die Temperatur in Grad Celsius.
temperature_C = DS18B20.getTempCByIndex(0);
  • Fahrenheit aus Celsius berechnen:
temperature_F = temperature_C * 9 / 5 + 32;

Arduino Nano Code

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 2 // The Arduino Nano pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Schnelle Schritte

  • Verbinden Sie ein USB-Kabel mit dem Arduino Nano und dem PC.
  • Öffnen Sie die Arduino IDE und wählen Sie das passende Board und den passenden Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach “Dallas”, und finden Sie dann die DallasTemperature-Bibliothek, die von Miles Burton erstellt wurde.
  • Drücken Sie die Install-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.
Arduino Nano Dallas-Temperatur-Bibliothek
  • Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Install All, um die OneWire-Bibliothek zu installieren.
Arduino Nano OneWire-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code an Arduino Nano zu senden.
  • Setzen Sie den Sensor in heißes oder kaltes Wasser oder halten Sie ihn in der Hand.
  • Sehen Sie sich das Ergebnis im seriellen Monitor an.
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  

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!