Hallo,
als Anfänger habe ich gleich mal mit der Nutzung des I2C Bus für zwei Baros angefangen und bin jetzt nicht in der Lage, beide Sensoren anzusprechen. Es handelt sich um die BME280 (oder BMP280, ist anscheinend nicht so eindeutig) Einer ist regulär auf 0x77 und einer ist über SDO=high auf 0x76.
Werte kommen grundsätzlich immer nur von dem, dessen SDO auf high gezogen wird, also von der kleineren Adresse. Damit ist auch gesagt, dass beide OK und korrekt verdrahtet sind. Deshalb unterstelle ich, dass der Bus immer nur auf der kleinsten Adresse abgefragt wird.
Aber wie kann ich die Anfrage auf individuelle Sensoren bzw I2C-Adressen richten? Den Befehl finde ich nirgends bzw. nicht in einer Form, die der Compiler akzeptiert.
Der Sketch ist eine leicht variierte Form des Adafruit-BMP280 Test-Sketches (in der Anlage) und ich verwende die Adafruit_BMP280.h - im Prinzip fehlt mir nur der Befehl für die konkrete Adressierung der jeweiligen Hex-Adresse.
Was ich nicht versuchen möchte, ist die Register der Sensoren direkt anzusprechen, dafür habe ich ja die Library. Die unter "define" genannten Adressvariablen sind so aus Dieser übernommen, um keine "Übersetzungsprobleme" zu bekommen.
Für den kompetenten Tip schon mal vorab vielen Dank!
Gruß carsten
2BME280_3Versuch.ino (2.5 KB)