The following is Code Written in C/C++ for the Arduino microcontroller to retrieve data from the IMUs on the belt.
#include <SPI.h>#include <Wire.h>#include <Adafruit_LSM9DS0.h>#include <Adafruit_Sensor.h>//#include "SD.h"//#include "RTClib.h"#define LSM9DS0_XC_CS1 22#define LSM9DS0_GYRO_CS 23Adafruit_LSM9DS0 lsm1 = Adafruit_LSM9DS0(LSM9DS0_XC_CS1, LSM9DS0_GYRO_CS);#define LSM9DS0_XC_CS2 24Adafruit_LSM9DS0 lsm2 = Adafruit_LSM9DS0(LSM9DS0_XC_CS2, LSM9DS0_GYRO_CS);#define LSM9DS0_XC_CS3 26Adafruit_LSM9DS0 lsm3 = Adafruit_LSM9DS0(LSM9DS0_XC_CS3, LSM9DS0_GYRO_CS);void setupSensor1(){ lsm1.setupAccel(lsm1.LSM9DS0_ACCELRANGE_2G); lsm1.setupMag(lsm1.LSM9DS0_MAGGAIN_2GAUSS); lsm1.setupGyro(lsm1.LSM9DS0_GYROSCALE_245DPS);}void setupSensor2(){ lsm2.setupAccel(lsm2.LSM9DS0_ACCELRANGE_2G); lsm2.setupMag(lsm2.LSM9DS0_MAGGAIN_2GAUSS); lsm2.setupGyro(lsm2.LSM9DS0_GYROSCALE_245DPS);}void setupSensor3(){ lsm3.setupAccel(lsm3.LSM9DS0_ACCELRANGE_2G); lsm3.setupMag(lsm3.LSM9DS0_MAGGAIN_2GAUSS); lsm3.setupGyro(lsm3.LSM9DS0_GYROSCALE_245DPS);}void setup(){ Serial.begin(9600); Serial.println(F("LSM9DS0 9DOF Sensor Test")); Serial.println(""); if(!lsm1.begin()) { Serial.println(F("Ooops, no LSM9DS0 1 detected ... Check your wiring or I2C ADDR!")); while(1); } else if(!lsm2.begin()) { Serial.println(F("Ooops, no LSM9DS0 2 detected ... Check your wiring or I2C ADDR!")); while(1); } else if(!lsm3.begin()) { Serial.println(F("Ooops, no LSM9DS0 3 detected ... Check your wiring or I2C ADDR!")); while(1); } Serial.println(F("Found all LSM9DS0 9DOF")); setupSensor1(); setupSensor2(); setupSensor3();}void loop() { sensors_event_t accel1, mag1, gyro1, temp1; sensors_event_t accel2, mag2, gyro2, temp2; sensors_event_t accel3, mag3, gyro3, temp3; lsm1.getEvent(&accel1, &mag1, &gyro1, &temp1); lsm2.getEvent(&accel2, &mag2, &gyro2, &temp2); lsm3.getEvent(&accel3, &mag3, &gyro3, &temp3);//sensor1 Serial.print("Sensor1 Accel X: "); Serial.print(accel1.acceleration.x); Serial.print(" "); Serial.print(" \tY: "); Serial.print(accel1.acceleration.y); Serial.print(" "); Serial.print(" \tZ: "); Serial.print(accel1.acceleration.z); Serial.print(" \tm/s^2\t");//sensor2 Serial.print("Sensor2 Accel X: "); Serial.print(accel2.acceleration.x); Serial.print(" "); Serial.print(" \tY: "); Serial.print(accel2.acceleration.y); Serial.print(" "); Serial.print(" \tZ: "); Serial.print(accel2.acceleration.z); Serial.print(" \tm/s^2\t");//sensor3 Serial.print("Sensor3 Accel X: "); Serial.print(accel3.acceleration.x);Serial.print(" "); Serial.print(" \tY: "); Serial.print(accel3.acceleration.y); Serial.print(" "); Serial.print(" \tZ: "); Serial.print(accel3.acceleration.z); Serial.println(" \tm/s^2\t"); }