Ich möchte ca 20 Türkontakte (Reed-Schalter) mit einem 1wire Bus an den Raspberry anbinden. Es muss nicht unbedingt ein spezieller 1wire Standard sein, aber ich möchte alle Reed-Kontakte an dieselbe Busleitung anschliessen (GND, VCC und DATA).
Ich habe mir überlegt, das mit einer Widerstandskaskade zu machen und den Spannungswert dann am RasPi mit einem AD-Wandler zu digitalisieren. Das Analogsignal weist aber große Störungen auf und einen 20-Bit AD-Wandler gibt es kaum, um die vielen Türen aufzulösen.
Widerstandskaskade soll heissen, alle REED-Kontakte schalten einen bestimmten Widerstand von DATA auf GND. Die Widerstaende sind so ausgelegt (1:2:4:8:16....) dass der Gesamtstrom als Spannungsabfall am Pullup-Widerstand der DATA Leitung gemessen werden kann. Das FUnktioniert auch ganz gut für bis zu 5 Kontakte. Aber mit 20?
Hat jemand eine andere Idee, wie man das Realisiern kann? Von einer habe ich schon gehört (1wire Temperatursensoren auf den Bus aufschalten mit den REED und dann eine Busabfrage machen, welcher Sensor da ist). Gute Idee, ist mir aber zu langsam (ca. 15 Sek zum Abfragen der Tempsensoren).
Vielleicht kann man mit Rechtecksignalgeneraturen arbeiten, von denen jede eine andere Frequenz hat?