乐于分享
好东西不私藏

机器人进阶!蓝牙遥控+手机APP,实现无线操控自由

机器人进阶!蓝牙遥控+手机APP,实现无线操控自由

第十一章|机器人进阶!蓝牙遥控+手机APP,实现无线操控自由

嗨,陪你从零做Arduino机器人的博主准时上线!

前第十章我们已经让机器人实现了自主避障、循迹行驶、稳定运行,彻底摆脱了“有线束缚”和“被动反应”,成为了一台能自主判断、自主行动的智能小车。

但还有一个升级方向没解锁——无线遥控

总不能一直让机器人自主跑,有时候我们想手动控制它前进、转弯、停止,甚至切换模式(自主避障/手动遥控),这就需要给机器人加装“无线通讯模块”。

今天我们细讲《Arduino机器人制作指南》第十一章核心内容——蓝牙通讯与手机APP遥控,手把手教你给机器人装蓝牙模块,搭配手机APP,实现“手机点一点,机器人动一动”的无线操控自由。

本章你能直接解锁的成果

✅ 认识蓝牙模块(HC-05/HC-06),知道怎么选、怎么用

✅ 学会蓝牙模块与Arduino的接线方法,不踩接线坑

✅ 配置蓝牙参数,实现手机与机器人的无线连接

✅ 编写蓝牙遥控程序,兼容前几章的行走、避障逻辑

✅ 搭配现成手机APP,实现手动遥控(前进/后退/左转/右转/停止)

✅ 实现“手动遥控+自主避障”双模式切换,按需使用

读完+动手,你就能彻底摆脱有线束缚,用手机轻松操控机器人,无论是玩耍还是调试,都超级方便!

一、先搞懂:为什么选蓝牙?新手该选哪种模块?

第十一章开篇就讲了机器人常用的无线通讯方式,其中蓝牙是最适合新手的,没有之一,原因很简单:

  • 操作简单:不用复杂配置,接线就能用,手机直接连接

  • 成本低:蓝牙模块(HC-05/HC-06)只要十几块钱,性价比拉满

  • 距离合适:有效距离10-15米,足够家用、教室等场景使用

  • 兼容性强:支持所有智能手机(安卓/iOS),不用额外买遥控器

新手必看:HC-05 vs HC-06(怎么选?)

第十一章重点对比了两种最常用的蓝牙模块,新手直接按需求选,不用纠结:

模块型号

核心特点

适合人群

HC-05

可主从模式切换,能和其他蓝牙模块连接,功能更全

想进阶、后续想拓展多设备连接的新手

HC-06

只能做从机,只能和手机连接,操作更简单

纯新手,只想实现手机遥控,追求简单省心

💡 新手建议:直接选HC-06,操作最简单,不用配置主从模式,接线后就能和手机连接,完全能满足手机遥控需求。

二、备料:第十一章新增零件(少量补充,成本低)

本章不需要大量新增零件,在之前的基础上,补充1个核心模块即可,其他零件沿用前几章的,新手不用多花钱:

  • 蓝牙模块(HC-06,新手首选) ×1

  • 杜邦线(母对母) ×4(连接蓝牙模块和Arduino)

  • 手机APP(现成可用,不用开发,下文会推荐)

沿用零件:Arduino UNO、舵机×2、超声波传感器、微动开关、稳压模块、电池、机器人底盘等(前第十章已备)

⚠️ 注意:蓝牙模块的工作电压是3.3V,绝对不能直接接5V电源,否则会烧毁模块,这是新手最容易踩的坑!

三、核心实操1:蓝牙模块与Arduino接线(直接照抄,不踩坑)

接线是本章的重点,也是最容易出错的地方,尤其是蓝牙模块的电压和引脚对应,新手一定要严格按照以下步骤来,全程不用焊接,插面包板即可:

先明确引脚分配(HC-06模块,直接照抄)

HC-06模块有4个引脚,分别是:VCC(电源)、GND(接地)、TXD(发送)、RXD(接收),对应Arduino的引脚如下:

  • 蓝牙模块 VCC → Arduino 3.3V(重点!只能接3.3V,不能接5V)

  • 蓝牙模块 GND → Arduino GND(共地!必须接,否则无法通讯)

  • 蓝牙模块 TXD → Arduino RX(数字引脚0,注意:TX接RX,交叉连接)

  • 蓝牙模块 RXD → Arduino TX(数字引脚1,注意:RX接TX,交叉连接)

关键接线提醒(必看!)

  1. 电压必须是3.3V:HC-06模块的VCC只能接Arduino的3.3V引脚,接5V会直接烧毁模块,新手一定要核对清楚;

  2. TX和RX交叉连接:蓝牙的TXD接Arduino的RX(0引脚),蓝牙的RXD接Arduino的TX(1引脚),接反了无法通讯;

  3. 上传程序时断开蓝牙接线:Arduino的0、1引脚是串口通讯引脚,上传程序时如果蓝牙模块接在这两个引脚,会导致程序上传失败,解决方法:上传程序前,拔掉蓝牙模块的TXD和RXD接线,上传完成后再插上。

