-3
我用Arduino Uno单独测试了板载GY86(MPU6050-HMC8553-MS5611)和小型RTC模块ds1307的所有传感器。 现在我正在尝试连接它们并同时获得结果。 恰恰当我连接DS1307到I2C总线,突然我得到(MPU6050连接失败错误)。看起来他们不能一起工作。他们单独工作很好。 这是初始化代码:两个i2c传感器不能同时工作
#include "I2Cdev.h"
#include "MPU6050.h"
#include <Wire.h>
#include "RTClib.h"
#include <MS5611.h>
RTC_DS1307 RTC;
double startTime;
MPU6050 accelgyro(0x68);
MPU6050 mpu = accelgyro;
此代码执行设置功能:
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
Wire.begin();
TWBR = 24; // 400kHz I2C clock (200kHz if CPU is 8MHz). Comment this line if having compilation difficulties with TWBR.
#elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
Fastwire::setup(400, true);
#endif
Serial.begin(115200);
while (!Serial) // wait for Leonardo enumeration, others continue immediately
;
mpu.initialize();
Serial.println(mpu.testConnection() ? F("") : F("MPU6050 connection failed"));
mpu.setI2CMasterModeEnabled(false);
mpu.setI2CBypassEnabled(true) ;
mpu.setSleepEnabled(false);
RTC.begin();
DateTime now = RTC.now();
DateTime nowSetup = RTC.now();
double startTime = nowSetup.unixtime();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
}
可以采取什么问题吗?
只要删除问题,因为你解决了它。 – gsamaras