LD3320语音识别模块+Arduino UNO 开发板(控制LED灯和SG90舵机)

这是一篇LD3320+Arduino学习后的分享文章:(程序+接线)

       最近在网上看到很多关于LD3320语音识别模块+Arduino的使用教程,给我第一感觉高大上,对于一个小白的我来说,一开始以为会挺难的,后来学习过后发现也还可以,不是那么的遥不可及,于是就买了一个LD3320语音识别模块,在网上找了各个版本的程序进行学习,接下来就和大家分享一下吧!

       可以选择LED灯或者是SG90舵机(180度),舵机的话不一定是SG90舵机180度的,其他的都可以,比如360度舵机、MG995舵机、MG90S舵机都可以,我是把LED灯和SG90舵机放在一块控制的,这里只是分享一下我的学习经验。


  • 需要准备的材料
  1. LD3320语音识别模块
  2. Arduino
  3. 杜邦线
  4. LED灯/SG90舵机(180度)
  5. 面包板

 LD3320语音识别模块 


接线对照表

LD3320 语音识别模块Arduino UNO 开发板
3.3V(两个)3.3V
GND(两个)GND
MISOD12
MOSID11
SCKD13
CS/NSSD4
NC(5V)不用接
RSTD9
WRGND
IRQD2


 

注意:在接LD3320 语音识别模块的时候如果Arduino UNO 开发板上面的(GND3.3V接口不够用可以用面包板来辅助以下)

LED灯与Arduino UNO开发板接线

LED灯Arduino UNO开发板
负极(短头)GND
正极(长头)D8

SG90舵机+Arduino UNO开发板

SG90舵机(180度)Arduino UNO开发板
正极(红色线)5V
负极(棕色线)GND
脉冲输入(黄色线)~D6

 

以上的Arduino UNO 开发板上面的数字接口(除了GND和3.3V接口)都是够用的,用不到拓展板,当然你想控制更多的东西,你可以看情况而定


LD3320 语音识别模块的库文件下载链接🔗:https://pan.baidu.com/s/142FuthhR2O9mg6LTFHCYzg

提取码:f65e


 程序:

#include <Servo.h>                        //舵机头文件
#include <ld3320.h>                       //LD3320语音识别模块的头文件

Servo myservo;                                  //声明一个舵机对象
VoiceRecognition Voice;                         //声明一个语音识别对象

#define Led 8                                   //定义LED控制引脚

void setup()                                   
{
    myservo.attach(6);                          //定义6号引脚为舵机的脉冲输入引脚
    pinMode(Led,OUTPUT);                        //初始化LED引脚为输出模式
    digitalWrite(Led,LOW);                      //LED引脚低电平
    
    Voice.init();                               //初始化VoiceRecognition模块
    Voice.noiseTime(0x10);                      //上电噪声略过
    Voice.micVol(0x30);                         //调整ADC增益
    Voice.voiceMaxLength(0x14);                 //最长语音段时间
    Voice.addCommand("kai",0);             //"开"添加指令,参数(指令内容,指令标签(可重复))
    Voice.addCommand("guan",1);            //"关"添加指令,参数(指令内容,指令标签(可重复))
    Voice.addCommand("jiu shi du",2);           //90度
    Voice.addCommand("yi bai ba shi du",3);     //180度
    Voice.start();                              //开始识别
}
void loop() 
{
  switch(Voice.read())                          //判断识别
  {
    case 0:                                     //若是指令“kai deng”
    digitalWrite(Led,HIGH);                       //点亮LED
    break;

    case 1:                                     //若是指令“guan deng”
    digitalWrite(Led,LOW);                        //熄灭LED
    break;
 
    case 2:
    myservo.write(90);                            //90度
    break;

    case 3:
    myservo.write(180);                           //180度
    break;
  
    default:
    break;
  }
}

具体可以看这个这个网址可以提供一些具体的LD3320语音识别模块的具体参数调整:https://www.arduino.cn/thread-78023-1-20.html

在电路城上一篇详细介绍了非特定人语音识别模块LD3320原理图、示例代码、开发手册等,资料下载链接:https://www.cirmall.com/circuit/5439/detail?3 现在讲讲语音识别模块LD3320Arduino上的应用。 LD3320 语音识别模块概述: 采用SPI通信接口,板载咪头有源晶振,方便在电子产品中实现语音识别、声控人机对话等功能。注意事项: 由于该模块使用3.3V电压,所以将其Arduino连接时,请务必注意供电电压。 本教程主要实现:通过语音模块控制LED的亮灭。说&ldquo;开”,LED点亮;说&ldquo;关”,LED熄灭。 LD3320 语音识别模块概述: 采用SPI通信接口,板载咪头有源晶振,方便在电子产品中实现语音识别、声控人机对话等功能。 注意事项: 由于该模块使用3.3V电压,所以将其Arduino连接时,请务必注意供电电压(如配合Arduino UNO R3使用,建议加上电平转换模块);对于使用UNO PLUS开发板来说,切换电压很简单,只需将电压跳线帽配置为3.3V即可。 硬件准备: UNO PLUS I/O Expansion Shield LD3320 Shield 硬件连接: 1. 将IO Expansion Shield接入UNO PLUS,用跳线帽将两个板的电压配置为3.3V 2. 连接 LD3320 语音模块 3.3V -- VCC GND -- GND MISO -- D12 MOSI -- D11 SCK -- D13 NSS -- D4 RST -- D9 IRQ -- D2 WR -- GND 3. 将 D8 与XBEE接口的15号引脚连接,控制板载的 STATE LED闪烁。如果你动手能力比较腻害,可以用洞洞板连接一个LED驱动电路,其实就一个1K电阻一个发光二极管,D8为控制引脚;当识别到&ldquo;开”时,D8输出高电平;反之输出低电平。 程序截图: 说明: 源码下载见附件内容,如果下载后编译出错,将ld3320目录复制到Arduino sketchbook location地址的libraries文件夹内(在File->Preferenees里查看) 原文出处:https://www.waveshare.net/study/article-11-1.html
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值