接线完成后,检查一遍:电压3.3V、共地、TX/RX交叉连接,确认无误后,再进行下一步。

四、核心实操2:配置蓝牙,连接手机

接线完成后,我们需要先配置蓝牙模块,让它能和手机连接,步骤超级简单,不用复杂设置:

步骤1:给机器人通电

插上电池,给Arduino和蓝牙模块供电,此时蓝牙模块会亮起指示灯,快速闪烁,说明模块正常工作,处于“待连接”状态。

步骤2:手机连接蓝牙

  1. 打开手机蓝牙,搜索附近的蓝牙设备;

  2. 找到名称为“HC-06”的设备(默认名称,部分模块可能是其他名称,可后期修改);

  3. 点击连接,输入配对密码(默认密码:1234 或 0000,大部分是1234);

  4. 连接成功后,蓝牙模块的指示灯会慢速闪烁,手机蓝牙图标会显示“已连接”。

步骤3:安装手机遥控APP(现成可用)

不用自己开发APP,第十一章推荐了几款新手友好的现成APP,直接下载就能用,推荐2款最常用的:

  • 安卓:《蓝牙串口助手》(应用商店直接搜,免费,操作简单);

  • iOS:《LightBlue》(免费,适配HC-06模块,操作流畅)。

安装完成后,打开APP,选择已连接的“HC-06”设备,进入串口通讯界面,设置参数:波特率9600、数据位8、停止位1、校验位无(默认参数,不用修改),设置完成后,就能和机器人通讯了。

五、核心实操3:编写蓝牙遥控程序(直接复制可用)

本章的程序,是在之前“行走、避障”程序的基础上,新增蓝牙通讯逻辑,实现“手机发送指令,机器人执行动作”,同时保留自主避障功能,支持双模式切换,直接复制就能上传使用。

完整代码如下(注释详细,新手能看懂每一步):

#include <Servo.h>// 定义舵机对象(沿用前几章)Servo servoLeft;   // 左舵机Servo servoRight;  // 右舵机// 定义碰撞开关引脚(沿用第五章)int leftSwitch = 2;int rightSwitch = 3;// 定义超声波引脚(沿用第六章)int trigPin = 4;int echoPin = 5;int safeDistance = 20;  // 安全距离20cm// 蓝牙相关定义(本章新增)char cmd;  // 存储手机发送的指令bool remoteMode = true;  // 遥控模式(true=遥控,false=自主避障)voidsetup() {  // 舵机引脚绑定  servoLeft.attach(9);  servoRight.attach(10);  // 碰撞开关、超声波引脚初始化  pinMode(leftSwitch, INPUT);  pinMode(rightSwitch, INPUT);  pinMode(trigPin, OUTPUT);  pinMode(echoPin, INPUT);  // 蓝牙串口初始化(本章新增)  Serial.begin(9600);  // 波特率9600,和APP一致}voidloop() {  // 读取蓝牙指令(本章核心)  if (Serial.available() > 0) {    cmd = Serial.read();  // 读取手机发送的指令    remoteMode = true;    // 收到指令,切换到遥控模式    executeCmd(cmd);      // 执行指令  }  // 没有蓝牙指令时,切换到自主避障模式(沿用前几章逻辑)  if (!remoteMode) {    autoAvoidance();  }}// 本章新增:执行蓝牙指令(手机发送对应字符,机器人执行动作)voidexecuteCmd(char cmd) {  switch(cmd) {    case 'F':  // 手机发送F → 前进      forward();      break;    case 'B':  // 手机发送B → 后退      backward();      break;    case 'L':  // 手机发送L → 左转      turnLeft();      break;    case 'R':  // 手机发送R → 右转      turnRight();      break;    case 'S':  // 手机发送S → 停止      stopRobot();      break;    case 'A':  // 手机发送A → 切换到自主避障模式      remoteMode = false;      break;  }}// 超声波测距函数(沿用第六章)longreadDistance() {  digitalWrite(trigPin, LOW);  delayMicroseconds(2);  digitalWrite(trigPin, HIGH);  delayMicroseconds(10);  digitalWrite(trigPin, LOW);  long duration = pulseIn(echoPin, HIGH);  long cm = duration * 0.034 / 2;  return cm;}// 自主避障函数(沿用第五章、第六章)voidautoAvoidance() {  long distance = readDistance();  int leftState = digitalRead(leftSwitch);  int rightState = digitalRead(rightSwitch);  if(distance < safeDistance || leftState == HIGH || rightState == HIGH) {    stopRobot();    delay(200);    backward();    delay(800);    turnRight();    delay(600);  } else {    forward();  }}// 行走相关函数(沿用前几章,微调适配)voidforward() {  servoLeft.write(10);  servoRight.write(170);}voidbackward() {  servoLeft.write(170);  servoRight.write(10);}voidstopRobot() {  servoLeft.write(90);  servoRight.write(90);}voidturnLeft() {  servoLeft.write(90);  servoRight.write(170);}voidturnRight() {  servoLeft.write(10);  servoRight.write(90);}

