Temperatursensor – DS18B20 – Arduino Nano Tutorial

 


 

Einleitung

In diesem Tutorial zeigen wir Dir Schritt für Schritt, wie Du den DS18B20 Temperatursensor mit einem Arduino Nano verwenden kannst. Wir führen Dich durch die benötigten Komponenten, den einfachen Schaltungsaufbau und die Programmierung in der Arduino IDE. Am Ende wirst Du verstehen, wie Du die Temperaturdaten erfassen und über den seriellen Monitor ausgeben kannst. Dieser Artikel deckt alles ab, von der Vorstellung der erforderlichen Hardware über den Aufbau der Schaltung bis hin zur detaillierten Erklärung des Codes und der abschließenden Anwendung.

 

 

 

 

 



 

Übersicht – DS18B20 – Arduino Nano

In diesem Tutorial zeigen wir Dir, wie Du den DS18B20 Temperatursensor mit einem Arduino Nano verbinden und auslesen kannst. Dieses Projekt ist ideal, um in die Welt der Temperaturmessung mit Mikrocontrollern einzutauchen.
Was Du für dieses Tutorial benötigst:
1x Arduino Nano
1x DS18B20 Temperatursensor
Diverse Verbindungskabel

 



 

Pinout des DS18B20

Der DS18B20 Sensor verfügt über drei Anschlüsse, die für seine Funktion unerlässlich sind. Diese Pins ermöglichen die Stromversorgung und die Datenkommunikation mit Deinem Arduino Nano.
Die drei Pins des DS18B20 sind:

– VCC: Dies ist der Spannungsversorgungsanschluss.
– GND: Dies ist der Masseanschluss.
– Daten: Dieser Pin wird für die serielle Datenübertragung genutzt.

 



 

Hardware Aufbau / Verkabelung / Schaltungsaufbau

Für den Hardware Aufbau verbinden wir den 3,3V Pin Deines Arduino Nano mit dem VCC Pin des DS18B20, den GND Pin des Arduino Nano mit dem GND Pin des DS18B20 und den digitalen Pin D5 des Arduino Nano mit dem DQ Pin des DS18B20. Diese drei Verbindungen bilden die Grundlage für die Kommunikation zwischen den beiden Komponenten.

Eine präzise und fehlerfreie Verdrahtung ist essenziell, damit Dein Arduino Nano die Daten des DS18B20 korrekt empfangen kann. Nachdem Du diese Anschlüsse erfolgreich vorgenommen hast, kann es mit der Programmierung des Arduino Nano weitergehen. Im nächsten Abschnitt erklären wir Dir detailliert, wie Du die notwendige Bibliothek einbindest und den Code für den DS18B20 entwickelst.

 

Software Programmierung

Nachdem der Hardware-Aufbau erfolgreich abgeschlossen wurde, wenden wir uns nun der Programmierung Deines Arduino Nano zu. In diesem Abschnitt zeigen wir Dir detailliert die grundlegenden Schritte zur Erstellung des Codes und erläutern die wichtigsten Funktionen, die Du verwenden wirst.

Schritt 1: IDE Projekt
Öffne die Arduino IDE, um ein neues Projekt zu starten. Um mit der Arduino IDE zu arbeiten, starte zuerst das Programm auf Deinem Computer. Falls Du die Arduino IDE noch nicht installiert hast, findest Du online zahlreiche Anleitungen zur Installation. Nachdem Du die Arduino IDE geöffnet hast, erstellst Du ein neues Projekt, indem Du im Menü auf „Datei“ und dann auf „Neu“ klickst. Dadurch öffnet sich ein neues Fenster, in das Du Deinen Code eingeben kannst.


// Hier kommt dein Code
void setup(){
  // Initialisierung
}

void loop(){
  // Schleife
}

