I am working on a project, which uses 2 Arduinos to measure the voltage value of 8 load cells (each arduino is in charge of 4 load cells) and remotely send the data to the computer for further analysis. I am thinking of using 2 Arduino Nano 33 BLE. My idea is either directly connect them to the PC via Bluetooth module or connect these 2 Arduino together first and using one of them to communicate with the computer. I just wanna check if this is doable since I just started my exploration using Arduino.
which uses 2 Arduinos to measure the voltage value of 8 load cells (each arduino is in charge of 4 load cells)
Bad idea.
Using two Arduinos is a bad idea 90% of the time and is a typical beginners mistake. It looks like you are doing so just because you need more analogue inputs. If that is the case then a simple analogue multiplexer would get over that problem and prevent the many more problems you get from using two processors.
rickhan:
My idea is either directly connect them to the PC via Bluetooth module
Another bad idea. You are simply moving the problem to the PC, where it will be more difficult to fix. This presupposes you really have a problem. You may not. see reply #1.
I have a humanoid robot and I need to put 4 load cells under each foot of the robot and remotely send the data of the load cells from both feet to my PC for state estimation.
Each load cell will be connected to a HX711 chip, which is an ADC and it sends signal to Arduino via 2 digital pins for each load cell (8 total for each foot). The HX711 chip's operating voltage range is 2.6 ~ 5.5V, and this voltage should also be fine for my load cells.
The reason I consider using Nano 33 BLE is because it is small and light, which is not too heavy for robot to carry. In addition, it has embedded bluetooth module.
Can you guys give me some suggestions on my project if my original thought is a bad idea?
No comment on the robot stuff, but it seems that your only problem is that you want more analogue pins than Nano delivers. Two solutions are:
multiplexer as noted in reply#1
use an Arduino with more analogue pins - like a Pro Mega, which is a bit larger, but hardly any heavier, and has more analogue pins than I have ever bothered to count. It is 5v.
Having an Arduino with on-board Bluetooth is a nice idea, but it doesn't mean that you cannot add a bluetooth to any other Arduino - $3.50.
The last thing you want to do is have two Arduinos talking to PC via Bluetooth. Having one Nano with BLE talking to PC, and relaying data from the other Nano BLE as well, is open to discussion, but it may be the second last thing you want to do.
Nick_Pyner:
but it seems that your only problem is that you want more analogue pins than Nano delivers.
As said, the HX711 has DIGITAL outputs, so you don't need ANY analogue inputs.
Just a coincidence that some HX711 examples use the analogue pins as digital I/O.
The boards can share the clock signal, so in theory (never tried it) nine pins (analogue or digital) are needed for eight HX711 boards.
There is a HX711-multi library.
rickhan:
The HX711 chip's operating voltage range is 2.6 ~ 5.5V, and this voltage should also be fine for my load cells.
No.
As said, HX711 BOARDS (not the chip) MUST operate on a 5volt supply,
because of the regulated 4.25volt excitation voltage the BOARD (not the chip) has to make for the load cells.
Leo..
So there really isn't a comms problem at all? Christalmighty, there's me often complaining that people don't read the question and, now I look at it, OP never said he was short of analogue pins, it was the other guy. Maybe he is short of digital pins - for some other reason.
I think my previous question was not clear. Sorry about that. The importance thing for me is to have 2 separate Arduinos read the data from left and right foot of the robot. Because the robot is walking around all the time, it is not possible or convenient to connect all the 8 load cells to one Arduino board using wires (4 load cells under each foot).
Nick_Pyner:
No comment on the robot stuff, but it seems that your only problem is that you want more analogue pins than Nano delivers. Two solutions are:
use an Arduino with more analogue pins - like a Pro Mega, which is a bit larger, but hardly any heavier, and has more analogue pins than I have ever bothered to count. It is 5v.
First the output is digital signal and no matter it is Nano 33 BLE or Uno or Mega, the digital pins are enough for 4 load cells. (As I explained above 4 load cells per board)
Wawa:
As said, HX711 BOARDS (not the chip) MUST operate on a 5volt supply,
because of the regulated 4.25volt excitation voltage the BOARD (not the chip) has to make for the load cells.
Leo..
I agree with this comment as I checked online. I think I can solve this by using a voltage divider to divided the voltage for both supporting the HX711 board and arduino Nano 33 BLE. If this is not feasible, I can also use regular Nano together with a HC-05 bluetooth module since the operation voltage is 5v for them.
My original question was inquiring the feasibility of connecting 2 bluetooth boards (either 2 Arduino Nano 33 BLE or 2 Nanos with 2 HC-05s) to the computer or communicate between these two boards first and send data to PC with one of them. Please let me know if this is feasible.
rickhan:
My original question was inquiring the feasibility of connecting 2 bluetooth boards (either 2 Arduino Nano 33 BLE or 2 Nanos with 2 HC-05s) to the computer
Perhaps I wasn't eloquent enough in reply#3. The feasibility actually depends on your ability to find, or write yourself, a PC programme that can handle two Bluetooth channels simultaneously.
or communicate between these two boards first and send data to PC with one of them.
When I said "open to discussion" above, it is because I don't know anything about BLE, other than that:
it is more versatile than HC-0x.
it is not very suitable for data transfer, which is what you are doing.
Taking your stated justification for two Arduinos at face value, a few options spring to mind:
use two of the ESP8266 family instead, for an on-board WiFi conversation, and a single WiFi data stream to PC
one Arduino has two blueteeth, one for the other, and one for PC
both Arduino have one bluetooth but one is reconfigured on the fly so that it can talk to the other and PC in turn.
Arduinos use NRF24s for their conversation, and one has Bluetooth to talk to PC.