Arduino是目前比较流行的一个基于易于使用的硬件和软件的开源电子平台,它可以使用现有的电子元件实现智能电子控制。LU-ASR01是一款支持离线语音识别的开发板,它可以通过识别中文语音输入,进行相应的处理。本文通过连接Arduino和LU-ASR01,利用LU-ASR01进行语音识别,然后通过串口通信方式实现Arduino的中文语音输入,再用Arduino对连接的其它电子设备进行相应的操作。
LU-ASR01语音识别的开发板一共8个I/O,1路输出的串口TX,1路传感器接口DHT。其中I/O1-I/O6可以输出PWM信号,I/O7、I/O8不能输出PWM信号,开发板采用USB接口进行供电,并可进行程序的烧录,板子的外观如下图:
本次实验连接Arduino UNO和LU-ASR01后,通过呼叫“打开灯光”,Arduino板上连接的LED灯就会被点亮,呼叫“关闭灯光”,则Arduino板上连接的LED灯会被熄灭。
硬件连接非常简单,因为采用串口通信方式,所以我们首先连接LU-ASR01的TX口到Arduino的RX口,然后在Arduino的D13口接上一个LED管的正极,负极接到相邻的地。连接图如下:
下面说一下程序的实现方法。首先我们对LU-ASR01进行编程,通过“天问block”的图形化编程实现。程序编写和烧录过程略过(注意一点:烧录程序前,务必断开二块板子TX到RX连的连接线),读者可自行查看相关资料。下面给出在“天问block”上的完整程序:
然后我们将下面的程序下载到Arduino UNO板,完整程序如下:
Arduino与ASR01语音识别模块的串口通讯实验
// 定义引脚
const int LedPin = 13; // led连接的引脚,作为LED灯的正极
String st=""; //串口读取的字符数据的字符串变量
//初始化
void setup() {
Serial.begin(9600); //设置串口波特率9600
pinMode(LedPin, OUTPUT); //设置LedPin
void loop() {
st="";
while(Serial.available() > 0){//当串口缓冲区有数据
st+=char(Serial.read());//将缓冲区数据累加读入st
delay(2);
if(st.length()>0){//st不为空
if(st=="t001") digitalWrite(LedPin, HIGH);//st为“t001”则LedPin置高电平,即开灯
if(st=="t002") digitalWrite(LedPin, LOW);//st为“t002”则LedPin置低电平,即关灯
if(st=="hello"){//st为“hello”则Led灯闪3下
for(int i=0;i<3;i++){
digitalWrite(LedPin, HIGH);
delay(100);
digitalWrite(LedPin, LOW);
delay(100);
最后连接二块板子TX到RX连的连接线,通上电源后,喇叭会发出“我们正在进行实验,请呼唤我“不赦先生”唤醒我”。然后我们呼叫“不赦先生”,LU-ASR01板会通过串口发出’hello’,Arduino收到’hello’后,LED灯会闪3下后熄灭。接着我们可以呼叫“打开灯光”,LU-ASR01板会通过串口发出’t001’(同时播报:已请阿杜打开灯了),Arduino收到’t001’后,就会点亮LED灯,我们可以再呼叫“关闭灯光”,LU-ASR01板会通过串口发出’t002’(同时播报:已请阿杜关闭灯了),Arduino收到’t002’后,就会熄灭LED灯。
本文通过连接Arduino和LU-ASR01,利用LU-ASR01进行语音识别,然后通过串口通信方式实现Arduino的中文语音输入,再用Arduino对连接的其它电子设备进行相应的操作。
实现
集语音控制、红外感应为一体的自动开关垃圾桶
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
全新的界面设计 ,将会带来全新的写作体验;
在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
增加了 图片拖拽 功能,你可以将本地的图片直接
Arduino
是一款便捷灵活、方便上手的开源电子原型平台,比较适合刚接触硬件的入门级开发者学习。在我身边有很多初学者都陷入了这么一种困境,已经将
Arduino
官网的教程全部跑完,然而还是没有太大的成就感,看到网上大神们基于
Arduino
各种各样的开发很羡慕,想动手做小项目又不知从何下手。由于网上较少看到完整项目开发流程,作为一个有较多嵌入式开发经验的“小江湖”,在此想自己综合自己的多年的开发经验,为以后的新人铺一条路。
作为
Arduino
的第一个项目——
智能
小车。优
神之蛋蛋:
Arduino与LU-ASR01语音识别模块的双向串口通信实现
Arduino的智能语音输入实现——Arduino与LU-ASR01的连接
冲向大厂搬砖:
Arduino与LU-ASR01语音识别模块的双向串口通信实现
ysj630557183:
Arduino与LU-ASR01语音识别模块的双向串口通信实现
2301_76757564: