[B20] Temperatursensor DS18B20 (1-Wire)
SensorKommunikationsprotokoll: 1-Wire Liefert eine 9 -12 Bit genaue Temperaturmessung über den 1-Wire Pin
Tipps:
Bibliotheken: OneWire + DallasTemperature (beide ueber Library-Manager).
Technische Daten
| Kategorie | ALLNET 40-in-1 / Temperatur |
|---|---|
| Schnittstelle | 1-Wire (Dallas) |
| Pinbelegung | VCC, GND, DATA |
| Anzahl Pins | 3 |
| Messgroesse | Temperatur (-55..125 °C, ±0.5 °C) |
| Betriebsspannung | NoneV – NoneV |
| Datenblatt | PDF oeffnen |
Anschluss
Arduino Uno R3
Pins:
5V=VCC, GND=GND, D4=DATA
Hinweise: Pull-Up 4.7k zwischen DATA und VCC ist auf dem Modul integriert.
Codebeispiele
ALLNET B20 — Beispiel aus Anleitung Anfaenger
Beispielsketch aus der ALLNET-Anleitung fuer das Modul B20 ([B20] Temperatursensor DS18B20 (1-Wire)). Vor dem Hochladen den verwendeten Pin pruefen!
Benoetigte Bibliotheken: DallasTemperature, OneWire, Wire (im IDE-Lieferumfang)
// ALLNET Temperatur Sensor Modul B20
// Information http://www.allnet.de
//Benötigte Libraries werden importiert
#include <DallasTemperature.h>
#include <OneWire.h>
//Hier wird der Eingangs-Pin deklariert, an dem das
Sensor-Modul angeschlossen ist
#define B20_Signal_PIN 4
//Libraries werden konfiguriert
OneWire oneWire(B20_Signal_PIN);
DallasTemperature sensors(&oneWire);
//einmalig ausgeführte SetUp Befehle
void setup() {
//Starten der seriellen Übertragung
Serial.begin(9600);
Serial.println("B20 Temperaturmessung");
//Sensor wird initialisiert
sensors.begin();
}
//dauerhaft wiederholte Hauptschleife
void loop()
{
//Temperaturmessung wird gestartet...
sensors.requestTemperatures();
//... und gemessene Temperatur ausgeben
Serial.print("Temperatur: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.write(176); // UniCode-Angabe eines char-Symbols für das "°-Symbol"
Serial.println("C");
//Pause
delay (1000);
}