开源改变世界!!

安卓11蓝牙问题 #146

推推 grbl 1年前 (2023-02-12) 106次浏览
关闭
caslor 打开了这个问题 2021 年 11 月 22 日 · 4条评论
关闭

安卓11蓝牙问题#146

caslor 打开了这个问题 2021 年 11 月 22 日 · 4条评论

评论

安卓11蓝牙问题 #146

我的设置:
cnc shield 4
arduino Nano
蓝牙 HC06
grbl v1.1h

嗨,我不能让它与蓝牙连接一起工作。
使用 otg USB 电缆,应用程序运行良好,我可以控制我的 cnc

我已将我的 Hc06 蓝牙编程为波特率:115200
当我使用带有蓝牙连接的应用程序时,应用程序连接到蓝牙,
但当我按下任何按钮时,应用程序中的键盘未激活(保持灰色)蓝牙应用程序看起来像是收到了它(每次我按下按钮时 LED 灯都会闪烁)。
虽然我仍然与应用程序连接到蓝牙,但如果我用 USB 电缆将 arduino 连接到 pc(通用 g 代码发送器),那么在 android 应用程序中,键盘变为活动状态,并且在详细的输出屏幕中显示我从电脑
在应用程序中对键盘进行编程,即使它现在处于活动状态,如果我按下按钮,cnc 也不会做任何事情

任何想法?

安卓11蓝牙问题 #146
所有者
疯狂的 评论了 2021 年 11 月 22 日  

蓝牙的问题可能是它的波特率没有更改为 115200 或者您以错误的方式连接了串行线(请确认这一点)

当手机和 PC 都连接时,应用程序将无法运行。(应用程序发送的命令可能无法到达arduino板)

安卓11蓝牙问题 #146
作者
卡斯洛 评论了 2021 年 11 月 23 日  

您好,感谢您的快速回复。
我已将 Hc06 中的波特率更改为 115200
我还使用 at 命令检查了它:


AT+VERSION
VERSION:3.0-20170609
OK

AT+UART
+UART:115200,1,0
OK

(我已经尝试过 115200,0,0 设置但没有成功)

我使用不同的草图来改变我的波特率,而不是你在这里有链接的草图,因为这些命令不适用于我的 HC06(可能是因为它们运行的​​版本)

对我来说,必须用来改变波特率的命令是:

  1. 将速度更改为 115200:
    AT+UART=115200,0,0

  2. 更换名字:
    AT+NAME=DesiredName

关于电缆我已经检查了很多次..
hc06 RX 引脚连接到防护罩上的 arduino nano TX 引脚
hc06 TX 引脚连接到防护罩上的 arduino nano RX 引脚

我知道电缆是正确的另一个原因是因为正如我告诉你的,当应用程序正在运行并建立蓝牙连接时,如果我将 arduino 连接到 pc 并启动程序,我可以读取应用程序中的命令行,所以蓝牙将数据传回手机……

问题是蓝牙连接后键盘总是灰色

安卓11蓝牙问题 #146
作者

更新问题
正如我在第一篇文章中所说,我正在使用 CNC Shield V4(适用于 Arduino Nano)

我有一个备用的 CNC Shield V3(适用于 Arduino UNO),所以我决定用这个
带有 UNO shield 的应用程序测试应用程序一切正常(我使用与 nano 和相同电缆相同的 HC-06 蓝牙)

所以问题是该程序出于某种原因与此版本的 cnc – Nano 不兼容

为了使用 GRBL 软件使用纳米屏蔽,我们更改  cpu_map.h  文件中的引脚(电机的步进引脚和方向引脚与 UNO 屏蔽相反)

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
  #define STEP_DDR        DDRD
  #define STEP_PORT       PORTD
  #define X_STEP_BIT      5 // 2  // Uno Digital Pin 2 & NANO Digital Pin 5
  #define Y_STEP_BIT      6 // 3  // Uno Digital Pin 3 & NANO Digital Pin  6
  #define Z_STEP_BIT      7 // 4  // Uno Digital Pin 4  & NANO Digital Pin  7
  #define STEP_MASK       ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

  // Define step direction output pins. NOTE: All direction pins must be on the same port.
  #define DIRECTION_DDR     DDRD
  #define DIRECTION_PORT    PORTD
  #define X_DIRECTION_BIT   2 // 5  // Uno Digital Pin 5  & NANO Digital Pin 2
  #define Y_DIRECTION_BIT   3 // 6  // Uno Digital Pin 6  & NANO Digital Pin 3
  #define Z_DIRECTION_BIT   4 // 7  // Uno Digital Pin 7  & NANO Digital Pin  4
  #define DIRECTION_MASK    ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

但我不知道这个改变对于蓝牙串口连接是否如此重要

安卓11蓝牙问题 #146
所有者

如果 USB 操作处于活动状态,蓝牙连接将无法工作