@AlphaRay,
in der Vergangenheit habe ich viele Aufbauten mit dem DS18B20 vorgenommen. Ja, er hat einen 1Wire Bus. Entweder nimmst Du einen USB/One-Wire Converter von Maxim, bzw Dallas. Schau mal beim Fuchs Shop danach. Oder eben einen Arduino.
Anschluß der Sensoren
Die Sensoren müssen im 3 Draht Verfahren angeschlossen werden, wenn lange Entfernungen und/oder viele Sensoren angeschlossen werden. Wichtiger als die Spannungsversorgungsleitung ist, daß die Masseleitung einen großen Aderquerschnitt hat. Jedenfalls dann, wenn Du alle Sensoren zeitgleich messen läßt. Und das machen die Arduino Libraries üblicherweise. Solltet Du den nötigen Pull-Up Widerstand der 1-Wire Datenleitung arduinoseitig vergessen, läuft garnichts. Im Datenblatt des DS18B20 ist der nötige Pull-Up-Strom (von-bis mA) spezifiziert. Bei langen Leitungen, darf es ruhig eher richtung niederohmig gehen. Versehe jeden einzelnen DS18B20 entlang der Leitung mit einem 100nF/ker Kondensator.
Ich sehe gerade, der Sink Current beträgt max. 4 mA, bei auf 0,4Volt. Hieße R = (3,3V -0,4V) / 4 mA = 720 Ohm. Ich würde es mit 820, oder 1000 Ohm versuchen.
Selbsterwärmung
Die Selbsterwärmung steigt mit der Abfragehäufigkeit, der Bitbreite der Temperaturauflösung und der Betriebsspannung. Meine Empfehlung, nimm die 3,3 Volt Stromversorgung für die Sensoren und schalte auch den Pull-Up zwischen DS18B20-Datenleitung und den 3,3Volt. Das habe ich erfolgreich öfter mit dem Arduino Due gemacht, mit über 20, oder 30 Sensoren und 50-80 Meter Flachbandleitung. Gemessen habe ich in der höchsten Auflösung, in 0,0625K.
Kalibrierung
Solltest Du die Sensoren kalibrieren wollen, bieten sich die Alarmregister an. Jeder DS18B20 hat eine ROM. Die ROM erfüllt den Zweck einer MAC, einer Netzwerkarte und macht jeden DS18B20 einzigartig. Die Alarmregister werden im Sensor nicht benötigt und sind nicht flüchtig. Wenn Du magst, schreibe dort Kalibrierwerte hinein. Dann gehen sie auch nicht verloren.
Adressierung
Die üblichen Bibliotheken werden gähnend langsam, wenn viel Sensoren dranhängen, weil sie immer wieder die ROM der angeschlossnen Sensoren ermitteln.
Besser Du ermittelst alle ROM ein mal, legst sie in einem Array ab und addressierst die Sensoren direkt. Idealerweise, wenns die Stromversorgung hergibt, leitest Du die A/D-Wandlung der Temperatur durch den Skiprom Befehl ein. Dieser addressiert alle Sensoren gesammelt, also gleichzeitig. Jeder Sensor legt dann seinen Meßwert im internen Speicher ab. Anschließend wird jeder Sensor einzeln addressiert, um die Daten abzuholen.
Das wars, was mir gerade dazu einfiel.
Achso, wenn Du jeden Sensor auf ein Kupfer-, oder Alublech klebst (Sekundenkleber tuts ausreichend gut), leitest Du die Selbsterwärmung in Teilen ab. Ohne kann es bei sekündlichen Abfragen schonmal 1k zu hohe Temperaturen geben...
Solltest Du etwas gezielter programmieren wollen...
Bei der Ergebnisabfrage muß nicht der ganze String abgewartet werden. Ein Reset ist jederzeit zulässig. Also, wenn die Meßwerte übertragen sind, mußt Du nicht mehr die Alarmregister, die CRC,... abwarten, sondern ein Reset durchführen und zum nächsten Sensor übergehen. Auch geben die Sensoren an, wenn der letzte auf der Leitung mit seiner Konvertierung fertig ist. Dann muß man keinen zeitlichen Sicherheitsabstand von 750ms abwarten, denn die sind alle meist nach 6xx ms fertig.
Viel Spaß mit diesen Feinheiten, wenn Du magst.
Solltest Du einen Windmesser bauen wollen? Das geht kaloriemtrisch mit diesen Sensoren ganz gut. Klebe einfach einen SMD Widerstand auf jeden Sensor und beheize einen Sensor so, daß er immer eine konstante Temperatur (2...5 Kelvin) über der Umgebungstemperatur liegt. Die Umgebungstemperatur mißt Du mit einem 2. Sensor. Der muß die gleichen thermischen Eigenschaften, wie der 1. haben, damit er Temperatugradienten zeitgleich und nur temperaturverschoben folgt. Die Heizleistung verhält sich jetzt proportional zum Luft-Massenstrom. Ref. Kingsche Gleichung. ...Beim ganzen kann man sich gleich darin üben, einen PID-Regler zu programmieren. Für die präzise Heizung gibt ein 16bit PWM die benötigte Auflösung (Servo Bibliothek?)
Viel Spaß...
Und immer mit dem fliesskomma rechnen 