Erkennen an welchem Anschluss DS18B20 angeschlossen ist

Hi

In diesem Fall würde ich, da ich die Busfunktionalität gar nicht brauche mit dem ganzen Drum herum, auf einen anderen Sensor wechseln.
DHT, TSIC oder LM75 kämen mir spontan in den Sinn, müssten Alle Singel-Sensoren sein und sich mit dem Arduino abfrühstücken lassen.

Wenn bei dem DS18B20 geblieben werden soll, könnte man die Sensoren auch suchen lassen - die Reihenfolge, in Der Diese gefunden werden, ist immer gleich - allerdings nur mit diesen Sensoren.
Wenn man einen der Sensoren raus nimmt, rücken 'die Restlichen' nur aneinander (beim zurück Stecken sortiert Der sich aber wieder Da ein, wo Er zuvor stand) - ein weiterer Sensor mit unbekannter ID kann - mehr oder weniger - überall in der Reihe auftauchen.

Man könnte Das dann so machen, daß man zuerst nur einen Sensor an Buchse 1 anschließt - Dieser wird als Einziger gefunden.
Nun schließt man einen zweiten Sensor an Buchse Zwei an, der Code sucht nach 'weiteren Sensoren' und findet entweder den Neuen, oder den bereits bekannten Sensor als Erstes.
Wenn der Neue zuerst gefunden wird, eine Anzeige, daß Buchse Zwei und Drei getauscht werden müssen.
Identisch mit Sensor 3.
Wenn der Sensor 3 als erstes gefunden wird, müssen die Sensoren Eins und Zwei je eine Stelle nach Rechts.
Wenn Sensor 3 als Zweites gefunden wird, müssen Sensor 2 und 3 getauscht werden.

Denke aber, daß Das eine unnötige Rumstöpselei ist und, wenn das Umstöpseln vergessen oder übersehen wird, wird der Messwert an einer falschen Stelle angezeigt - was so nicht tragbar ist.

Andere Herangehensweise, wenn die Sensoren nacheinander eingesteckt werden:

  • einlesen des neuen Sensor, die Nummer wird intern gemerkt und kommt auf Anzeige 1
  • die weiteren Sensoren identisch, der Benutzer muß halt explizit die Reihenfolge der Buchsen einhalten.

Wenn alle Sensoren gefunden wurden, kann man die Nummern im Eeprom abspeichern lassen, wo Diese auch nach Neustart ausgelesen werden.

Oder eben, wie schon geschrieben, für jeden Sensor einen eigenen Pin - Da kann dann nur dieser eine Sensor gefunden werden.

Solange noch 'Beinchen' frei und Platz im Speicher ist, spricht Da auch Nichts gegen - ein Vorteil wäre hier sogar, daß man einen DS18B20 einfach tauschen kann, ohne in Schwierigkeiten zu kommen.

Darf man fragen, warum Du auf 1-wire setzt? Andere Sensoren sind nicht großartig schlechter aber günstiger zu bekommen - gerade, wenn man die Sensoren eh einzeln anfährt (gehe davon aus, daß Du nicht mit 'Beinchen' geizen musst).

MfG