亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 与 Android 蓝牙集成:构建无线项目

组件与物料

Arduino UNO ×1
HC-06 蓝牙模块 ×1
LED(通用) ×1

应用与在线服务

项目简介

蓝牙无疑是一个非常优秀的无线局域(和个人)网络技术。在当今日常生活中,我们常见手机、音响、相机等设备通过著名的“蓝色小灯”互联。

在物联网和自动化领域,通过手机蓝牙远程控制非常普遍,这主要得益于两个关键因素:

本教程将展示如何通过移动设备控制 Arduino 的输出,从而驱动机器人、控制家庭灯光等。

步骤 1:蓝牙模块与 Arduino 连接

市面上常见的有“主从一体”的 BT 3.0 模块 HC-05,以及“从机”模式的 HC-06。较新的 HC-08 和 HC-10 支持蓝牙 4.0(BLE)。BLE 模块是唯一能连接 iPhone 的,因为苹果不支持 BT 3.0。

本项目使用广泛且廉价的 HC-06(再见 iPhone,Android 称王!)。HC-06 由 5V 供电,可直接连接 Arduino UNO。其 Tx 和 Rx 引脚可直连 UNO,无需像 ESP8266 那样分压。通常 HC-06 连接到 Arduino 的 0 和 1 引脚(硬件串口 Serial 0):

使用硬件串口时,上传程序期间 HC-06 不能物理连接在 0、1 引脚,因为 USB 也占用该串口。若项目不占用太多 GPIO,可用 SoftwareSerial 库在引脚 10、11(Tx、Rx)建立软串口,本教程采用此方案。

步骤 2:测试与配置 HC-06

编写简单代码测试、编程和初始化 HC-06:

#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); // RX, TX
String command = ""; // 存储蓝牙设备响应

void setup() {
  Serial.begin(9600);
  Serial.println("Type AT commands");
  BT.begin(9600); // HC-06 默认波特率
}

void loop() {
  if (BT.available()) {
    while (BT.available()) {
      delay(10);
      char c = BT.read();
      command += c;
    }
    Serial.println(command);
    command = "";
  }
  if (Serial.available()) {
    delay(10);
    BT.write(Serial.read());
  }
}

程序上传后,通过串口监视器进行基本测试:

HC-06 默认配对密码为 1234,可用 AT+PINxxxx 修改(xxxx 为 4 位数字)。

步骤 3:Android 设备配置

模块连接 UNO 并运行后,引入 Android 设备。Google Play 上有许多可用 App,本教程使用笔者基于 MIT App Inventor 2 开发的免费 App:“MJRoBot BT Digital Analog Voice Control”。该 App 通过按钮或语音发送数字命令,并通过滑块发送 0-255 的模拟值控制 PWM 设备(如舵机)。

  1. 下载安装 App
  2. 在 Android 设置中搜索并配对 HC-06(输入 PIN 1234 或自定义密码),仅需一次
  3. 启动 App,后续会自动连接
  4. 选择模块名称(含 HC-06 后缀)

App 显示 “CONNECTED” 表示配对成功。测试按钮,观察串口监视器接收到的数据,如按下 4 个设备的 ON/OFF 按钮,会收到:

dev1on dev1off dev2on dev2off dev3on dev3off dev4on dev4off

步骤 4:控制 Arduino 输出

按图搭建电路,用 App 控制 LED 亮灭及亮度(PWM)。连接对应关系:

滑块控制时,先发送字符标识再发送 0-255 数值:

完整 Arduino 代码见附件(FA44NBUIL8LGGAY.ino)。

步骤 5:语音控制 IoT 设备

语音控制是当前趋势。Android 设备原生支持语音识别,笔者开发的 App 增加了一个按钮,让 Android “聆听”指令并以文本形式发送给 Arduino。代码负责解析接收到的字符串。例如收到 “Connect TV” 指令,绿色 LED(设备 3)点亮(实际可接继电器控制电视)。

需将代码中的指令字符串改为你的语言(笔者用葡萄牙语)。建议使用简短词句,确保与 Google 语音识别返回结果完全匹配。.aia 文件可直接在 MIT App Inventor 2 中运行。

步骤 6:总结

通过本教程,你可以体会到蓝牙/Android/Arduino 控制“事物”的巨大潜力。希望项目能帮助更多人探索电子、机器人和 IoT 的精彩世界!更多项目请访问我的博客:MJRoBot.org

来自世界南端的问候!下期教程见!谢谢!Marcelo

制造工艺

  1. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  2. 使用 Arduino Uno 轻松编程 Atmel AT89 系列单片机——分步指南
  3. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  4. Android 手势遥控车:Raspberry Pi + Arduino 101 + 电机扩展板,I2T 协同控制
  5. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  6. 语音控制家电:Google Assistant + 蓝牙 + Arduino UNO
  7. Arduino UNO + WiFi 盾板:串口实时推送温度到网页绘图
  8. Intel Curie 加速度计驱动的体感触发灯光系统
  9. 手机APP无线控制Arduino LED:WiFi/Ethernet + Evothings Studio跨平台开发
  10. Arduino + 继电器 + 安卓 App 远程控制灯泡
  11. 通过专用 Android App 蓝牙控制 Arduino 机械臂
  12. 蓝牙控制 8×8 LED 点阵滚动显示:Arduino Nano + MAX7219