【问题标题】:Getting MPU6050 data through Arduino Micro Pro and Bluetooth通过 Arduino Micro Pro 和蓝牙获取 MPU6050 数据
【发布时间】: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 窗口只是保持空白,没有任何我知道的数据进入。

我做错了什么?

【问题讨论】:

标签: bluetooth arduino serial-port mpu6050


【解决方案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 模块之一的编码-解码错误
猜你喜欢
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
相关资源
最近更新 更多