第十三章|机器人进阶!蓝牙遥控+APP控制,彻底摆脱有线束缚
嗨,陪你从零做Arduino机器人的博主又来啦!
前八章我们已经搞定了机器人的「身体」「大脑」「感知」和「稳定运行」——亲手做了底盘、实现了行走避障、搭建了稳定电路,现在的机器人已经能自主移动、自主避障,堪称一台成熟的智能小车。
但有一个小局限:要么是全自动运行,要么需要用数据线连接电脑控制,始终被「线」束缚着,不够灵活。
今天我们直接跳至《Arduino机器人制作指南》第十三章:蓝牙遥控与APP控制,这一章是机器人进阶的关键,教你给机器人加装蓝牙模块,实现「无线遥控」——用手机APP就能控制机器人前进、后退、左转、右转,甚至切换自动避障模式,彻底摆脱有线束缚!
全程通俗拆解,不用懂复杂的蓝牙原理,接线简单、代码可直接复制、APP可直接套用,新手也能轻松上手,让你的智能小车再升级一个档次!

本章你能直接实现的成果
✅ 认识蓝牙模块(HC-05/HC-06),知道怎么接线、怎么配对
✅ 学会Arduino与蓝牙模块通信,接收手机发送的指令
✅ 搭建蓝牙遥控电路,完全兼容前八章的机器人底盘和电路
✅ 用手机APP发送指令,无线控制机器人所有动作(前进/后退/左转/右转/停止)
✅ 实现「手动遥控」与「自动避障」模式切换,灵活切换使用场景
✅ 解决蓝牙连接不稳定、指令延迟、失控等常见问题
读完+动手,你的机器人将彻底摆脱数据线,随时随地用手机控制,可玩性直接拉满!
一、先搞懂:蓝牙模块到底是什么?(新手必看)
第十三章的核心元件是「蓝牙模块」,我们新手首选最常用、最稳定的 HC-05 蓝牙模块(HC-06也可以,用法基本一致),它的作用很简单:
作为Arduino和手机之间的「无线桥梁」——手机APP发送控制指令(比如「前进」),蓝牙模块接收指令,再传给Arduino,Arduino执行指令,控制机器人动作。
HC-05蓝牙模块关键参数(不用记,知道用法就行)
通信方式:UART串口通信(和Arduino的串口通信一致,不用额外学新知识点)
供电电压:3.3V(重点!不能直接接5V,会烧模块)
配对方式:默认密码1234或0000,手机蓝牙直接搜索配对
接线简单:只有4个引脚,不用焊接(新手直接插面包板)
💡 新手提醒:HC-05是「主从一体」模块,我们用它做「从机」(接收手机指令),不用复杂设置,默认模式就能用;HC-06是从机模块,用法和HC-05完全一样,新手随便买一款都可以。 |

二、备料:第十三章新增零件(少量补充,成本低)
本章不需要大改之前的机器人,在第八章稳定电路的基础上,只需要新增2样核心零件,淘宝搜关键词直接买,十几块钱就能配齐:
HC-05/HC-06 蓝牙模块 ×1(核心无线通信元件)
3.3V 稳压模块 ×1(给蓝牙模块供电,因为蓝牙模块只能用3.3V,不能直接接5V)
沿用零件:Arduino UNO、舵机×2、超声波传感器、微动开关、电池、面包板、跳线、机器人底盘(前八章已备,电路不用大改)
补充说明:如果你的Arduino主板有3.3V引脚(大部分UNO主板都有),也可以不用稳压模块,直接用主板的3.3V给蓝牙模块供电,更省事!

