Die ds1820-IDs werden als 16bit-Wert im Eeprom gespeichert. Die Weiterverarbeitung der Messwerte erfolgt über die Eeprom-Speicherstelle, so dass die Id für die Verarbeitung nicht mehr benötigt wird. Die Verwaltung der IDs im Eeprom geschieht über ein IR-Menu. Nach Aufruf des Eeprom Menus (Bild) können die Sensoren durch up/down und die Eeprom-Speicherstellen durch left/right angesprungen werden. Mit FB-Green werden dann IDs gespeichert - mit FB-Red gelöscht. Damit muss die ID im Programmcode nicht mehr eingegeben werden.
neue Version: bug bei mehr als drei Sensoren behoben Anzeige der eeprom-Werte verbessert Anzeige von Ir-FB-Werten erleichtert das Anpassen der Fernbedienung
Auch wenn die Resonanz äußerst bescheiden ist, stell ich noch mal eine neue Version ein. Ich habe mich überzeugen lassen, dass ein Auslesen mittels match_rom vorzugswürdig ist - Beitrag "ds1820 Fragen". Also von search_rom auf match_rom umgestellt. Es müssen jetzt je sensor 2x64bit im rom und 1x64bit im eeprom für die IDs gespeichert werden. Beim m328 aber sicher kein Problem.
grundschüler schrieb: > Auch wenn die Resonanz äußerst bescheiden ist Das ist sie möglicherweise deswegen, weil kaum zu verstehen ist, welches Problem Du hier gelöst hast. Wozu sollte man IDs von Temperaturfühlern mit einer IR-Fernbedienung "verwalten"? Und warum können nicht neben dem Display (dem man sich zum angucken eh' nähern muss) einfach ein paar Taster angebracht sein, die das gleiche machen, wie die Tasten Deiner IR-Fernbedienung? Jetzt muss man, so wie ich Deine knappe Beschreibung verstehe, eigens eine Fernbedienung verwenden, wenn man sich vor das Display stellt ... Ich will Dein Projekt nicht madig machen, versteh' mich nicht miss, aber mir ist schon beim ersten Durchlesen Deiner Beschreibung im Mai nicht klargeworden, wobei das helfen soll. Wenn Du beschreiben würdest, wozu das ganze dient (etwas höhere Ebene als das "Verwalten von IDs"), könnte vielleicht der eine oder andere feststellen, daß Du genau sein Problem gelöst hast, oder aber ein interessantes Detail in Deinem Ansatz finden.
Beitrag #5070399 wurde von einem Moderator gelöscht.
Rufus Τ. F. schrieb: > Wozu sollte man IDs von Temperaturfühlern mit einer IR-Fernbedienung > "verwalten"? Danke für den Beitrag. Wenn du es nicht verstanden hast, liegt es an meiner Erklärung oder daran, dass ich ein Problem gelöst habe, dass gar keines ist. Problemstellung: Ich habe ein Programm für die MCU, welches z.B. 10Stück ds1820 nach bestimmten Zuordnungen auswerten soll. Ein Sensor mit eindeutiger ID misst zum Beispiel die Außentemperatur, ein anderer die Fußbodentemperatur im Wohnzimmer. Je nach Messergebnis wird irgendwas vom Programm geschaltet. An irgendeiner Stelle muss dem Programm mitgeteilt werden, welche ID der Sensor für die Außentemperatur hat. Ich habe mir bisher immer die ID anzeigen lassen und den angezeigten Wert ins Programm geschrieben. Das ist schlecht, denn wenn z.B. ein Sensor getauscht werden muss, muss das Programm geändert werden. Die IDs müssen also irgendwo abgespeichert werden. Der Zugriff auf die IDs muss als Zeiger über diese Speicherstelle erfolgen. Das bedingt aber dann die Möglichkeit für den Anwender, die Zuordnung der Speicherstellen über das Programm zu ändern. Man braucht dazu ein Menu, über das die Sensoren-Hardware dem Speicher zugeordnet werden kann. Ob das Menu über Taster neben dem Display oder über eine IR-Tastatur bedient wird ist egal. Wenn ich ein entsprechendes Menu mit Tastern gefunden hätte, hätte ich mir die Arbeit mit der Fernbedienung nicht gemacht. Fernbedienung hat den Vorteil, dass ganz viele Tasten zur Verfügung stehen, mit denen man alles Mögliche machen kann und dass der Hardware-Aufwand in etwa dem Aufwand für den Einbau nur eines Tasters entspricht. Wenn es ein vergleichbares Menu-System schon gibt - ich habe es nicht gefunden, aber auch nicht besonders danach gesucht - dann wäre Aufgabenstellung und Lösung sicher überflüssig.
Guten Tag, nach der Suche nach einem Testgerät für DS18B20 Fühlern bin ich auf diesen Beitrag gestoßen. Bei Meiner Heizungssteuerung JBR-1 von Thematronic werden die Fühler ebenfalls nicht an der 64Bit Adresse unterschieden, sondern an einem für mich noch nicht nachvollziehbaren System. Ich würde dieses Projekt gerne nachbauen um die Fühler auszulesen. Gibt es dazu Schaltpläne und eine Stückliste? Welcher Compiler wurde verwendet? Ist der m328 ein Arduino m328 Uno? Herzliche Grüße Hp. Roth
@ Rothhp (Gast) >Ich würde dieses Projekt gerne nachbauen um die Fühler auszulesen. Naja, ich kann ein anderes Projekt anbieten, welches diese Sensoren ausliest und alle internen Daten anzeigen kann. Es arbeitet mit einem Arduino deiner Wahl. Beitrag "Re: Onewire + DS18x20 Library"
Rothhp schrieb: > Bei Meiner Heizungssteuerung JBR-1 von > Thematronic werden die Fühler ebenfalls nicht an der 64Bit Adresse > unterschieden, sondern an einem für mich noch nicht nachvollziehbaren > System. Der DS18B20 kann auch noch ein paar Nutzerdaten ins EEPROM schreiben, wenn auch nur zwei Bytes (Byte 2 und Byte 3, Datenblatt S. 7). Die kann man auch zur Identifizierung nehmen, wenn man das will.
Falk B. schrieb: > Naja, ich kann ein anderes Projekt anbieten, welches diese Sensoren > ausliest und alle internen Daten anzeigen kann. Der Vorteil bei meinem Projekt ist halt, dass man mittels ir beliebig Positionen löschen oder umsortieren kann, ohne neu programmieren zu müssen. Wenn dein Projekt das auch kann, ist meines überflüssig. Ich hab mir deins natürlich auch angeschaut. Sowas habe ich nicht gefunden. Rothhp schrieb: > Gibt es dazu Schaltpläne und eine Stückliste? Welcher Compiler wurde > verwendet? Ist der m328 ein Arduino m328 Uno? Schaltpläne/Stückliste wäre hier oversized. Es braucht einen Uno, einen ca. 4k-Widerstand als pullup für die ds, einen ir-Empfängerbaustein, ein i2c-lcd. Ich habe zwei unos, die miteinander kommunizieren. Der eine sitzt an der Heizung, steuert diese, misst temperaturen, Stromverbrauch, Wärmeerzeugung und und überträgt diese Daten an den Uno im Flur der das ganze graphisch aufbereitet und Schaltbefehle sammelt und weitergibt. Ich stell den weiterverbesserten code am WE noch einmal in einem gestrafften Projektordner zusammen und stell ihn hier ein. Compiler ist winAVR mit aktueller toolchain. Alles andere ist mir zu langsam. Du kannst den Code aber auch mit jedem anderen Compiler verwenden, da ich mich inzwischen um Einhaltung der c-Konventionen bemühe.
@Karl K. (leluno) >Der Vorteil bei meinem Projekt ist halt, dass man mittels ir beliebig >Positionen löschen oder umsortieren kann, ohne neu programmieren zu >müssen. Das war gar nicht die Aufgabe. "Ich würde dieses Projekt gerne nachbauen um die Fühler auszulesen."
hier noch mal eine erheblich geänderte neue Version. IR läuft jetzt über Interrupt. Bei Verwendung von D7 für den ds1820 und D2 für den ir-Empfänger müsste das Projekt auf Anhieb laufen. Angepasst werden müssen natürlich die Werte für die Tastenbelegung der FB in irint.h. Benötigt werden - fb_ok für Aufruf/Schließen des Menus - fb_up/down zum Selektieren der Sensorposition im eep - fb_left/right zum Selektieren des Sensors - fb_raute zum löschen des selektierten eep-werts - fb_stern zum speicher des selektierten Sensors an der selektierten eep-Stelle
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.