Correct Address Not Recognized When Multiple I2C Devices Are Connected to Raspy

Asked 2 years ago, Updated 2 years ago, 63 views

Excuse me for asking you the first question.

Currently, I would like to use Akizuki's VL53L0X for one RaspberryPi.This ToF distance sensor has an I2C address of "29" and cannot be changed hard.
Now, we can connect the two devices one at a time to read the values and see how the XSHUT terminals work.

However, when two are connected in parallel, the following unlikely addresses are recognized regardless of whether XSHUT is on or off:Also, the recognized address changes every time you try.

pi@raspberrypi4:~$i2cdetect-y1
     0 1 2 3 4 5 6 7 8 9 ab c de f
00:0304--06----09--0b0c--0e0f 
10:10 11 -- 13 14 15 -- 17 18 -- -- 1c 1d -- 
20:20 ----232425 ------292a2b2c ----2f 
30:----3233--35----38393a----3d---- 
40:------------------------------------------------------------------4f 
50: -- -- -- -- -- 55 -- 5758 -- 5a 5b -- 5d 5e -- 
60: -- -- -- -- -- -- 6768 -- -- -- 6b -- 6d 6e -- 
70: 70 -- 72 73 74 75 76 77  

pi@raspberrypi4:~$sudo i2cdetect-y1
     0 1 2 3 4 5 6 7 8 9 ab c de f
00:0304 --06 07 08 09 --0b ---- 
10:10 11 12 13 14 15 16 17 --191a 1b ------1f 
20:------22--24------28292a2b----2e-- 
30:30 -- 3233 -- -- -- 3839 -- 3b 3c 3d 3e -- 
40:--414243--45-------------------------------------------------------------------- 
50:--515253--55--57585a--5c---- 
60:----------63 64 65 66 67--69--6b--6d--6f 
70: 70 -- 72 73 -- -- -- --  

Please tell me how to resolve this situation.

Environment:
Raspberry Pi 4 (4GB) OKdo version (purchased from RS components)

No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release—10
Codename:buster
pi@raspberrypi4:~$uname-a
Linux raspberrypi4 5.4.72-v7l+#1 SMP Mon Oct 26 10:56:14 JST 2020 armv7l GNU/Linux

raspberry-pi i2c

2022-09-30 19:56

2 Answers

1) Turn off one sensor (called "Sensor A") and change the I2C address of the other sensor (called "Sensor B").
2) Power on sensor A and change the I2C address of sensor A
To do this without powering down the raspies, you must work with sensor A to power on and off the raspies.

For example, a power regulator IC with a control terminal such as NJM2865 allows the AE-VL53 LOX (Sensor A) power to be turned on/off at the GPIO signal (GPIO-XX) (I2C signal omitted)

Enter a description of the image here

Then, with raspies

Now that the two sensors have different I2C addresses, you can control both sensors freely from the raspies.

The power regulator can be anything with a control terminal and a low loss type with an output voltage of 3.3V (with an input of 5V it can output 3.3V of 3.3V).
As it happened to be in the parts box, I would recommend the IC with the lead as it is difficult to handle.


2022-09-30 19:56

If it's I2C, you can gate it to only supply SCL-enabled devices


2022-09-30 19:56

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.