三、核心实操1:蓝牙模块接线(完全兼容前八章电路,不用大改)
接线是本章的重点,也是新手最容易踩坑的地方,核心记住「蓝牙模块用3.3V供电」「串口通信引脚对应」,直接照抄以下接线,绝不会错:
第一步:明确引脚分配(直接照抄,不踩坑)
HC-05蓝牙模块 → Arduino 引脚
VCC(蓝牙电源) → 3.3V(Arduino引脚或稳压模块输出,绝对不能接5V!)
GND(蓝牙接地) → Arduino GND(共地!必须接,否则通信失败)
TXD(蓝牙发送端) → Arduino D10(RX引脚,注意:TX接RX,交叉连接)
RXD(蓝牙接收端) → Arduino D11(TX引脚,交叉连接)
第二步:补充说明(新手必看)
供电提醒:如果用Arduino的3.3V引脚给蓝牙供电,确保机器人其他设备(舵机、传感器)供电稳定,避免电压不足导致蓝牙连接不稳定;
交叉连接:蓝牙的TXD接Arduino的RX(D10),蓝牙的RXD接Arduino的TX(D11),这是串口通信的关键,接反了会无法接收指令;
原有电路不动:前八章的舵机、传感器、稳压电路接线完全不变,只新增蓝牙模块的接线,避免破坏原有稳定电路。
⚠️ 避坑重点:蓝牙模块VCC绝对不能接5V!一旦接错,瞬间烧毁蓝牙模块,新手一定要反复核对引脚,确认无误再通电! |
核心实操2:手机APP准备(不用编程,直接套用)
我们不需要自己开发APP,第十三章推荐了新手友好的免费APP,直接下载、配对,就能发送控制指令,步骤如下:
方案1:新手首选(最简单,直接用)
手机应用商店搜索「蓝牙串口助手」(任意一款都可以,比如「蓝牙串口APP」「Serial Bluetooth Terminal」);
打开手机蓝牙,搜索蓝牙模块(名称一般是「HC-05」「HC-06」),点击配对,输入密码1234或0000,配对成功;
打开蓝牙串口APP,连接配对好的蓝牙模块,设置通信参数(默认即可:波特率9600、数据位8、停止位1、无校验);
在APP里设置控制指令(比如:按「F」发送前进指令、「B」后退、「L」左转、「R」右转、「S」停止),保存即可。
方案2:进阶方案(更贴合机器人控制)
如果觉得串口助手不够直观,可以下载「Arduino蓝牙遥控APP」(比如「Robot Control」),这类APP有现成的按键(前进、后退、左转、右转),不用手动输入指令,点击按键就能控制,更方便。
重点:无论用哪款APP,只要能发送指定字符(F、B、L、R、S),就能控制机器人,新手先从串口助手开始,熟悉后再换进阶APP。