程序使用说明(新手必看)

  1. 上传程序:上传前,拔掉蓝牙模块的TXD和RXD接线,上传完成后再插上;

  2. 手机发送指令:打开蓝牙APP,在输入框输入对应字符,点击发送,机器人执行对应动作:

  • 发送F → 前进

  • 发送B → 后退

  • 发送L → 左转

  • 发送R → 右转

  • 发送S → 停止

  • 发送A → 切换到自主避障模式

3.双模式切换:发送指令时,机器人处于遥控模式;停止发送指令后,机器人自动切换到自主避障模式,兼顾手动操控和自主运行。

上传程序、连接蓝牙后,测试一下:手机发送“F”,机器人前进;发送“S”,机器人停止,完美实现无线遥控!

六、第十一章最容易踩的 5 个坑(全部避完,少走弯路)

  1. 蓝牙模块接5V电源 → 直接烧毁模块;解决:严格接Arduino的3.3V引脚,核对清楚电压。

  2. TX和RX接反 → 手机发送指令,机器人没反应;解决:蓝牙TXD接Arduino RX(0引脚),蓝牙RXD接Arduino TX(1引脚),交叉连接。

  3. 上传程序时没断开蓝牙接线 → 程序上传失败;解决:上传程序前,拔掉蓝牙的TXD和RXD接线,上传完成后再插上。

  4. 蓝牙配对密码错误 → 无法连接手机;解决:默认密码1234或0000,若修改过,需输入修改后的密码。

  5. APP波特率设置错误 → 通讯失败,指令无法发送;解决:APP波特率设置为9600,和程序里的Serial.begin(9600)一致。

    请在微信客户端打开

七、本章进阶:修改蓝牙名称和配对密码(可选)

如果觉得默认的蓝牙名称(HC-06)不好区分,或者想修改配对密码,第十一章也讲了方法,新手可以尝试操作,步骤如下(以HC-06为例):

  1. 断开蓝牙模块的TXD和RXD接线,将Arduino连接电脑;

  2. 打开Arduino IDE的串口监视器,设置波特率9600,换行符选择“Both NL & CR”;

  3. 输入指令修改名称:发送“AT+NAMEXXX”(XXX是你想设置的名称,比如AT+NAMERobot),发送后,模块会返回“OK”,说明名称修改成功;

  4. 输入指令修改密码:发送“AT+PINXXXX”(XXXX是你想设置的4位密码,比如AT+PIN6666),发送后,模块返回“OK”,说明密码修改成功;

  5. 修改完成后,重启蓝牙模块,重新连接手机,就能看到新的名称和密码了。

⚠️ 注意:修改时,指令必须大写,且不能有多余空格,否则修改失败。

八、本章总结:你的机器人实现“无线自由”

第十一章结束,你不仅解锁了蓝牙遥控功能,还掌握了无线通讯的核心用法,让机器人实现了“质的飞跃”:

  • ✅ 掌握了蓝牙模块(HC-06)的接线和使用方法;

  • ✅ 学会配置蓝牙参数,实现手机与机器人的无线连接;

  • ✅ 编写了蓝牙遥控程序,实现手动遥控和自主避障双模式切换;

  • ✅ 学会排查蓝牙通讯的常见故障,遇到问题不慌;

  • ✅ 可选掌握蓝牙名称和密码的修改方法,个性化定制机器人。

现在的你的机器人,已经是一台“全能智能小车”——既能自主避障、循迹行驶,又能通过手机无线遥控,摆脱了有线束缚,无论是玩耍、展示,还是调试,都超级方便。你也从“会做机器人”升级为“会升级、会拓展”的机器人爱好者!

九、下一章预告:机器人“智能化”再升级!

下一章我们进入第十二章——机器人综合项目:智能巡检小车,将前十一章的所有知识点整合起来:

  • ✅ 整合蓝牙遥控、自主避障、循迹行驶功能;

  • ✅ 新增温度、湿度检测功能,实现环境巡检;

  • ✅ 编写综合程序,实现多功能协同工作;

  • ✅ 完成一台完整的、能实际应用的智能巡检机器人。

下一章,我们将把所有知识点融会贯通,做出一台真正能“落地使用”的机器人,一起期待吧!

Arduino机器人制作指南[(美)麦库姆著:

《Arduino 机器人制作指南:从零基础到实践》

一文读懂:什么是Arduino?怎么从零开始做机器人?

手把手带你跑起来:点亮第一盏灯,你的 Arduino 机器人入门第一课!

第三章|动手组装!你的第一台机器人底盘,手把手教你从零件到成型

代码驱动轮子!让你的 Teachbot 真正走起来|舵机控制+行走编程全攻略

给机器人装“触觉”!碰撞检测+自动避障全实操

给机器人装上“眼睛”!超声波避障+红外测距,从此不撞墙

机器人身体怎么做?材料、工具、组装全攻略|从此自己造底盘

电路进阶!抗干扰+稳压+防烧板,让机器人稳到不翻车

传感器进阶+数据处理!让机器人“感知更精准、决策更智能”

本篇文章内容来源于:Arduino机器人制作指南[(美)麦库姆著]2014年版

图片由AI生成