机器人进阶!蓝牙遥控+手机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,交叉连接)
关键接线提醒(必看!)
-
电压必须是3.3V:HC-06模块的VCC只能接Arduino的3.3V引脚,接5V会直接烧毁模块,新手一定要核对清楚;
-
TX和RX交叉连接:蓝牙的TXD接Arduino的RX(0引脚),蓝牙的RXD接Arduino的TX(1引脚),接反了无法通讯;
-
上传程序时断开蓝牙接线:Arduino的0、1引脚是串口通讯引脚,上传程序时如果蓝牙模块接在这两个引脚,会导致程序上传失败,解决方法:上传程序前,拔掉蓝牙模块的TXD和RXD接线,上传完成后再插上。
接线完成后,检查一遍:电压3.3V、共地、TX/RX交叉连接,确认无误后,再进行下一步。

四、核心实操2:配置蓝牙,连接手机
接线完成后,我们需要先配置蓝牙模块,让它能和手机连接,步骤超级简单,不用复杂设置:
步骤1:给机器人通电
插上电池,给Arduino和蓝牙模块供电,此时蓝牙模块会亮起指示灯,快速闪烁,说明模块正常工作,处于“待连接”状态。
步骤2:手机连接蓝牙
-
打开手机蓝牙,搜索附近的蓝牙设备;
-
找到名称为“HC-06”的设备(默认名称,部分模块可能是其他名称,可后期修改);
-
点击连接,输入配对密码(默认密码:1234 或 0000,大部分是1234);
-
连接成功后,蓝牙模块的指示灯会慢速闪烁,手机蓝牙图标会显示“已连接”。
步骤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);}
程序使用说明(新手必看)
-
上传程序:上传前,拔掉蓝牙模块的TXD和RXD接线,上传完成后再插上;
-
手机发送指令:打开蓝牙APP,在输入框输入对应字符,点击发送,机器人执行对应动作:
-
发送F → 前进
-
发送B → 后退
-
发送L → 左转
-
发送R → 右转
-
发送S → 停止
-
发送A → 切换到自主避障模式
3.双模式切换:发送指令时,机器人处于遥控模式;停止发送指令后,机器人自动切换到自主避障模式,兼顾手动操控和自主运行。
上传程序、连接蓝牙后,测试一下:手机发送“F”,机器人前进;发送“S”,机器人停止,完美实现无线遥控!
六、第十一章最容易踩的 5 个坑(全部避完,少走弯路)
-
蓝牙模块接5V电源 → 直接烧毁模块;解决:严格接Arduino的3.3V引脚,核对清楚电压。
-
TX和RX接反 → 手机发送指令,机器人没反应;解决:蓝牙TXD接Arduino RX(0引脚),蓝牙RXD接Arduino TX(1引脚),交叉连接。
-
上传程序时没断开蓝牙接线 → 程序上传失败;解决:上传程序前,拔掉蓝牙的TXD和RXD接线,上传完成后再插上。
-
蓝牙配对密码错误 → 无法连接手机;解决:默认密码1234或0000,若修改过,需输入修改后的密码。
-
APP波特率设置错误 → 通讯失败,指令无法发送;解决:APP波特率设置为9600,和程序里的Serial.begin(9600)一致。
请在微信客户端打开
七、本章进阶:修改蓝牙名称和配对密码(可选)
如果觉得默认的蓝牙名称(HC-06)不好区分,或者想修改配对密码,第十一章也讲了方法,新手可以尝试操作,步骤如下(以HC-06为例):
-
断开蓝牙模块的TXD和RXD接线,将Arduino连接电脑;
-
打开Arduino IDE的串口监视器,设置波特率9600,换行符选择“Both NL & CR”;
-
输入指令修改名称:发送“AT+NAMEXXX”(XXX是你想设置的名称,比如AT+NAMERobot),发送后,模块会返回“OK”,说明名称修改成功;
-
输入指令修改密码:发送“AT+PINXXXX”(XXXX是你想设置的4位密码,比如AT+PIN6666),发送后,模块返回“OK”,说明密码修改成功;
-
修改完成后,重启蓝牙模块,重新连接手机,就能看到新的名称和密码了。
⚠️ 注意:修改时,指令必须大写,且不能有多余空格,否则修改失败。
八、本章总结:你的机器人实现“无线自由”
第十一章结束,你不仅解锁了蓝牙遥控功能,还掌握了无线通讯的核心用法,让机器人实现了“质的飞跃”:
-
✅ 掌握了蓝牙模块(HC-06)的接线和使用方法;
-
✅ 学会配置蓝牙参数,实现手机与机器人的无线连接;
-
✅ 编写了蓝牙遥控程序,实现手动遥控和自主避障双模式切换;
-
✅ 学会排查蓝牙通讯的常见故障,遇到问题不慌;
-
✅ 可选掌握蓝牙名称和密码的修改方法,个性化定制机器人。
现在的你的机器人,已经是一台“全能智能小车”——既能自主避障、循迹行驶,又能通过手机无线遥控,摆脱了有线束缚,无论是玩耍、展示,还是调试,都超级方便。你也从“会做机器人”升级为“会升级、会拓展”的机器人爱好者!
九、下一章预告:机器人“智能化”再升级!
下一章我们进入第十二章——机器人综合项目:智能巡检小车,将前十一章的所有知识点整合起来:
-
✅ 整合蓝牙遥控、自主避障、循迹行驶功能;
-
✅ 新增温度、湿度检测功能,实现环境巡检;
-
✅ 编写综合程序,实现多功能协同工作;
-
✅ 完成一台完整的、能实际应用的智能巡检机器人。
下一章,我们将把所有知识点融会贯通,做出一台真正能“落地使用”的机器人,一起期待吧!
Arduino机器人制作指南[(美)麦库姆著:
手把手带你跑起来:点亮第一盏灯,你的 Arduino 机器人入门第一课!
第三章|动手组装!你的第一台机器人底盘,手把手教你从零件到成型
代码驱动轮子!让你的 Teachbot 真正走起来|舵机控制+行走编程全攻略
本篇文章内容来源于:Arduino机器人制作指南[(美)麦库姆著]2014年版
图片由AI生成
夜雨聆风