前言
如果你的项目需要语音播报的功能,YS-M3是一个可选方案
![](https://img.haomeiwen.com/i5845585/20674059599c6682.png)
注意:
本模块有两种类型,观察第三个引脚,如果是GND则是低电平触发;如果是5v则是高电平触发。
![](https://img.haomeiwen.com/i5845585/92219b74ca1d2b21.png)
![](https://img.haomeiwen.com/i5845585/808382a3c7a21e29.png)
使用方法(以Arduino为例)
1. 准备TF卡
准备一个小于16G的TF卡,格式化后创建一个名为01的文件夹,要播放的语音包分别命令为001.mp3、002.mp3、、、共支持31个语音文件。mp3格式、wav格式均支持。
2. 单键触发方式
模块有A1-A9共9个直接触发端口,分别对应9首mp3文件;可以使用第三个引脚去触发,例如我们使用一个公对母杜邦线分别连接5V和A1端口,则播放第一首歌曲。或者使用单片机IO口触发(如果是高电平触发的mp3模块,IO口输出高电平即可)。
3.编码触发模式
如果模块为高电平触发版本,A10端口给与高电平,系统切换为编码触发模式;
其中A1-A5位5个编码端口,以二进制编码的方式,控制单片机播报指定编号的语音文件。
![](https://img.haomeiwen.com/i5845585/d94648ba76fd83c9.png)
如果是低电平触发版本,给与A10端口低电平,则以二进制编码反码的方式,控制播放;
![](https://img.haomeiwen.com/i5845585/dc47133a78ed94aa.png)
代码举例:
//这里使用Arduino的模拟口作为输出口,因为我的项目中数字口以及快被占用完了
void setup() {
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
pinMode(A5,OUTPUT);
}
//这里以高电平触发为例,这样则会播放第一个语音文件
void loop() {
digitalWrite(A1,1);
digitalWrite(A2,0);
digitalWrite(A3,0);
digitalWrite(A4,0);
digitalWrite(A5,0);
delay(200);
}
最后
该模块虽然操作简单便捷,但是不支持串口控制,有一点点不太方便
小技巧:
Arduino数字引脚不够用怎么办?
方法:将模拟口当成数字口使用,如果需要将模拟口0输出高电平,则可以写成digitalWrite(A0,1);
网友评论