Abo
  • Services:
Anzeige
Arduino mit Ethernet-Shield zur Temperaturmessung
Arduino mit Ethernet-Shield zur Temperaturmessung (Bild: Alexander Merz/Golem.de)

Den DS18B20 und die LED anschließen

Einige Informationen zum Temperatursensor DS18B20 haben wir bereits in einem identischen Artikel für den Aufbau mit dem Raspberry Pi vermittelt. Dort ist auch der Aufbau der Schaltung umfangreich beschrieben, der sich für den Arduino nicht wesentlich unterscheidet. Wir benutzen hier nur andere Pins, um die Schaltung mit dem Mikrocontroller zu verknüpfen: Die Datenleitung vom mittleren Beinchen des DS18B20 muss mit der Pin-Buchse 2 des Arduino verbunden werden. Das lange oder abgeknickte Beinchen der LED (die Anode) wird mit Pin 3 verbunden.

Anzeige

Den Arduino programmieren

Die einfachste Form, ein Programm für den Arduino zu schreiben und zu übertragen, ist die Arduino IDE. Es gibt sie für Windows, OS X und Linux. Der Download ist kostenlos.

Nach dem Start des Programms können wir sofort mit einem neuen Sketch loslegen - so heißen Programme in der Arduino IDE. Allerdings sollten wir die IDE zuerst für den Arduino Uno konfigurieren. Dazu wählen wir im Werkzeugmenü unter Boards den Eintrag "Arduino/Genuino Uno" aus. Jetzt wird der Arduino per USB mit dem Computer verbunden. Im Werkzeugmenü erscheint unter Port ein Eintrag für die angeschlossene Platine, diesen wählen wir aus.

  • Gesamte Konstruktion der Temperaturmessstation (Foto: Martin Wolf/Golem.de)
  • Je nach Modell ist die Stromversorgung mit 3V3 oder ... (Foto: Martin Wolf/Golem.de)
  • ... 3.3V bezeichnet. (Foto: Martin Wolf/Golem.de)
  • Basisaufbau der Schaltung (Foto: Martin Wolf/Golem.de)
  • Fritzing-Zeichnung der Konstruktion (Abb.: Alexander Merz/Fritzing)
Fritzing-Zeichnung der Konstruktion (Abb.: Alexander Merz/Fritzing)

Den vollständigen Quellcode für unser Programm gibt es auf Github. Hier werden wir im Wesentlichen die Kernelemente des Sketches besprechen.

Temperatursensor konfigurieren

Für den Arduino gibt es bereits fertige Bibliotheken, um den DS18B20 zu verwenden. Die Bibliothek zur Kommunikation per One-Wire ist in aktuellen Versionen der Arduino IDE schon enthalten. Für die darauf aufbauende Logik, um den Temperaturwert aus dem Sensor auszulesen, gibt es ebenfalls eine Bibliothek: DallasTemperature.

Sie kann über die Arduino IDE installiert werden. Dazu ist der Bibliotheksverwalter über das Menü "Sketch" - "Bibliothek einbinden" aufzurufen. Im Dialog befindet sich rechts oben ein Eingabefeld für die Suche. Es genügt, "Dallas" einzugeben, um die Bibliothek zu finden. Nach einem Klick auf "Installieren" wird sie heruntergeladen und wir können sie verwenden. Nach dem gleichen Schema muss eventuell auch die One-Wire-Bibliothek installiert werden, wenn sie nicht schon vorhanden ist.

Nach der Einbindung der Bibliotheken werden die entsprechenden Objekte initiiert. Die Konstante ONE_WIRE_BUS bezeichnet den Pin, mit dem unser Temperatursensor verbunden wurde:

  1. #define ONE_WIRE_BUS 2
  2.  
  3. OneWire oneWire(ONE_WIRE_BUS);
  4. DallasTemperature sensors(&oneWire);
  5. DeviceAddress thermometer;

Bei einem neuen Sketch sind die beiden Funktionen setup() und loop() bereits vordefiniert. Die Setup-Funktion wird einmal bei Programmstart aufgerufen. Die Loop-Funktion wird danach hingegen kontinuierlich immer wieder aufgerufen - bis der Arduino ausgeschaltet wird.

Den folgenden Code müssen wir nur beim Start ausführen, deswegen steht er in der setup()-Funktion:

  1. sensors.begin();
  2. sensors.getAddress(thermometer, 0);
  3. sensors.setResolution(thermometer, 12);

