INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zuordnung von DS18B20 Adressen
25.10.2015, 14:09
Beitrag #17
RE: Zuordnung von DS18B20 Adressen
(25.10.2015 14:05)Bitklopfer schrieb:  @Binatone, das mit der Reihenfolge ist wohl richtig, aber ich meine man kann auch gezielt einen Sensor unter angabe der Adresse abfragen ? Das wäre ja das Ziel der Geschichte.
lgbk

weis nicht... ?
Kann man das ?

Dann würde ich mein ganzes Dingen nochmal überarbeiten...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 14:43
Beitrag #18
RE: Zuordnung von DS18B20 Adressen
(25.10.2015 14:09)Binatone schrieb:  
(25.10.2015 14:05)Bitklopfer schrieb:  @Binatone, das mit der Reihenfolge ist wohl richtig, aber ich meine man kann auch gezielt einen Sensor unter angabe der Adresse abfragen ? Das wäre ja das Ziel der Geschichte.
lgbk

weis nicht... ?
Kann man das ?

Dann würde ich mein ganzes Dingen nochmal überarbeiten...

laut Dallas Datenblatt DS18B20 geht das, hier ein Auszug:
MATCH ROM [55h]
The match ROM command followed by a 64-bit ROM code sequence allows the bus master to address a specific slave device on a multidrop or single-drop bus. Only the slave that exactly matches the 64-bit ROM code sequence will respond to the function command issued by the master; all other slaves on the bus will wait for a reset pulse.

Jetzt muß man nur noch herausfinden welche Lib-Funktion das umsetzt...Big Grin
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 15:34
Beitrag #19
RE: Zuordnung von DS18B20 Adressen
(25.10.2015 14:05)Bitklopfer schrieb:  @Binatone, das mit der Reihenfolge ist wohl richtig, aber ich meine man kann auch gezielt einen Sensor unter angabe der Adresse abfragen ? Das wäre ja das Ziel der Geschichte.
Hä? Es geht doch eigentlich nur unter Angabe einer Adresse, oder?
Die search-Methode liefert die Adressen, aber zur Abfrage selbst braucht man die Adresse.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 15:43 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2015 15:57 von Jelimi.)
Beitrag #20
RE: Zuordnung von DS18B20 Adressen
genau das ist ja der Punkt, da sich die Reihenfolge des Einlesens mit der Änderung bzw. der Neueinrichtung eines Sensors ändert muss man zwangsläufig mit DeviceAdress den Sensor eindeutig zuordnen. Alles andere wäre ja absolut fatal gerade bei einer Heizungssteuerung. Denn genau damit hab ich am Anfang auch Probleme gehabt. Wenn sich nie ein Sensor ändert ist die Reihenfolge des Einlesens wohl immer die gleiche, aber mit der eindeutigen Zuordnung kann ich jederzeit einen Sensor wechseln, ihn neu andressieren und er wird eben eindeutig einem bestimmten Platz zugeordnet.
Es geht nicht, alle einlesen und zu sagen so der dritte ist der auf dem Dach.

zur Verdeutlichung so lese ich ein, ich habe die Dachsensoren und Kellersensoren auf zwei Pins liegen, daher zweimal.

DS18B20_Dach.requestTemperatures();
DS18B20_Keller.requestTemperatures();

uns so wird zugeordnet, sind zwar ziemlich viele, aber das würde nie ohne direkte Zuordnung gehen

KellerTemp[0] = DS18B20_Keller.getTempC(Keller_0);
KellerTemp[3] = DS18B20_Keller.getTempC(Keller_3);
VorlaufTemp[0] = DS18B20_Keller.getTempC(Vorlauf_Fussboden);
VorlaufTemp[1] = DS18B20_Keller.getTempC(Vorlauf_Radiator);
VorlaufTemp[3] = DS18B20_Keller.getTempC(Vorlauf_Radiato);
KellerNeuTemp[0] = DS18B20_Keller.getTempC(KellerNeu_0);
KellerNeuTemp[1] = DS18B20_Keller.getTempC(KellerNeu_1);
KellerNeuTemp[2] = DS18B20_Keller.getTempC(KellerNeu_2);
KellerNeuTemp[3] = DS18B20_Keller.getTempC(KellerNeu_3);
DachTemp[0] = DS18B20_Dach.getTempC(Dachboden_0);
DachTemp[1] = DS18B20_Dach.getTempC(Dachboden_1);
DachTemp[2] = DS18B20_Dach.getTempC(Dachboden_2);
DachTemp[3] = DS18B20_Dach.getTempC(Dachboden_3);
DachTemp[4] = DS18B20_Dach.getTempC(Dachboden_4);
DachTemp[5] = DS18B20_Dach.getTempC(Dachboden_5);
DachTemp[6] = DS18B20_Dach.getTempC(Dachboden_6);
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 16:07
Beitrag #21
RE: Zuordnung von DS18B20 Adressen
Aber wo ist das Problem? Du kannst doch jederzeit ändern, was z.B. in Keller_0 steht.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 16:35
Beitrag #22
RE: Zuordnung von DS18B20 Adressen
(25.10.2015 15:34)Thorsten Pferdekämper schrieb:  Hä? Es geht doch eigentlich nur unter Angabe einer Adresse, oder?
Die search-Methode liefert die Adressen, aber zur Abfrage selbst braucht man die Adresse.
Gruß,
Thorsten


Es gibt wohl verschiedene Methoden.

Hier werden alle Sensoren gleichzeitig angesprochen:


sensors.requestTemperatures(); // Temperatursensor(en) auslesen

for(byte i=0;i<sensors.getDeviceCount();i++){ // Temperatur ausgeben

show_temperature(i+1,sensors.getTempCByIndex(i));

}

Und dann wird eben in der For Schleife der Reihe nach abgearbeitet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 16:45
Beitrag #23
RE: Zuordnung von DS18B20 Adressen
@Binatone
genau das geht eben nicht man kann nicht nach index einlesen, weil sich die Reihenfolge der Sensoren ändern kann.
@Thorsten
das Problem liegt da, das ich nicht jederzeit ändern kann.
Die Zuordnung
DeviceAddress Keller_0 = {0x28, 0x7E, 0x09, 0x8E, 0x04, 0x00, 0x00, 0x34};
kann ich nur im Kopf des Programmes machen vor der void setup sonst bekomme ich Fehler.
Wenn ich aber in der setup Daten einlese (z.b. 0x28,0x00,0x00.......) und diese dann der DeviceAdress Keller_0 zuordnen möchte geht das nicht, da bekomme ich Fehler beim Kompilieren
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.10.2015, 16:50
Beitrag #24
RE: Zuordnung von DS18B20 Adressen
(25.10.2015 16:45)Jelimi schrieb:  DeviceAddress Keller_0 = {0x28, 0x7E, 0x09, 0x8E, 0x04, 0x00, 0x00, 0x34};
kann ich nur im Kopf des Programmes machen vor der void setup sonst bekomme ich Fehler.
Dann zeig' doch mal Dein Coding, das den Fehler erzeugt.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  DS18B20 - Zeit beim Auslesen verkürzen? ArduPI 3 1.354 09.01.2015 19:00
Letzter Beitrag: ArduPI
  Arduino UNO + DS18B20+ Temperaturschaltung robin 13 6.545 06.02.2014 19:47
Letzter Beitrag: robin
  Scanner für I2C-Adressen? alpenpower 2 3.956 11.09.2013 18:39
Letzter Beitrag: alpenpower

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste