蓝牙控制舵机:Arduino Uno + HC-05 手机无线控制教程
元件清单
| 元件 | 数量 |
|---|---|
| Arduino UNO | 1 |
| SG90 9g 微型舵机 | 1 |
| HC-05 蓝牙模块 | 1 |
| 面包板 | 1 |
| 杜邦线 | 1 套 |
软件
- Arduino IDE
- Android 端蓝牙串口控制 APP(文中提供下载链接,非作者开发)
工作原理
手机 APP 通过蓝牙发送角度数据(0–180)给 HC-05,模块经串口透传至 Arduino,Arduino 解析数值并驱动舵机转动到对应角度。流程:APP → 蓝牙 → 串口 → Arduino → PWM → 舵机。
接线说明
- HC-05 VCC → 3.3V(切勿接 5V,会烧毁模块)
- HC-05 GND → GND
- HC-05 TXD → Arduino D9(软串口 RX)
- HC-05 RXD → Arduino D10(软串口 TX,建议分压至 3.3V)
- 舵机信号线 → Arduino D11
- 舵机 VCC/GND → 外部 5V 电源(或 Arduino 5V,视电流而定)
操作步骤
- 下载并安装手机 APP。
- 上传 Arduino 代码。
- 按原理图接线,上电。
- 手机打开蓝牙,APP 搜索配对 HC-05(默认密码 1234/0000)。
- 连接成功后,拖动滑块或输入数值即可控制舵机。
Arduino 代码
#include <SoftwareSerial.h>
#include <Servo.h>
Servo servo;
int btTx = 9; // HC-05 TXD -> Arduino D9
int btRx = 10; // HC-05 RXD -> Arduino D10
SoftwareSerial bluetooth(btTx, btRx);
void setup() {
servo.attach(11);
Serial.begin(9600);
bluetooth.begin(9600);
}
void loop() {
if (bluetooth.available() > 0) {
int pos = bluetooth.read(); // 接收 0-180 角度值
Serial.println(pos);
servo.write(pos); // 驱动舵机
}
}
原理图

注意事项
- HC-05 必须供电 3.3V,RX 引脚建议接分压电阻降至 3.3V 电平。
- 舵机启动电流大,建议外接电源,共地。
- APP 发送的是 ASCII 字符,代码直接
read()得到 0-255 值,若需更大范围需自行协议解析。
制造工艺
- 蓝牙控制树莓派机器人:语音反馈功能构建指南
- 用 Arduino 打造绚丽显示器 Ambilight 系统
- 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
- 废旧遥控车改装:Arduino + USB Host Shield 实现 Xbox 手柄无线控制
- Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- 自制 Arduino 电子宠物「Tamaguino」:复刻经典 Tamagotchi 全攻略
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
- 使用 SparkFun 7 段数码管构建可靠的 Arduino 倒计时器
- 语音控制家电:Google Assistant + 蓝牙 + Arduino UNO
- 自制 Arduino 遥控保时捷赛车:从改装底盘到手机 App 控制全攻略