核心实操3:蓝牙遥控程序(直接复制上传,兼容前八章)
本章的程序,是在第四章行走程序、第五章避障程序的基础上,新增「蓝牙指令接收」逻辑,完全兼容前八章的代码,不用重新写,直接复制替换即可,核心是「接收蓝牙指令→执行对应动作」。
完整代码如下(直接复制上传,新手不用修改):
#include <Servo.h>// 定义舵机对象(沿用第四章)Servo servoLeft; // 左舵机Servo servoRight; // 右舵机// 定义碰撞开关引脚(沿用第五章)int leftSwitch = 2; // 左碰撞开关 → D2int rightSwitch = 3; // 右碰撞开关 → D3// 定义超声波引脚(沿用第六章)int trigPin = 4;int echoPin = 5;int safeDistance = 20; // 小于20cm自动避障// 定义蓝牙通信引脚(本章新增)int bluetoothTX = 11; // 蓝牙RXD → Arduino TX(D11)int bluetoothRX = 10; // 蓝牙TXD → Arduino RX(D10)// 定义蓝牙接收的指令char command;// 定义模式:0=手动遥控,1=自动避障(本章新增)int mode = 0;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) {command = Serial.read(); // 读取手机发送的指令// 根据指令切换模式或执行动作switch(command) {case 'F': mode = 0; forward(); break; // F=前进(手动模式)case 'B': mode = 0; backward(); break; // B=后退(手动模式)case 'L': mode = 0; turnLeft(); break; // L=左转(手动模式)case 'R': mode = 0; turnRight(); break; // R=右转(手动模式)case 'S': mode = 0; stopRobot(); break; // S=停止(手动模式)case 'A': mode = 1; break; // A=切换自动避障模式}}// 自动避障模式(沿用第五章,新增模式判断)if (mode == 1) {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();}}}// 超声波测距函数(沿用第六章)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;}// 行走相关函数(沿用第四章,微调适配)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);}
程序核心解析(新手必懂)
不用深懂代码逻辑,记住3个关键:
Serial.begin(9600):蓝牙模块默认波特率是9600,必须和APP、Arduino的波特率一致,否则无法通信;
Serial.read():读取手机APP发送的指令(F、B、L、R、S、A),对应不同的动作和模式;
模式切换:按「A」切换到自动避障模式,按「F/B/L/R/S」切换回手动遥控模式,灵活切换使用场景。
上传程序后,打开手机蓝牙,配对蓝牙模块,打开APP发送指令,就能无线控制机器人啦!
🎉 恭喜!你的机器人彻底摆脱有线束缚,实现手机无线遥控,可玩性直接拉满!
四、第十三章最容易踩的 5 个坑(全部避完,少走弯路)
蓝牙模块接5V供电 → 直接烧毁模块;解决:必须接3.3V,用Arduino的3.3V引脚或3.3V稳压模块。
蓝牙TX/RX接反 → 无法接收指令,机器人没反应;解决:蓝牙TXD接Arduino D10(RX),蓝牙RXD接Arduino D11(TX),交叉连接。
波特率不一致 → 通信失败,APP发送指令没反应;解决:Arduino程序、蓝牙模块、手机APP的波特率,全部设置为9600。
蓝牙配对失败 → 搜不到模块或配对密码错误;解决:确保蓝牙模块通电,密码输入1234或0000,手机蓝牙开启且靠近模块。
指令延迟、失控 → 蓝牙连接不稳定、电压不足;解决:确保蓝牙模块供电稳定,远离干扰源(比如路由器),缩短手机与机器人的距离。
五、进阶技巧:优化蓝牙遥控体验(可选)
如果想让遥控更流畅、更实用,可以试试这2个小技巧(第十三章拓展内容):
技巧1:增加调速功能
在程序中修改舵机的write数值(比如把forward()里的10改成15、170改成165),降低舵机转速,让机器人遥控更平稳,避免操作过猛导致翻车。
技巧2:自定义控制指令
可以修改程序中的指令字符(比如把「F」改成「1」、「B」改成「2」),也可以在APP里设置自定义按键,比如增加「原地旋转」「加速」「减速」等按键,实现更多控制功能。
六、本章总结:你的机器人实现「无线自由」
第十三章是机器人进阶的重要一步,它让我们的机器人从「有线控制/全自动」升级为「无线遥控+模式切换」,彻底摆脱了数据线的束缚,可玩性和实用性大幅提升。
本章结束,你已经掌握了:
✅ HC-05蓝牙模块的接线、配对和使用方法;
✅ Arduino与蓝牙模块的串口通信原理(不用深懂,会用就行);
✅ 手机APP的设置和指令发送,实现无线遥控;
✅ 手动遥控与自动避障模式切换,灵活适配不同场景;
✅ 蓝牙遥控常见问题的排查方法,解决连接、失控等问题。
现在的你的机器人,已经是一台「全能智能小车」——有结实的身体、稳定的电路、敏锐的感知、灵活的无线控制,既能手动遥控玩,也能自动避障跑,你也从「新手」升级为「能实现无线控制」的机器人爱好者!
下一章预告:机器人「智能化」再升级!
下一章我们将进入更高阶的内容——传感器融合与智能决策,让机器人学会:
✅ 融合多种传感器数据(超声波、红外、碰撞),更精准地感知世界;
✅ 实现更复杂的智能逻辑(比如绕开障碍物后自动回到预设路线);
✅ 解锁「跟随模式」,让机器人跟着人或物体跑;
✅ 进一步优化无线遥控体验,实现更精准的控制。
下一章,我们继续解锁机器人的更多高级功能,让它变得更智能、更强大!
Arduino机器人制作指南[(美)麦库姆著:
手把手带你跑起来:点亮第一盏灯,你的 Arduino 机器人入门第一课!
第三章|动手组装!你的第一台机器人底盘,手把手教你从零件到成型
代码驱动轮子!让你的 Teachbot 真正走起来|舵机控制+行走编程全攻略
第十二章|从零打造完整自主机器人系统|综合项目整合+整机调试+成品落地
本篇文章内容来源于:Arduino机器人制作指南[(美)麦库姆著]2014年版
图片由AI生成
夜雨聆风