通过 Arduino Micro Pro 和蓝牙获取 MPU6050 数据
Posted
技术标签:
【中文标题】通过 Arduino Micro Pro 和蓝牙获取 MPU6050 数据【英文标题】:Getting MPU6050 data through Arduino Micro Pro and Bluetooth 【发布时间】:2018-04-05 18:15:34 【问题描述】:我在通过蓝牙模块 HC-06 从 MPU6050 获取传感器数据时遇到问题。我正在使用 Arduino Micro Pro。我没有很多经验,所以这可能是一些菜鸟的错误。
如果我将此代码上传到 Arduino,然后通过蓝牙连接,我会不断收到“234”(我使用的是 Tera Term):
void setup()
Serial1.begin(9600);
delay(50);
void loop()
Serial1.println("234");
delay(500);
此外,当我在不从 PC 拔下的情况下使用此代码时,我在 Arduino IDE 的串行监视器上正确接收陀螺仪和加速度计数据:
#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
void setup()
Serial.begin(9600);
Serial.println("a");
Wire.begin();
Serial.println("b");
mpu.initialize();
Serial.println("c");
void loop()
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
Serial.print("hh");
Serial.println(ax);
delay(20);
所以所有硬件都应该正常工作。但是,当我将上一个示例中的所有 Serial
函数更改为 Serial1
并尝试通过蓝牙获取数据时,Tera Term 窗口只是保持空白,没有任何我知道的数据进入。
我做错了什么?
【问题讨论】:
没有“Arduino Micro Pro”。 Pro Micro 不是 Arduino 的设计。 It's from SparkFun. 【参考方案1】:serial1 用于组件的串行端口。
你在串口 1 上插入蓝牙 uart 吗?
您是否正确检测到蓝牙模块?
【讨论】:
我不仅可以检测到模块,而且第一个示例也有效。我在 tera term 连接窗口上无限得到“234”。蓝牙连接 tx - rx 和 rx - tx。蓝牙的 rx 和 arduino 的 tx 之间是 1x 电阻。蓝牙 rx 还通过 2 k 电阻分支到接地引脚。 试试 Serial1.print(ax) 好的,太好了!输入 +1 来回答 :) 我在这里遗漏了什么吗?如果Serial1.println(ax)
不起作用,为什么Serial1.print(ax)
会起作用?
我认为是因为 do 模块之一的编码-解码错误以上是关于通过 Arduino Micro Pro 和蓝牙获取 MPU6050 数据的主要内容,如果未能解决你的问题,请参考以下文章
text Arduino的:: pro_micro :: health_check
Pro系列atom66nano75micro84mini8487108双模静电快捷使用介绍