0

我一直在尝试将 MPU-6050(特别是 GY-521)与 Arduino Nano v3.0 一起使用,但是当我尝试通过连接到 Arduino 上的数字引脚的 VCC 和 GND 为 MPU-6050 供电时没有得到任何读数.

当我将 VCC 和 GND 连接到 Arduino 上的 5V 或 3V3 和 GND 时,我可以从陀螺仪/加速度计获得读数。当我将它们连接到数字引脚时,我会得到读数,但它们都是零,即使传感器受到震动,值也保持为零。我在数字引脚设置中使用的代码如下:

pinMode(powerpin, OUTPUT);
pinMode(groundpin, OUTPUT);
digitalWrite(powerpin, HIGH);
digitalWrite(groundpin, LOW);

当我用相同的引脚为加速度计 ADXL377 供电时,我可以毫无问题地获得读数。这是可以通过数字引脚的电流量的问题吗?似乎 Nano 上的数字引脚最多可以输出 40mA,而 MPU-6050 只需要 3mA,所以我认为电流不是问题。任何帮助都会很棒。

4

1 回答 1

0

我有同样的问题,这就是为什么它是一个问题。首先将 LOW 连接到 GND 是个好主意。另一件事:当您通过以下方式将引脚设置为高电平时:

pinMode(powerpin, OUTPUT);
digitalWrite(powerpin, HIGH);

一段时间后它会变高,所以你应该在以下之间放一些延迟:

pinMode(powerpin, OUTPUT);
digitalWrite(powerpin, HIGH);

delay(10);

Wire.begin();
Wire.beginTransmission(0x68);
Wire.write(0x6B);  // PWR_MGMT_1 register
Wire.write(0);     // set to zero (wakes up the MPU-6050)
Wire.endTransmission(true);

因此,您需要获取电源然后唤醒设备。AB。10ms 是一个不错的值。

之后,您可以正常阅读(如果您不经常阅读,最好让设备休眠)。

于 2015-04-01T18:21:01.923 回答