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
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.
#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);
}
zurück