Schritt 2: Bibliothek einbinden
Um die Messwerte des DS18B20 auszulesen, musst Du die passenden Bibliotheken in Deine Arduino IDE integrieren. Klicke dazu in der Menüleiste auf „Sketch“, wähle „Bibliothek einbinden“ und dann „Bibliotheken verwalten…“.
Suche in der Bibliotheksverwaltung nach den Begriffen „DallasTemperature“ und „OneWire“ und installiere beide Bibliotheken. Diese Bibliotheken stellen Dir die notwendigen Funktionen zur Verfügung, um die Temperaturdaten zu erfassen und zu verarbeiten.


#include <OneWire.h>
#include <DallasTemperature.h>


// Data wire is plugged into pin D5 
#define ONE_WIRE_BUS 5

// Setup a OneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass OneWire reference to Dallas Temperature
DallasTemperature sensors(&oneWire);

Schritt 3: Initialisierung
Vor der void setup() Funktion werden die notwendigen Bibliotheken eingebunden und grundlegende Einstellungen vorgenommen. Hier erstellen wir Objekte der Klassen OneWire und DallasTemperature, wobei wir den Pin festlegen, an dem der DS18B20 angeschlossen ist.

Schritt 4: Void Setup
Im void setup() Bereich wird der serielle Monitor mit einer Baudrate von 9600 Baud initialisiert, um später die Temperaturwerte anzuzeigen. Zudem wird der für den DS18B20 verwendete Pin als Ausgang deklariert und die sensors.begin() Funktion aufgerufen, um die Kommunikation mit dem DS18B20 zu starten.


void setup()
{
  Serial.begin(9600); //Initialize serial monitor
  pinMode(ONE_WIRE_BUS, OUTPUT);
  sensors.begin(); //Start up the library
}

Schritt 5: Loop Setup
Im void loop() Bereich fordern wir zunächst mit sensors.requestTemperatures() eine neue Temperaturmessung vom DS18B20 an. Anschließend lesen wir den gemessenen Temperaturwert in Grad Celsius mit sensors.getTempCByIndex(0) aus und geben diesen über den seriellen Monitor aus. Eine Verzögerung von einer Sekunde sorgt dafür, dass die Messwerte nicht zu schnell aufeinander folgen.


void loop()
{
  sensors.requestTemperatures(); //Call sensor to request the Temperature
  Serial.println("Temperature is: " + String(sensors.getTempCByIndex(0)) + "°C"); //Output the values on the monitor
  delay(1000);
}

 

Gesamter Code – DS18B20 – Arduino Nano

Hier siehst Du noch einmal den kompletten Programmcode zur Übersicht:


#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin D5 
#define ONE_WIRE_BUS 5

// Setup a OneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass OneWire reference to Dallas Temperature
DallasTemperature sensors(&oneWire);


void setup()
{
  Serial.begin(9600); //Initialize serial monitor
  pinMode(ONE_WIRE_BUS, OUTPUT);
  sensors.begin(); //Start up the library
}

void loop()
{
  sensors.requestTemperatures(); //Call sensor to request the Temperature
  Serial.println("Temperature is: " + String(sensors.getTempCByIndex(0)) + "°C"); //Output the values on the monitor
  delay(1000);
}

 

Ausführung / Anwendung

Nachdem Du den Code in die IDE eingegeben hast, muss dieser kompiliert und auf Deinen Arduino Nano übertragen werden.
Hier sind die Schritte dazu:
Schritt 1: Klicke auf die Schaltfläche „Überprüfen“ (das Häkchen-Symbol), um den Code zu kompilieren. Schritt 2: Verbinde Deinen Arduino Nano über USB mit Deinem Computer und klicke auf die Schaltfläche „Hochladen“ (der Pfeil-Symbol), um den Code auf den Arduino Nano zu übertragen. Schritt 3: Öffne den seriellen Monitor der Arduino IDE, indem Du auf das Lupen-Symbol in der oberen rechten Ecke klickst. Schritt 4: Im seriellen Monitor wird nun regelmäßig die aktuelle Temperatur angezeigt, die vom DS18B20 Sensor gemessen wird.