I2C Device-Adressen-Problem
Beim Anschluss des GY80 Modul mit den Sensoren 3G4200D, ADXL345, HMC5883L, BMP085 an den I2C Bus des Mega (nicht an einen Nano zur Vorverarbeitung) ergibt sich bei mir ein Adr.-Konflikt mit dem (bei mir eingebauten) RTC Modul DS1307 und dem Gyro L3G4200 auf dem GY80.
Im Detail haben meine Recherchen folg. zu den IMU GY80 I2C Device-Adr. ergeben:
- Compass HMC 5883 ........ Adr. 1E Hex
- Barometr.+Temp. BMP 085 .. Adr. 77 H
- Gyro L3G3200 ............. Adr. 69 H
- Accelerom. ADXL345 ....... Adr. 53 H
dazu kommt am I2C Bus noch
- LCD 2004 ................. Adr. 3F
- RTC DS1307 ............... Adr. 68 + 50
Bei meinen I2C Scan-Tests sehe ich bei dem Gyro L3G4200 die Dev-Adresse bei 68 (Hex), die dann mit dem RTC kollidiert. Eigentlich müsste die Dev-Adr. des Gyro bei 69 liegen. Dazu habe ich folgende Info gefunden:
Wobei die 1101001 = 69 (Hex) ist wenn SD0 am Chip auf VCC (3,3V) liegt. Liegt SD0 auf 0V d.h. LSb=0 dann ist die Dev-Adr. bei 68 (Hex). Dach dem Schalbild liegt SD0 auf High-Level - also müsste die Dev-Adr. 69 Hex sein.
Wer hat hierzu Erfahrung und kann helfen?
..
Beim Anschluss des GY80 Modul mit den Sensoren 3G4200D, ADXL345, HMC5883L, BMP085 an den I2C Bus des Mega (nicht an einen Nano zur Vorverarbeitung) ergibt sich bei mir ein Adr.-Konflikt mit dem (bei mir eingebauten) RTC Modul DS1307 und dem Gyro L3G4200 auf dem GY80.
Im Detail haben meine Recherchen folg. zu den IMU GY80 I2C Device-Adr. ergeben:
- Compass HMC 5883 ........ Adr. 1E Hex
- Barometr.+Temp. BMP 085 .. Adr. 77 H
- Gyro L3G3200 ............. Adr. 69 H
- Accelerom. ADXL345 ....... Adr. 53 H
dazu kommt am I2C Bus noch
- LCD 2004 ................. Adr. 3F
- RTC DS1307 ............... Adr. 68 + 50
Bei meinen I2C Scan-Tests sehe ich bei dem Gyro L3G4200 die Dev-Adresse bei 68 (Hex), die dann mit dem RTC kollidiert. Eigentlich müsste die Dev-Adr. des Gyro bei 69 liegen. Dazu habe ich folgende Info gefunden:
In I²C mode, the gyro’s 7-bit slave address has its least significant bit (LSb) determined by the voltage on the SDO pin. The carrier board pulls SDO to VDD through a 10 kΩ resistor, making the LSb 1 and setting the slave address to 1101001b by default. If the gyro’s selected slave address happens to conflict with some other device on your I²C bus, you can drive SDO low to set the LSb to 0.
Wobei die 1101001 = 69 (Hex) ist wenn SD0 am Chip auf VCC (3,3V) liegt. Liegt SD0 auf 0V d.h. LSb=0 dann ist die Dev-Adr. bei 68 (Hex). Dach dem Schalbild liegt SD0 auf High-Level - also müsste die Dev-Adr. 69 Hex sein.
Wer hat hierzu Erfahrung und kann helfen?
..