Read 4 or more load sensor with I2C interface

Hello,
With an arduino pro mini, I want to read with I2C 4 (or more ?) load sensors with wheatstone bridge (with HX711?).
Do you have an idea about the component can I use between the arduino and the load sensors ?

HX711 Module comes with an amplifier and 24-bit Serial ADC. Arduino does not use I2C bus to communicate; rather, it uses different customized communication protocol.

The following setup may be helpful for you to know how to connect your load sensor with HX711 Module and then HX711 with UNO.
hx711LoadCellX

I search a component with I2C interface to put between hx711 sensors (4 or more) and the arduino

I have not heard of that. It it exists, then it might be just as expensive as a processor.
Which problem do you want to solve ?

I'm afraid that you want to use the I2C bus to put cables to every level of a windmill, or something similar. Suppose that you want make scales to weigh bags of grain in a number of different places about a few meters apart and read the data with a single Arduino board. Then you can put an Arduino board at each scale and use RS-485 communication between the boards.

1 Like

I want to read 4 (or more) load sensors with just 4 wires (power included), like a MUX but just with 4 wires between the MUX and the arduino

Maybe use a few MUX ICs?
(74HCT4066 or 74HCT4051? They're 'analog', but I've seen them used in digital signal applications.)

I2C is only for short distances.
20 cm works reliable. If you go beyond 1m wire-length you have to take special cables with low wire-capacitance and it might be still not reliable.

Or you use special long distance I2C-tranceivers where you would need a pair of these tranceiver-chips for each load-cell.

You should describe your final application. If your real application is known
good suggestions can be made to read in multiple load-cells.

For longer distances the usual serial interface or RS485 is well suited.

if your real problem is that you need more IO-pins for other things you should describe the purpose of these other IO-pins.
If these other IO-Pins are simply switching on / off something the much better choice would be to use an 16bit I2C-IO-expander for those other IO-pins.

best regards Stefan

1 Like

With a 74HCT4051 we need more than 4 wires : 2 wires to choose the channel + 2 wires for the power (GND, 3V3) + 2 wires for clk and DT
So 6 wires (I'm wong?).

It's a connected beescale. For at least 16 scales, meteo sensor and lora connection.

The SCLK (A0) could go to them all, I think, provided there's fanout enough.
You'd have to provide select lines where you'd be choosing which SDATA to allow through.

What distances do you have between the bee-boxes?
What is a meteo-sensor?

box to HX711 : 1m. But if it is possible for more distance (like 5m) it's better

BME280

You are talking about 4 or more load-cells.

If I understand right you have 4 or more bee-boxes.
What is the distance between the bee-boxes?

Bee-box1---------how many meters?-----bee-box2--------how many meters?----bee-box 3

Something like this

Arduino ----1m----MUX0----HX711_0
                     |----HX711_1
                     |----HX711_2
                     |----HX711_3
|-----------1m----MUX1----HX711_4
                     |----HX711_5
                     |----HX711_6
                     |----HX711_7
|-----------1m----MUX2----HX711_8
                     |----HX711_9
                     |----HX711_10
                     |----HX711_11
|-----------1m----MUX3----HX711_12
                     |----HX711_13
                     |----HX711_14
                     |----HX711_15

And 4 wires between Arduino and MUX.
A solution ?
A solution for more than 1m (like 2m or 5m ?) ?
Other solution with electric cable of 4 wires ?

Hello jefapi

Hello

Take a search engine of your choice and ask the WWW for 'multiple hx711 +arduino' to collect some data to be sorted out to get the needed information.

Have a nice day and enjoy coding in C++.

Does each beehive have 4 load cells, one in each corner ? Then you need a single HX711 per beehive.

We have had this question a couple of times on this forum. The I2C bus is not a bus where you can put data in at one end and it comes out at the other end. It is not that kind of "bus". The I2C bus was not designed to go through a cable.

For a expandable project, you need a Arduino at each beehive and RS-485 for the communication.

I want a total of 16 full wheatstone bridges (4 wires).

How to make something like this with 16 weight sensors ?

will the HX711_0 until HX711_3 be placed under one bee-hive?
Which means 4 load-cells measure the weight of one bee-hive?
or
do you use only a single load-cell for each bee-hive?

Arduino ----1m----MUX0----HX711_0    bee-hive 1
                     |----HX711_1    bee-hive 2
                     |----HX711_2    bee-hive 3
                     |----HX711_3    bee-hive 4
|-----------1m----MUX1----HX711_4    bee-hive 5
                     |----HX711_5    bee-hive 6
                     |----HX711_6    bee-hive 7
                     |----HX711_7    bee-hive 8
|-----------1m----MUX2----HX711_8    bee-hive 9
                     |----HX711_9   bee-hive 10
                     |----HX711_10  bee-hive 11
                     |----HX711_11  bee-hive 12
|-----------1m----MUX3----HX711_12  bee-hive 13
                     |----HX711_13  bee-hive 14
                     |----HX711_14  bee-hive 15
                     |----HX711_15  bee-hive 16




Arduino ----1m----MUX0----HX711_0----bee-hive 1
                     |----HX711_1----bee-hive 1
                     |----HX711_2----bee-hive 1
                     |----HX711_3----bee-hive 1
                     |
|-----------1m----MUX1----HX711_4----bee-hive 2
                     |----HX711_5----bee-hive 2
                     |----HX711_6----bee-hive 2
                     |----HX711_7----bee-hive 2
                     |
|-----------1m----MUX2----HX711_8------bee-hive 3
                     |----HX711_9------bee-hive 3
                     |----HX711_10-----bee-hive 3
                     |----HX711_11-----bee-hive 3
                     |
|-----------1m----MUX3----HX711_12----bee-hive 4
                     |----HX711_13----bee-hive 4
                     |----HX711_14----bee-hive 4
                     |----HX711_15----bee-hive 4

As each MUX has a distance of 1m does this mean that
the total distance of:

  • MUX2 is 2m
  • MUX3 is 3m
  • MUX2 is 4m
    ?
    or does it mean you have a star-topology
    each MUX is 1 m away from the Arduino but into a different direction

                   MUX2
                    |
                    |
                    1m
                    |
MUX1-----1m-----Arduino----1m-------MUX3
                    |
                    |
                    1m
                    |
                    |
                   MUX4

best regards Stefan

Do you want 16 load cells per beehive or 16 load cells in total ?

With a load cell, I'm thinking of these: Load Sensor - 50kg (Generic) - SEN-10245 - SparkFun Electronics

Sparkfun has a I2C device for load cells: https://www.sparkfun.com/products/15242
But you can not lay down cables to your beehives and use I2C in that cable. The I2C bus is not that kind of "bus".