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:
- Keine Produkte gefunden.
- DS18B20 Temperatursensor
- Widerstand Sortiment
- Breadboard und Jumper-Kabel
- (Alternativ: DS18B20 Modul )
Versuchsaufbau:
DS18B20 | Arduino UNO |
1 GND | GND |
2 DATA | 4,7kΩ Widerstand -> Pin 2 |
3 VDD | 5V |
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.
- ✅ Sofort einsatzbereit durch Breakout-Konstruktion mit vorgelöteten Pins und Pull-Up-Widerstand!
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
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.