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

Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现

元器件清单

元器件数量备注
Arduino Nano R31体积小,适合小车
L298N 电机驱动模块1驱动两路直流电机
HC-05 蓝牙模块1串口透传,波特率 9600
直流减速电机 + 轮子2差速转向
多功能机器人 PCB (可选)1作者自制,也可用面包板/万用板
公母排针若干

所需工具

所需软件

项目原理

Arduino 本身算力不足以做语音识别,但可通过蓝牙与手机通信。手机 APP 利用 Google 语音识别 API (需联网) 将语音转文本,解析关键词后通过蓝牙发送单字符指令给 Arduino:

语音指令发送字符动作
前进 / forwardF两电机正转
后退 / backwardB两电机反转
左转 / leftL左轮反转、右轮正转
右转 / rightR左轮正转、右轮反转
其他/停止其他停止

车身制作

作者使用 13cm×13.5cm PVC 板材,刀具切割后热熔胶粘接。电机安装在板内侧,结构紧凑。PVC 板易切割、粘接,适合 DIY 车身。

电路接线

电机驱动 L298N

L298N 引脚Arduino 引脚
IN1 (左电机)4
IN2 (左电机)5
IN3 (右电机)2
IN4 (右电机)3
ENA/ENB接 5V 或 PWM 引脚 (本项目接 5V 全速)

蓝牙模块 HC-05

HC-05 引脚Arduino 引脚
TXDRX (D0)
RXDTX (D1) — 注意电平转换
VCC5V
GNDGND

注意:HC-05 RXD 接 Arduino TX 需分压 (Arduino 5V → HC-05 3.3V),或使用 3.3V 供电的 HC-05 模块。

供电

Arduino 代码

/**** Arduino 语音/声控机器人 ****
 * 作者:Ashraf Minhaj
 * 邮箱:ashraf_minhaj@yahoo.com
 */
int lm1 = 4; // 左电机 IN1
int lm2 = 5; // 左电机 IN2
int rm1 = 2; // 右电机 IN3
int rm2 = 3; // 右电机 IN4
char val;

void setup() {
  pinMode(lm1, OUTPUT);
  pinMode(lm2, OUTPUT);
  pinMode(rm1, OUTPUT);
  pinMode(rm2, OUTPUT);
  Serial.begin(9600); // 蓝牙通信波特率
}

void loop() {
  // 等待串口数据
  while (Serial.available() == 0);
  val = Serial.read(); // 读取指令字符
  // Serial.print(val); // 调试用

  // 前进
  if (val == 'F') {
    digitalWrite(lm1, HIGH);
    digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);
    digitalWrite(rm2, LOW);
  }
  // 后退
  else if (val == 'B') {
    digitalWrite(lm2, HIGH);
    digitalWrite(rm2, HIGH);
    digitalWrite(lm1, LOW);
    digitalWrite(rm1, LOW);
  }
  // 右转
  else if (val == 'R') {
    digitalWrite(lm1, HIGH);
    digitalWrite(rm2, HIGH);
    digitalWrite(lm2, LOW);
    digitalWrite(rm1, LOW);
  }
  // 左转
  else if (val == 'L') {
    digitalWrite(lm2, HIGH);
    digitalWrite(rm1, HIGH);
    digitalWrite(lm1, LOW);
    digitalWrite(rm2, LOW);
  }
  // 停止
  else {
    digitalWrite(lm1, LOW);
    digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW);
    digitalWrite(rm2, LOW);
  }
  delay(10);
}

手机 APP 制作 (MIT App Inventor)

  1. 打开 MIT App Inventor,导入作者提供的 .aia 源文件
  2. 核心组件:
  1. 逻辑:语音识别后 → 转小写 → 关键词匹配 → 发送对应字符 (F/B/L/R)
  2. 生成 APK 安装到手机

APP 关键逻辑伪代码

当 语音识别完成:
  文本 = 转小写(识别结果)
  如果 文本 包含 "forward" 或 "前进": 发送 "F"
  否则如果 文本 包含 "backward" 或 "后退": 发送 "B"
  否则如果 文本 包含 "left" 或 "左转": 发送 "L"
  否则如果 文本 包含 "right" 或 "右转": 发送 "R"
  否则: 发送 "S" (停止)

使用步骤

  1. 给小车供电,HC-05 进入配对模式 (指示灯快闪)
  2. 手机蓝牙设置中配对 HC-05 (默认密码 1234 或 0000)
  3. 打开 APP,点击"连接"选择 HC-05
  4. 按住语音按钮说指令,松开发送
  5. 享受语音控制乐趣!
Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
Fritzing 接线图
Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
APP 运行截图

项目源码链接

制造工艺

  1. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  2. Arduino与树莓派构建互联网控制视频流机器人完整指南
  3. 在树莓派 2 上用 Windows 10 IoT Core 构建语音控制机器人
  4. 用 Python 构建 Wi-Fi 控制的树莓派机器人:分步指南
  5. 废旧遥控车改装:Arduino + USB Host Shield 实现 Xbox 手柄无线控制
  6. Arduino UNO 自制循迹小车:从零构建自主巡线机器人
  7. Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
  8. 以太网远程控制机械臂 — 基于 Arduino 101 与 WIZ750SR
  9. MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
  10. PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
  11. 自主家庭助理机器人 O'nine - ROS + Alexa 语音控制 + 机械臂 + 麦克纳姆轮全向移动
  12. 蓝牙遥控避障机器人:打造智能远程操控小车