使用 Arduino micro 读取 MPU-9150 破板的原始数据



我们正在尝试将MPU-9150中断板连接到arduino micro,并使用Sparkfun文档(https://github.com/sparkfun/MPU-9150_Breakout/tree/master/firmware)中建议的示例代码来读取原始数据。我们的Vcc始终为3.3V。我们的波特率是 9600。这是串行端口监视器显示的内容。所有 9DOF 值均为零

a/g/m: 0 0 0 0 0 0 0 0 0 
a/g/m: 0 0 0 0 0 0 0 0 0 
a/g/m: 0 0 0 0 0 0 0 0 0 
a/g/m: 0 0 0 0 0 0 0 0 0 
a/g/m: 0 0 0 0 0 0 0 0 0 …

当我们使用 Arduino 操场中建议的代码时: http://playground.arduino.cc//Main/MPU-9150 这是我们得到的。现在所有值都是 -1

-1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
36.50 -1 -1 -1 -1 -1 -1 -1 -1 -1 
.

.......我们也非常确定这些联系。我们真的不知道我们哪里做错了。Vcc,GND,SCL和SDA都已连接。任何评论将不胜感激。

我对你提到的第二个代码有完全相同的问题(-1 -1 -1 ...

我对第一个有其他错误,根本无法让它工作。(我对arduino编程非常陌生,所以几乎100%确定这将是我做错的事情)。

但是,我确实获得了与您的第一个示例相关的旧代码,如下所示:[使用 arduino uno 连接的 gnd-gnd、vcc-3.3v、sda-A4 和 scl-A5]

从以下位置下载压缩文件: https://github.com/sparkfun/MPU-9150_Breakout(压缩文件在右侧)

解压缩,将文件夹 I2Cdev 和MPU6150复制到 C:.../users/.../documents/arduino/libraries/(或保存库的适当情况)

运行 Arduino

打开程序:MPU9150_raw并上传(可在 MPU6150\examples\MPU9150_raw

) 中找到)

打开串行监视器

将波特率更改为 36000

希望有效!


我最近还获得了使用Arduino Uno和分线板 playground.arduino.cc//Main/MPU-9150 的代码。如果您使用的是 sparkfun 分线板,我认为您需要在两个地方更改代码以将 I2C 地址更改为 0x68,因为板上的 AD0 被拉低而不是拉高。所以你会搜索 int MPU9150_I2C_ADDRESS = 0x69;并更改为0x68(它在代码中提到了这一点,如果这对大多数人来说很明显,很抱歉,只是想无论如何我都会发布它,以防它帮助其他人)。

在 6050 的 arduino 网页上(我没有足够的声誉来发布另一个链接)它说

"I2C地址取决于传感器的AD0引脚。如果接地,则>地址0x68。如果连接到 VLOGIC (+3.3V),则0x69。有一些传感器>板上已经焊接了MPU-6050传感器。其中一些电路板在AD0处具有下拉>电阻(地址= 0x68),其他电路板具有上拉电阻(地址= 0x69)。

同样的问题。只需更改设备的 I2C 地址...连接,AD0 到接地和 cho

我也有 MPU9150。 这段代码给了我所有三个内部芯片的原始值。 仔细检查您的波特率。 祝你好运

https://github.com/sparkfun/MPU-9150_Breakout/blob/master/firmware/MPU6050/Examples/MPU9150_raw/MPU9150_raw.ino

相关内容

  • 没有找到相关文章

最新更新