arduino与语音模块LDV7(LD3320)的串口通信实现简单语音控制

简述

这里利用语音识别模块与arduino UNO 测试一个简单的语音控制小灯亮灭的程序。希望能给我一样的在两个东西的串口通信有困惑的小伙伴一个参考。有做的不对的地方,欢迎大家一起交流学习。

器件

语音模块LDV7
由一片stc11单片机和LD3320组成,我用的这个语音模块有五个针脚,分别是GND,RXD,TXD,3.3V,5V。此模块的工作电压是5v(使用手册说的是5v,但是我实际使用的结果是烧写代码用的5v,与arduino相连用的3.3v。如果连接arduino的5v就无法正常工作),代码的烧写需要用到USB转TTL与电脑端相连。(注意语音模块的RXD与TXD要跟USB转TTL模块的RXD,TXD反接)用keil编译代码后再用串口助手进行烧写。
跟我一样没有
(注:跟我一样在语音模块上没有复位按钮的需要在烧写代码时拔插GND口的线进行从新上电才能烧写进代码)

arduino UNO
这个就不再多介绍,使用的是0和1口,也就是RXD,TXD。接线图如下:
在这里插入图片描述
在这里插入图片描述

这里连接一个小灯来测试从串口的数据。下面进入代码。

代码部分

语音模块代码
由于这个语音模块的分为几个模式。并且代码也由厂商写好,只需要我们修改部分代码然后进行烧写即可。
在这里插入图片描述
我们没有用到语音模块的io口,所以这里我采用口令模式就可以了。进入代码有三个地方需要我们修改分别是LDChip.c中的关键词修改(包括唤醒指令及命令指令)、识别码以及识别码的宏定义修改和main中的发送的数据进行自行修改。如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方便测试,我只修改了main函数中发送的数据。将开灯和关灯发送的数据修改为1和2。如下图展示的:
在这里插入图片描述
完成修改就能烧写进语音模块并与arduino相连。

arduino代码部分

int md;
void setup() {
Serial.begin(9600);
pinMode(7,OUTPUT);
//pinMode();

}

void loop() {
  while(1)
  {
 if(Serial.available()>0)
 {
    md=Serial.read();
    switch(md)
    {
      case 49:
             digitalWrite(7,HIGH);
             break;
      case 50:
             digitalWrite(7,LOW);
             break;
       
      }
      Serial.println(md);
  }

}
}

这个测试代码需要解释的地方就是为什么接受到数据是49和50.这也是我自己疏忽的地方,因为我们发过来的是字符1和2,而arduino从串口缓冲器获取的数据是1和2的ASCII码也就是49,50。(当然也可以用char定义或者md==‘1’)。其他的也就没什么问题。

测试结果

测试结果我就用arduino编译器自带的串口监视器展示:

在这里插入图片描述

总结

做了一个LDV7语音模块与arduino串口传输的测试程序。方便记忆,也希望对有需要的人有帮助。如果对编写代码的keil有问题的欢迎和我交流。

  • 18
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: ld3320语音识别模块是一种基于语音识别技术的模块,可以与Arduino等开发板进行连实现语音控制等功能。它可以识别多种语音指令,并输出相应的控制信号,非常适合用于智能家居、智能机器人等领域。同时,该模块还具有较高的识别准确率和稳定性,可以满足各种应用场景的需求。 ### 回答2: LD3320是一种语音识别模块,能够与Arduino等开发板进行连使用。它是基于ARM Cortex-M3架构并集成了一定的语音识别算法。它通过自适应的噪音抑制算法和环境适应算法,能够在高噪音环境下进行语音识别,并且还具有语音合成的功能。除此之外,LD3320还支持在线语音识别和离线语音识别两种方式。 LD3320的使用比较简单,只需要将模块通过串口连Arduino板上,然后通过Arduino的软件串口进行控制即可。在使用之前,需要先将模块进行一定的配置,比如设置识别语言、设置识别模式等。在使用中,可以通过Arduino的代码进行语音的录入、识别和合成,并且还能够根据识别结果进行一定的控制,比如控制LED灯的开关、控制舵机的旋转等等。 LD3320的应用范围比较广泛,可以用于智能家居、智能车、语音机器人等场景。比如,在智能家居场景下,可以通过LD3320实现语音控制家电的开关或者调节家居环境的亮度、温度等功能;在智能车场景下,可以通过LD3320实现语音控制小车的行驶方向或者控制小车的避障;在语音机器人场景下,可以通过LD3320实现语音交互,让机器人能够识别用户的语音指令,并根据指令进行一定的动作或者回答用户的问题。 总的来说,LD3320语音识别模块是一种功能强大、使用简单语音识别设备,能够为智能化场景带来更加人性化的交互方式,具有非常广阔的应用前景。 ### 回答3: LD3320语音识别模块是一款基于语音识别技术的Arduino模块,它具有高度的可扩展性和开放性。该模块支持多国语言的语音识别和语音合成,并且可以通过串口或I2C口与单片机、电脑等设备连。 该模块内置了高性能的DSP芯片和自适应算法,可以实现高质量、准确、稳定的语音识别和语音合成。同时,该模块还支持唤醒功能,可以通过语音或外部信号来唤醒系统。 在使用该模块时,需要先对其进行初始化和配置,然后再进行语音识别和语音合成。可以通过Arduino IDE或其他串口工具来实现模块的配置和控制。 在实际应用中,该模块可以广泛应用于智能家居、智能机器人、语音导航、语音控制等场景,为用户提供更加便捷、智能的交互方式。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值