#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu1;
Adafruit_MPU6050 mpu2;
void setup(void) {
Serial.begin(115200);
while(!Serial)
delay(20);
if(!mpu1.begin()){
while(1){
delay(20);}
}
if(!mpu2.begin()){
while(1){
delay(20);}
prepareMPU(mpu1);
prepareMPU(mpu2);
Serial.println("");
delay(100);
}
}
unsigned long lastPrint = 0;
void loop() {
if (millis() - lastPrint >= 1000) {
lastPrint = millis();
printMPUData(mpu1, '1');
printMPUData(mpu2, '2');
}
}
void prepareMPU(Adafruit_MPU6050 &mpu) {
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}
void printMPUData(Adafruit_MPU6050 &mpu, char c) {
/* Get new sensor events with the readings */
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
/* Print out the values */
Serial.print(millis());
Serial.print('\t');
Serial.print(c);
Serial.print('\t');
Serial.print(a.acceleration.x);
Serial.print(",");
Serial.print(a.acceleration.y);
Serial.print(",");
Serial.print(a.acceleration.z);
Serial.print(", ");
Serial.print(g.gyro.x);
Serial.print(",");
Serial.print(g.gyro.y);
Serial.print(",");
Serial.print(g.gyro.z);
Serial.println("");
}