2 BNO055 sensors connected to one arduino

6 views (last 30 days)
Hey there! I'm doing a wearable project. I'm using an Arduino Uno Board that is connected to two BNO055 sensors (I have already done the code in arduino). I am using I2C protocol in order to have both sensors connected to just one arduino board. Now what I want to do is to receive the data from both sensors (that will tell me the coordinates of each one). However, since I am using I2C protocol, I guess tha code will be different from the usual. It is important to say that one of the first things is to calibrate the sensor and during this moment and even after the sensors being calibrated, I want to receive data from the sensors. Anyone can help me giving me some ideas/advices?
I start doing this:
ard = arduino('COM3','Uno','Libraries','I2C');
ardUnoA = i2cdev(ard, '0x28');
ardUnoB = i2cdev(ard, '0x29');
calFinishedA = 0;
calFinishedB = 0;
calString = 'Done';
  2 Comments
Christina Kaufmann
Christina Kaufmann on 4 Sep 2018
Hoi! Am also working with 2 BNO055 Arduino Sensors on an Arduino Uno. But am transfering data to Unity 3D and not MatLab, coding language based on c#. Can send you the code I found to work with one Sensor, Unity and Arduino communicate well. Have not yet sucessfully collected data from 2 BNO055 yet. Did you use a breakout board? Would you share a hint of how you successfully connected them both or even a bit of the source code? Would be very glad. Am a student in physiotherapy and only started out coding for a research project in our motion lab. Thanks, kind regards, Tina
Patrícia Falcão
Patrícia Falcão on 30 Sep 2018
Edited: Patrícia Falcão on 30 Sep 2018
I am using I2C protocol in order to use 2 sensors and one arduino board. I2C gives a different address to each sensor, so you can use both in just one arduino. BNO055 has a special pin that make the address different. You just have to connect it (it is in adafruit website, section "pinouts") and then write e a little bit of code in order to have both connected to the arduino. The first lines in Arduino code are like this:
Adafruit_BNO055 bnoA = Adafruit_BNO055(55, 0x28); /* A Sensor Address */
Adafruit_BNO055 bnoB = Adafruit_BNO055(56, 0x29); /* B Sensor Address */

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!