当前位置: 首页 > news >正文

什么是EasyVR shield 3?如何设置EasyVR shield 3

目录

✅ 一、EasyVR Shield 3 是什么?

▶ 简介:

🔧 二、主要功能:

📦 三、硬件连接方式

✅ 模块外观:

✅ 四、设置步骤(安装与配置)

🔧 第一步:准备材料

🔧 第二步:模块模式设置(跳线帽)

🔧 第三步:安装 Arduino 库

🔧 第四步:安装 EasyVR Commander(可选)

🔧 第五步:训练命令(可选步骤)

✅ 五、在 Arduino 上使用 EasyVR Shield 示例代码

📌 六、常见问题 FAQ

✅ 七、总结

✅ 一、项目目标

📦 二、所需材料清单

🔌 三、硬件接线说明

✅ EasyVR Shield:

✅ L298N 电机驱动模块:

🎙 四、训练语音命令(使用 EasyVR Commander)

步骤:

👨‍💻 五、Arduino 控制代码示例

✅ 六、测试流程

❗ 七、常见问题排查

✅ 八、扩展方向


下面我会系统、清晰地讲解 EasyVR Shield 3 是什么、它的用途、以及如何设置与使用它。


✅ 一、EasyVR Shield 3 是什么?

▶ 简介:

EasyVR Shield 3 是一个专门为 Arduino 或兼容开发板设计的语音识别模块扩展板,由 Veear Technologies(现在由 Parallax 代理)推出。

它可以让你的 Arduino 实现语音控制功能,比如说:

“Turn on the light” → Arduino 控制 LED 打开。


🔧 二、主要功能:

功能名称描述
🎙️ 离线语音识别不依赖互联网,在本地识别语音命令
🗂️ 支持自定义命令你可以训练自己的词组或句子
🧠 支持文本到语音(TTS)可选功能,模块可发出语音反馈
🔊 音频输出接口可连接喇叭进行语音提示
🔌 与 Arduino 兼容插在 Arduino 上即可使用
📦 预定义命令组支持“动作”“数字”“颜色”等命令集


📦 三、硬件连接方式

✅ 模块外观:

  • 看起来像 Arduino Shield(可以直接插在 Arduino UNO 上)

  • 带有麦克风、电源接口、串口跳线帽(MODE)

  • 使用 UART(串口通信)进行语音数据交换


✅ 四、设置步骤(安装与配置)

🔧 第一步:准备材料

材料说明
Arduino UNO/Nano/Mega控制板(UNO最兼容)
EasyVR Shield 3语音识别模块
USB 线上传代码用
可选:喇叭或耳机听模块语音反馈
可选:EasyVR Commander 软件配置模块 & 训练命令


🔧 第二步:模块模式设置(跳线帽)

EasyVR Shield 有一个模式选择跳线帽(标注为 "PC ↔ MCU"):

  • 配置模式(PC):用于连接 EasyVR Commander 配置命令集

  • 通信模式(MCU):正常与 Arduino 通信运行程序

📌 出厂默认为 “MCU” 模式(使用前训练语音要跳到 “PC” 模式)


🔧 第三步:安装 Arduino 库

  1. 打开 Arduino IDE

  2. 点击 工具管理库

  3. 搜索:EasyVR

  4. 安装 EasyVR for Arduino 官方库(由 VeeaR 发布)


🔧 第四步:安装 EasyVR Commander(可选)

用于:

  • 在电脑上训练语音命令(录音)

  • 上传命令组到模块内存

  • 连接模块时需把跳线帽设置为 PC 模式

📥 官方软件下载:

  • EasyVR Commander 下载页面


🔧 第五步:训练命令(可选步骤)

  1. 把跳线帽设置为 “PC” 模式

  2. 用 USB 转串口连接 EasyVR 到电脑

  3. 打开 EasyVR Commander

  4. 新建命令组,录入你想识别的指令(如 “灯开”)

  5. 上传命令组到模块

  6. 设置回 “MCU” 模式


✅ 五、在 Arduino 上使用 EasyVR Shield 示例代码

#include <EasyVR.h>
#include <SoftwareSerial.h>SoftwareSerial port(12, 13); // Arduino 与 EasyVR 的通信引脚
EasyVR easyvr(port);int ledPin = 8; // LED 控制引脚void setup()
{pinMode(ledPin, OUTPUT);Serial.begin(9600);port.begin(9600);if (easyvr.detect() == false) {Serial.println("EasyVR not detected!");while (1);}Serial.println("EasyVR detected!");easyvr.setTimeout(5); // 设置识别超时easyvr.setLanguage(EasyVR::ENGLISH); // 设置语言(中、英、日等)
}void loop()
{Serial.println("Say a command...");easyvr.recognizeCommand(0); // 识别第 0 个命令组while (!easyvr.hasFinished()); // 等待识别完成int idx = easyvr.getCommand();if (idx == 0) {digitalWrite(ledPin, HIGH);  // 识别到第一个命令:开灯Serial.println("LED ON");}else if (idx == 1) {digitalWrite(ledPin, LOW);   // 识别到第二个命令:关灯Serial.println("LED OFF");}
}

🧪 假设你训练的 0 号命令组包含:

  • Index 0: “Turn on the light”

  • Index 1: “Turn off the light”


📌 六、常见问题 FAQ

问题解决办法
识别失败麦克风位置是否正确?训练是否清晰?
EasyVR Commander 连不上跳线帽是否切换到 PC 模式?端口是否选择正确?
无法上传命令组检查模块供电、串口线是否可靠连接
想让它识别中文EasyVR 支持中文语音包,需选择中文语言模型(需要中文库)


✅ 七、总结

项目内容
名称EasyVR Shield 3
功能离线语音识别,可语音控制 Arduino
配置工具EasyVR Commander
使用步骤接线 → 录音训练 → Arduino 编程
技术要求熟悉串口、Arduino 编程、基础英语
应用场景智能家居、语音小车、语音开关控制等

假设我们现在要实现一个 用语音控制小车前进 / 后退 的项目,使用的是 EasyVR Shield 3 + Arduino + 小车底盘

下面我会手把手带你实现这个项目,从硬件、语音命令训练到完整代码,一步一步来:


✅ 一、项目目标

通过语音命令控制小车运动方向:

  • “前进” → 小车前进

  • “后退” → 小车后退

  • “停止” → 小车停止


📦 二、所需材料清单

名称描述
Arduino UNO主控板(推荐 UNO)
EasyVR Shield 3语音识别模块,安装在 Arduino 上
L298N 电机驱动模块控制电机前进/后退
直流电机+小车底盘小车运行组件
9V 或 18650 电池电机供电
跳线若干接线用


🔌 三、硬件接线说明

✅ EasyVR Shield:

  • 直接插在 Arduino UNO 上即可

✅ L298N 电机驱动模块:

Arduino 引脚L298N 模块引脚说明
5IN1控制左电机方向 A
6IN2控制左电机方向 B
9IN3控制右电机方向 A
10IN4控制右电机方向 B
12V 电池12V 输入为电机供电
GNDGND共享地线

PS:如果你是四轮小车,可将两边电机分别接到 OUT1/OUT2 和 OUT3/OUT4。


🎙 四、训练语音命令(使用 EasyVR Commander)

步骤:

  1. 将 EasyVR Shield 设置为 PC 模式(拨跳线帽)

  2. 连接电脑,打开 EasyVR Commander

  3. 创建一个命令组(Group 0),录入以下命令:

    • Command 0: "前进"

    • Command 1: "后退"

    • Command 2: "停止"

  4. 上传到模块内存

  5. 设置跳线帽回 MCU 模式


👨‍💻 五、Arduino 控制代码示例

#include <EasyVR.h>
#include <SoftwareSerial.h>EasyVR easyvr(12, 13); // RX, TX
int motorPin1 = 5;
int motorPin2 = 6;
int motorPin3 = 9;
int motorPin4 = 10;void setup() {Serial.begin(9600);easyvr.begin(9600);pinMode(motorPin1, OUTPUT);pinMode(motorPin2, OUTPUT);pinMode(motorPin3, OUTPUT);pinMode(motorPin4, OUTPUT);if (!easyvr.detect()) {Serial.println("EasyVR not detected!");while (1);}Serial.println("Ready for commands...");easyvr.setTimeout(5);        // 设置识别超时easyvr.setLanguage(EasyVR::CHINESE);  // 设置语言为中文
}void loop() {Serial.println("Listening...");easyvr.recognizeCommand(0); // 启动对第0组命令的识别while (!easyvr.hasFinished()); // 等待识别结束int command = easyvr.getCommand();if (command == 0) { // 前进forward();Serial.println("Forward");} else if (command == 1) { // 后退backward();Serial.println("Backward");} else if (command == 2) { // 停止stopMotor();Serial.println("Stop");} else {Serial.println("Command not recognized.");}
}void forward() {digitalWrite(motorPin1, HIGH);digitalWrite(motorPin2, LOW);digitalWrite(motorPin3, HIGH);digitalWrite(motorPin4, LOW);
}void backward() {digitalWrite(motorPin1, LOW);digitalWrite(motorPin2, HIGH);digitalWrite(motorPin3, LOW);digitalWrite(motorPin4, HIGH);
}void stopMotor() {digitalWrite(motorPin1, LOW);digitalWrite(motorPin2, LOW);digitalWrite(motorPin3, LOW);digitalWrite(motorPin4, LOW);
}

 


✅ 六、测试流程

  1. 上传代码到 Arduino

  2. 给电机供电(推荐用外接 9V/12V)

  3. 打开串口监视器 → 说出你训练的命令:“前进 / 后退 / 停止”

  4. 小车应该能相应动作!


❗ 七、常见问题排查

问题原因与解决方式
小车不动电机供电不足 / 驱动模块未连接好
语音识别失败命令未训练成功 / 模块跳线帽没拨回 MCU 模式
前进后退方向不对交换 IN1-IN2 或 IN3-IN4 的引脚方向
模块没被识别代码中串口或语音组号设错 / 跳线接反


✅ 八、扩展方向

你可以在这个基础上继续拓展,比如:

  • 增加语音控制“左转 / 右转”功能

  • 加入避障模块(超声波)增强自动能力

  • 语音说“巡线模式”,小车进入循迹

  • 或者加入蓝牙、遥控模块作为备用控制方式

http://www.lryc.cn/news/603847.html

相关文章:

  • 大模型应用开发模拟面试
  • 用动态的观点看加锁
  • TCMalloc 内存分配原理简析
  • 2-verilog-基础语法
  • Coze Studio概览(三)--智能体管理
  • sqli-labs通关笔记-第24关 SQL二次注入(单引号闭合)
  • 硬件学习笔记--73 电能表新旧精度等级对应关系
  • debug redis里面的lua脚本
  • Spring Boot 防重放攻击全面指南:原理、方案与最佳实践
  • ElasticSearch 的3种数据迁移方案
  • 在Word和WPS文字中把全角数字全部改为半角
  • Vue2学习-MVVM模型
  • Spring Boot 简单接口角色授权检查实现
  • C++入门知识学习(上)
  • 嵌入式学习日志(十一)
  • css3之三维变换详说
  • SQL Server中的分页查询
  • leetcode热题——螺旋矩阵
  • 第十一天:不定方程求解
  • 镁金属接骨螺钉注册检测:骨科植入安全的科学基石
  • Rust基础-part8-模式匹配、常见集合
  • 亚马逊 Vine 计划:评论生态重构与合规运营策略
  • 学习笔记-中华心法问答系统的性能提升
  • 小孙学变频学习笔记(十二)机械特性的调整 机械特性的改善
  • 想要批量提取视频背景音乐?FFmpeg 和转换器都安排上
  • Day 25:异常处理
  • VTK开发笔记(一):VTK介绍,Qt5.9.3+VS2017x64+VTK8.2编译
  • Zynq SOC FPGA嵌入式裸机设计和开发教程自学笔记:GPIO扩展与中断控制技术,万字详解!!
  • 车载刷写架构 --- 整车刷写中为何增加了ECU 队列刷写策略?
  • 服务器分布式的作用都有什么?