这是一篇LD3320+Arduino学习后的分享文章:(程序+接线)
最近在网上看到很多关于LD3320语音识别模块+Arduino的使用教程,给我第一感觉高大上,对于一个小白的我来说,一开始以为会挺难的,后来学习过后发现也还可以,不是那么的遥不可及,于是就买了一个LD3320语音识别模块,在网上找了各个版本的程序进行学习,接下来就和大家分享一下吧!
可以选择LED灯或者是SG90舵机(180度),舵机的话不一定是SG90舵机180度的,其他的都可以,比如360度舵机、MG995舵机、MG90S舵机都可以,我是把LED灯和SG90舵机放在一块控制的,这里只是分享一下我的学习经验。
接线对照表
LD3320 语音识别模块 | Arduino UNO 开发板 |
---|---|
3.3V(两个) | 3.3V |
GND(两个) | GND |
MISO | D12 |
MOSI | D11 |
SCK | D13 |
CS/NSS | D4 |
NC(5V) | 不用接 |
RST | D9 |
WR | GND |
IRQ | D2 |
注意:在接LD3320 语音识别模块的时候如果Arduino UNO 开发板上面的(GND和3.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 //舵机头文件
#include //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