0
\$\begingroup\$

I have interfaced one SDP610 Pressure Sensor using I2C with Arduino Uno R3. Now I want to Interface more than one sensor with same controller(uno board). I don't find any higher or lower address in my sensor datasheet. In my code address of sensor is

typedef enum { eSDP6xAddress = 0x40, //(64) } PRES_SENSOR_P;

The I2C address consists of a 7-digit binary value. By default, the I2C address is set to 64 (binary: 1000 000).The address is always followed by a write bit (0) or read bit (1). The default hexadecimal I2C header for readaccess to the sensor is therefore h81.

from section 3.2 in the SDP610 datasheet

Is there any chances to change the address of SDP610 sensor and its possible to interface with same I2C bus?

\$\endgroup\$

2 Answers 2

0
\$\begingroup\$

You can not change the I2C slave address in this sensor. It's hard-wired inside.

If you want to have several of these sensors, you have these options:

  1. Create a separate I2C buses. One of them can be bit-banged.
    [Having said that, I don't know how well the Arduino libraries can support this.]
  2. Multiplex the I2C bus. If you connect one SDP610 at a time, there will be no address collision.
  3. Use an I2C address translator.

Related threads
i2C multiplexer to use multiple sensor of the same type
How to connect multiple of the same device to an Arduino using I2C?

\$\endgroup\$
2
1
\$\begingroup\$

According to this question on the Raspberry Pi Stack Exchange, the SDP610 can have its I²C address reprogrammed, but the manufacturer does not release those details publically, due to the possibility of destroying the device if this is done incorrectly:

Multiple differential air pressure sensors using I²C bus?

If you don't want to (or cannot) follow that process, then there are several previous questions here which explain the use of I²C multiplexors, switches, and address translators - all of which can allow you to use multiple sensors with the same I²C address, with varying degrees of effort and cost e.g.:

How to resolve I2C address clashes?

How to connect multiple of the same device to an Arduino using I2C?

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.