DS18B20 Temperatursensor – Arduino Sketch und Projekte

Der DS18B20 Temperatursensor von Maxim (ehem. Dallas) Integrated ist in zwei unterschiedlichen Ausführungen zu finden. Zum einen als Standard Bauelement im TO-92 Gehäuse, und zum Anderen als wasserdichte Outdoor-Variante mit Kabel. Dies macht ihn zu einem universellen Arduino Temperatorsensor für IoT-Projekte im Innen- oder auch Außenbereich.

Informationen:

Messbereich Temperatur:-50° bis 125° C.
Genauigkeit Temperatur:±0,5° C.
benötigte PINs (ohne VCC und GND):1
Betriebsspannung:3,0 bis 5,5 V
benötigte PINs (ohne VCC und GND):1
Messverfahren:digital (One-wire)

genutzte Elemente:

Versuchsaufbau:

DS18B20 Versuchsaufbau
DS18B20Arduino UNO
1 GNDGND
2 DATA4,7kΩ Widerstand -> Pin 2
3 VDD5V

Möchte man extra Bauteile und ein eventuelles Löten vermeiden, so kann alternativ ein DS18B20 Modul  für Arduino und Co verwendet werden, welches den 4,7kΩ Widerstand bereits integriert hat.

DS18B20 Pinout
DS18B20 Pinout

Sketch / Arduino IDE Code

Für den gezeigten Sketch werden die Bibliotheken „OneWire“ und „DallasTemperature“ benötigt. Diese können folgendermaßen installiert werden:

In der Menüleiste der Arduino-IDE auf „Werkzeuge“ und anschließend auf „Bibliotheken verwalten“ klicken. Nun erscheint ein weiteres Fenster mit der Bezeichnung „Bibliotheksverwalter“. Hier können nun die zwei o.g. Bibliotheken (Libraries) gesucht, und mit einem Klick auf „Installieren“ zur Arduino IDE hinzugefügt werden.

//DS18B20 Temperatursensor Arduino Sketch
//Website: IoTspace.dev
//
//
#include <OneWire.h>                        //OneWire Bibliothek einbinden
#include <DallasTemperature.h>              //DallasTemperatureBibliothek einbinden

#define ONE_WIRE_BUS 2                      //Data ist an Pin 2 des Arduinos angeschlossen

OneWire oneWire(ONE_WIRE_BUS);              //Start des OneWire Bus
DallasTemperature sensors(&oneWire);        //Dallas Temperature referenzieren


void setup(void) { 
 Serial.begin(9600);                        // Start der seriellen Konsole 
 Serial.println("DS18B20 Demo"); 
 sensors.begin();                           // Sensor Start
} 

void loop(void) { 
 sensors.requestTemperatures();             // Temperaturen Anfragen 
 Serial.print("Temperatur: "); 
 Serial.print(sensors.getTempCByIndex(0));  // "byIndex(0)" spricht den ersten Sensor an  
 delay(1000);                               // eine Sekunde warten bis zur nächsten Messung
} 

Mehr zum Thema Arduino

Arduino Kompendium Buch

Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte  – damit ist es möglich auch ohne umfassende Elektronik- und Programmiervorkenntnisse eigene intelligente Arduino-Projekte umzusetzen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert