告诉蓝牙模块何时在 Arduino 上连接

DRi*_*ing 1 bluetooth arduino

我正在使用 Android 和 Arduino 开发一个项目,并试图弄清楚 Arduino 端如何判断蓝牙是否已连接。

我正在使用这些蓝牙模块之一进行连接。我知道我可以通过 Android 发送命令,但是我试图在它们连接时自动执行操作,并且如果可能的话,不必在 Android 上运行后台应用程序。

ang*_*rge 5

使用随附的模块,您不能使用其他任何东西:注意该模块有四个连接器:

  • 电源 (Vcc)
  • 地面
  • 发送(发送)
  • 接收(接收)

鉴于此接口,确定蓝牙模块是否配对的唯一方法是向配对设备发送一些内容,并让它以您的 Arduino 知道它已连接的方式做出响应。例如,如果您的 Android 程序"Hi there!"在收到 string 时总是响应"Hello?",那么通过查看"Hello?"您的 Arduino 将知道它已与您的 Android 手机/平板电脑配对。您的 Arduino 可以每分钟(或每五秒)轮询(发送询问字符串)以查看它是否与您的设备配对。


有一种更好的方法,但它需要您进行一些焊接。如果您的模块基于 HC-03/HC-05,则 PIO9 引脚是“配对 LED 指示灯”(请参阅此处的数据表)。您可以将该引脚连接到 Arduino 输入引脚并读取电平:读取数字1表示设备已配对,而读取数字0表示未配对。虽然不确定,但您的模块上的引脚可能标记为STATE正是这种引脚,即它指示配对状态。很遗憾。此引脚未连接到接头,因此您必须将电线焊接到正确的焊盘才能将其连接到您的 Arduino。您应该首先通过在电压模式下将万用表连接到该焊盘来测试它,并在配对和非配对状态下测量该焊盘与地之间的电位。如果这是响应配对状态的引脚,那么您就是黄金。可能是它指示电源(如 HC-03/05PIO8开机时闪烁)。如果事实证明STATEpin 不是配对状态,那么您应该向供应商索取数据表,并使用它来查找状态 LED 连接:一个可能存在。找到正确的焊盘后,再次使用电压表验证其功能。然后将一根电线焊接到该连接上并从您的 Arduino 中读取它。

重要提示:确保您的 Arduino永远不会1在连接到蓝牙模块状态引脚的 Arduino 引脚上输出数字:这些蓝牙模块在 3.3V 上运行,将任何未受保护的引脚连接到 5V 会损坏。您购买的模块中的 Vcc 和 Txd 引脚是电压偏移的,但 LED/状态线可能不是。因此,如果连接到蓝牙模块上的“状态”的 Arduino 引脚配置为输出并且您digitalWrite(HIGH)将其配置为输出,则可能会损坏蓝牙模块。