Temperaturmessung mit dem DS18B20

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Hier wird eine verkabelte und wasserdichte Version des Temperatur-Sensors DS18B20 verwendet. Trotz der dichten Verpackung sollte die Sonde nicht in korrosiver Umgebung oder Salzwasser verwendet werden.
Wichtige Merkmale des DS18B20 sind:

Es gibt zwei Versionen, 3- und 4-Kabelig:
3 Kabel: schwarz=GND, rot=3-5V, weiß/gelb=Data
4 Kabel: schwarz=GND, rot=3-5V, weiß=Data, restliches Kabel=Abschirmung

Verwendete Bauteile

Aufbau

Für die Ansteuerung des Sensors wird das "Dallas 1-Wire" Protokoll verwendet, welches mit den beiden verfügbaren Libraries Dallas Temperature Control und OneWire gute Messergebnisse liefert.

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Sketch

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

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// 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(void)
{
    Serial.begin(9600);
    sensors.begin(); // Start up the library
}

void loop(void)
{
    // call sensors.requestTemperatures() to issue a global temperature
    // request to all devices on the bus
    // Send the command to get temperature readings
    sensors.requestTemperatures();

    Serial.println("Temperature is: " + String(sensors.getTempCByIndex(0)) + "°C");

    // You can have more than one DS18B20 on the same bus.
    // 0 refers to the first IC on the wire
    delay(1000);
}
Ausgabe in der seriellen Konsole nach Ausführung des Sketches
Abb.: Ausgabe in der seriellen Konsole nach Ausführung des Sketches
zurück