Bei der begin()-Methode wird nach One-Wire-Geräten auf dem Pin gesucht. Da wir dort nur den Sensor angeschlossen haben, können wir risikolos die erste gefundene ID des Sensors, hier Adresse genannt, in der Variable thermometer speichern. Schließlich müssen wir noch angeben, mit welcher Genauigkeit der Sensor arbeitet: beim DS1820B laut Datenblatt 12 Bit.

Die eigentliche Abfrage der Temperatur erfolgt in der Loop-Funktion, Der Aufruf sensors.requestTemperatures() fragt den Temperaturwert vom Sensor ab und speichert ihn.

 Mitmachprojekt: Temperatur messen und senden mit dem ArduinoLED ansprechen 

eye home zur Startseite
MikePenison 22. Apr 2016

Hallo, ich habe Interesse an so einem Temperatur Projekt auf Bluetooth Basis (Arduino...

NoLabel 22. Apr 2016

Breadboard ist ja auch nur zum testen einer Schaltung da und nicht für Dauerbetrieb...

TuX12 22. Apr 2016

Damit geht's auch und kost' fast nix ;)



Anzeige

Stellenmarkt
  1. über Ratbacher GmbH, München
  2. über Ratbacher GmbH, Raum Frankfurt
  3. INTENSE AG, Würzburg, Köln
  4. Hemmersbach GmbH & Co. KG, Nürnberg


Anzeige
Blu-ray-Angebote
  1. (u. a. Apollo 13, Insidious, Horns, King Kong, E.T. The Untouchables, Der Sternwanderer)
  2. 129,99€
  3. 17,97€

Folgen Sie uns
       


  1. Hololens

    Microsoft holoportiert Leute aus dem Auto ins Büro

  2. Star Wars

    Todesstern kostet 6,25 Quadrilliarden britische Pfund am Tag

  3. NSA-Ausschuss

    Wikileaks könnte Bundestagsquelle enttarnt haben

  4. Transparenzverordnung

    Angaben-Wirrwarr statt einer ehrlichen Datenratenangabe

  5. Urteil zu Sofortüberweisung

    OLG empfiehlt Verbrauchern Einkauf im Ladengeschäft

  6. Hearthstone

    Blizzard schickt Spieler in die Straßen von Gadgetzan

  7. Jolla

    Sailfish OS in Russland als Referenzmodell für andere Länder

  8. Router-Schwachstellen

    100.000 Kunden in Großbritannien von Störungen betroffen

  9. Rule 41

    Das FBI darf jetzt weltweit hacken

  10. Breath of the Wild

    Spekulationen über spielbare Zelda



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Seoul-Incheon Ecobee ausprobiert: Eine sanfte Magnetbahnfahrt im Nirgendwo
Seoul-Incheon Ecobee ausprobiert
Eine sanfte Magnetbahnfahrt im Nirgendwo
  1. Transport Hyperloop One plant Trasse in Dubai

Astrohaus Freewrite im Test: Schreibmaschine mit Cloud-Anschluss und GPL-Verstoß
Astrohaus Freewrite im Test
Schreibmaschine mit Cloud-Anschluss und GPL-Verstoß
  1. Cisco Global Cloud Index Bald sind 90 Prozent der Workloads in Cloud-Rechenzentren
  2. Cloud Computing Hyperkonvergenz packt das ganze Rechenzentrum in eine Kiste
  3. Cloud Computing Was ist eigentlich Software Defined Storage?

Senode: Eine ganze Komposition in zwei Graphen
Senode
Eine ganze Komposition in zwei Graphen
  1. Offlinemodus Netflix erlaubt Download ausgewählter Filme und Serien
  2. LG PH450UG LED-Kurzdistanzprojektor arbeitet mit Akku
  3. Freenet TV DVB-T2 Receiver mit Twin-Tuner brauchen nur ein Abo

  1. Re: Wikileaks ist nicht mehr im Kreis der Freunde

    divStar | 05:27

  2. Re: Die einzige App die HoloLens braucht um sich...

    divStar | 05:26

  3. Re: Schon 2x deshalb nicht bei Völkner und 1x...

    ClausWARE | 04:47

  4. Re: hä? gericht wieder einmal weltfremd?

    ClausWARE | 04:41

  5. Re: Selbst schuld, wer das benutzt (kt)

    ClausWARE | 04:19


  1. 18:27

  2. 18:01

  3. 17:46

  4. 17:19

  5. 16:37

  6. 16:03

  7. 15:34

  8. 15:08


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel