首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Arduino数字引脚供电MPU-6050

用Arduino数字引脚供电MPU-6050
EN

Stack Overflow用户
提问于 2015-03-31 14:43:13
回答 1查看 1.3K关注 0票数 0

我一直试图使用MPU-6050 (特别是GY-521)与Arduino Nano v3.0,但我没有得到任何读数,当我试图用VCC和GND连接到Arduino上的数字引脚的MPU-6050。

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

代码语言:javascript
复制
pinMode(powerpin, OUTPUT);
pinMode(groundpin, OUTPUT);
digitalWrite(powerpin, HIGH);
digitalWrite(groundpin, LOW);

当我用相同的引脚给加速度计ADXL377供电时,我就可以得到没有问题的读数。这是一个问题,电流的数额,可以通过数字引脚?看来纳米上的数字引脚最多可以吐出40 3mA,而MPU-6050只需要3mA,所以我假设电流不是问题。任何帮助都会很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 18:21:01

我也有同样的问题,这就是为什么它是一个问题。首先,低连接到GND是一个好主意。另一件事:当你把你的引脚设置得很高时:

代码语言:javascript
复制
pinMode(powerpin, OUTPUT);
digitalWrite(powerpin, HIGH);

过一段时间它会涨得很高,所以你应该在以下几个方面加些延迟:

代码语言:javascript
复制
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.10毫秒是一个很好的价值。

在此之后,你可以正常阅读(如果你不经常阅读的话,最好是睡觉设备)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29371430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档