I2C Adressenkonflikt RTC und Co2

Hallo,

habe eine RTC DS1307 mit 0x68 Adresse und einen Co2Sensor K22 von Senseair auch mit 0x68 Adresse.
Wie kann ich jetzt beide mit einem Uno zum Kommunizieren bringen?
In der Anleitung ist auf Seite 7 von Senseair ist beschrieben, dass man auch 0x7F (Adress of any sensor) verwenden kann.
Habe es getestet, aber nach ca. 1-2 min fängt die Uhr an zu "spinnen".

Wenn nur die RTC am Uno angeschlossen ist und ich einen i2C Scanner laufen lasse, bekomme ich zwei
Adressen 0x68 und 0x50.

Kann mir bitte jemand Hilfestellung geben.

Vielen Dank!

I2C_comm_guide_2_1031.pdf (822 KB)

jack48:
Wenn nur die RTC am Uno angeschlossen ist und ich einen i2C Scanner laufen lasse, bekomme ich zwei
Adressen 0x68 und 0x50.

Kann mir bitte jemand Hilfestellung geben.

Vielen Dank!

Das liegt daran das auf dem RTC auch noch ein Eprom untergebracht ist das natürlich eine eigene Adresse hat.

0x00 to 0x7F

Address is configured in EEPROM.
Default address after production is 0x68
“Any sensor” address is 0x7F.
Sensor answers on data transfers with this address
disregarding configured sensor address.

Klingt so als könnte man das selbst konfigurieren. 0x68 ist nur die Standart Adresse.

Gruß

Im CO2 Sensor umstellen. Die Adresse steht dort im Eeprom.

0x00 - 0x7F

Am besten beim Hersteller anfragen.

Oder Table 15 I2C address lesen: "Sensor address is stored in EEPROM and is copied to RAM at sensor start. In order to change I2C address it’s necessary to write value to EEPROM and power down and then power up the sensor"

Danke für Eure Hilfestellung, mail an an den Hersteller ist raus, leider sitze ich an einem mac und kann
die Software für den Sensor nicht installieren, da ich kein Windows kaufen möchte.
Wine kann die Software nicht installieren.
Werde wahrscheinlich mir einen zweiten Arduino zulegen um das Adressproblem zu umgehen.

Gibt es ein RTC Modul mit einer anderen Adresse als 0x68, hab bis dato nix gefunden?

Gruss

jack48:
Gibt es ein RTC Modul mit einer anderen Adresse als 0x68, hab bis dato nix gefunden?

Es gibt RTC-Module, die überhaupt nicht mit I2C als Interface arbeiten.

Z.B. die DS1302 RTC mit 3-Wire-Interface:
http://playground.arduino.cc/Main/DS1302

Es gibt auch noch I2C Multiplexer.
Damit kann man solche Adresskonflikte aushebeln.

Alternativ geht auch ein DS3234 von MAXIM. Aber ich sehe das Problem hier nicht. Laut Datenblatt wird es ja gezeigt, dass man die I2C Adresse anpassen kann. Beschäftige dich mit I2C, wie man was wie schickt.

Dank an Euch für die RTC Varianten.

@sschultewolter
Was genau meinst Du mit "wie man was schickt"?
Da ich ein Neuling bin sagt mir das recht wenig.

Vielen Dank!