以下为DY-SV5W介绍摘抄模块应用手册

1.产品概述

DY-SV5W是本司自主研发的一款智能语音模块,集成IO分段触发,UART串口控制,ONE_line单总线串口控制,标准MP3等7种工作模式,简单拨码开关设置;板载5W D类功放,可直接驱动4Ω,3~5W喇叭;支持MP3,WAV解码格式,最大支持32G TF卡存储,可通过USB数据线连接电脑更新TF卡存储音频文件。

2.产品特性

1、支持MP3、WAV解码格式。

2、支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48。

3、24位DAC输出,动态范围支持90dB,信噪比支持85dB。

4、完全支持FAT16/FAT32文件系统,最大支持32G的TF卡。

5、自带5W D类功放,可直接驱动4Ω,3~5W喇叭。

6、UART串口控制语音播报功能,可控制播放,暂停,选曲,音量加减等功能,最大选曲65535首曲目,波特率9600bit/s。

7、支持IO触发播放功能,8个IO口单独触发8首曲目或8个IO口组合触发255首曲目。

8、支持One_line单总线串口控制,可控制播放,暂停,选曲,音量加减等功能。

9、支持3个配置IO进行多达7种工作模式选择,拨码开关设置简单。

3.模块接口及功能定义

引脚定义

引脚名称 引脚描述
5V电源正极 接5V电源正极
TXD/IO0 IO触发模式下为输入引脚IO0;UART控制模式下为TX引脚,连接控制端(MCU)的RX
RXD/IO1 IO触发模式下为输入引脚IO1;UART控制模式下为RX引脚,连接控制端(MCU)的TX
IO2 IO触发模式输入引脚IO2
IO3 IO触发模式输入引脚IO3
IO4/ONE_LINE IO触发模式输入引脚IO4;One_Line一线串口控制模式数据接收引脚
IO5 IO触发模式输入引脚IO5
IO6 IO触发模式输入引脚IO6
IO7 IO触发模式输入引脚IO7
BUSY 播放曲目时输出低电平(0V),播放结束输出高电平(3.3V)

IO输入输出特性

IO输入特性
VIL 低电平输入 0 0.8 V
VIH 高电平输入 2.7 3.3 V
IO输出特性
VoL 低电平输出 0 0.33 V

拨码开关模式配置

对应拨码开关上的编号 1 CON1 拨到数字端为低电平(下拉) 拨到ON端为高电平(上拉)

注:“按键组合播放”是指IO0-IO7输出对应的电平后恢复原来的高电平,类似于按键触发一次

“电平组合播放”是指IO0-IO7输出对应的电平后保持电平不变

“I/O组合(独立)模式0”与“I/O组合(独立)模式1”的区别在于前者模式释放电平后继续播放当前曲目至结束,后者模式释放电平后立即停止播放曲目。

4.模块尺寸

5 UART串口模式操作说明

5.1 通信格式

采用全双工串口通信;

波特率为9600,数据位:8 ,停止位1位,检验位 N。

起始码-指令类型-数据长度(n)-数据1-数据n-和检验(SM)

l ※ 指令码 :固定为AA。

l ※ 指令类型 : 用来区分指令类型。

l ※ 数据长度:指令中的数据的字节数。

l ※ 数据 :指令中的相关数据,当数据长度为1时,表示只有CMD,没有数据位。

l ※ 和检验 :为之前所有字节之和的低8位,即起始码到数据相加后取低8位。

※ 数据格式:发送的数据或命令,高8位数据在前,低8位在后。

5.2 通信协议

以下是本芯片返回和能识别的数据定义。

  1. 播放状态定义 :系统上电处于停止状态。

※ 00(停止) 01(播放) 02(暂停)

  1. 盘符定义: 切换盘符后处于停止状态。

※ USB:00 SD:01 FLASH:02 NO_DEVICE:FF

  1. 音量:音量总共为31级,0-30级,上电默认为20级。

  2. 播放模式定义:上电默认为单曲停止。

※ 全盘循环(00):按顺序播放全盘曲目,播放完后循环播放。

※ 单曲循环(01):一直循环播放当前曲目。

※ 单曲停止(02):播放完当前曲目一次停止。

※ 全盘随机(03):随机播放盘符内曲目。

※ 目录循环(04):按顺序播放当前文件夹内曲目,播放完后循环播放,目录不包含子目录。

※ 目录随机(05): 在当前目录内随机播放,目录不包含子目录。

※ 目录顺序播放(06):按顺序播放当前文件夹内曲目,播放完后停止,目录不包含子目录。

※ 顺序播放(07):按顺序播放全盘曲目,播放完后停止。

  1. EQ定义:上电默认EQ为NORMAL(00)。

※ NORMAL(00) POP(01) ROCK(02) JAZZ(03) CLASSIC(04)

  1. 组合播放定义:组合播放是按文件名来组合,文件要求存储在“XY”文件夹下,可以把要组合的文件名称更改为两个字节的名称,一般建议用数字表示。如: 01.mp3,02.mp3,也可以用两个字母或一个汉字命名。

5.3 通信指令

UART调试工具

UART模式详细开发资料查看“UART模式应用手册”

以下为Arduino串口通信控制DY-SV5W音频模块播放程序

#define UART_VIOCE   Serial3 // 音频通信
unsigned char vqTxBuf[6] = { 0xAA, 0x07, 0x02, 0x00, 0x00, 0x00 };  //选定曲目播放,改变4、5字节
unsigned char vqcTxBuf[7] = { 0xAA, 0x16, 0x03, 0x01, 0x00, 0x00 , 0x00 };  //选定曲目插播,改变5、6字节
unsigned char vbTxBuf[6] = { 0xAA, 0x02, 0x00, 0xAC             }; //播放
unsigned char vcTxBuf[6] = { 0xAA, 0x01, 0x00, 0xAB             }; //查询播放状态,00 停止; 01 播放; 02 暂停
unsigned char vtTxBuf[6] = { 0xAA, 0x10, 0x00, 0xBA             }; //结束播放
unsigned char vxTxBuf[6] = { 0xAA, 0x18, 0x01, 0x01, 0xc4       }; //单曲循环
unsigned char vdTxBuf[6] = { 0xAA, 0x18, 0x01, 0x02, 0xc5       }; //单曲播放
unsigned char v30TxBuf[6] = { 0xAA, 0x13, 0x01, 0x1E, 0xDC       }; //音量最大30级
unsigned char v20TxBuf[6] = { 0xAA, 0x13, 0x01, 0x14, 0xD2       }; //音量20级
unsigned char v25TxBuf[6] = { 0xAA, 0x13, 0x01, 0x19, 0xD7       }; //音量25级
unsigned char v10TxBuf[6] = { 0xAA, 0x13, 0x01, 0x0A, 0xC8       }; //音量10级unsigned long previousMillis = 0; //millis延时使用
// 使用millis()替换delay延时 interval:ms
boolean doDelayMillisTime(unsigned long interval, boolean state)
{unsigned long currentMillis = millis();if (currentMillis - previousMillis >= interval){previousMillis = currentMillis;state = !state;}return state;
}void setup()
{UART_VIOCE.begin(9600);UART_VIOCE.write(v30TxBuf, 6); //初始化音量UART_VIOCE.write(vxTxBuf, 6);//单曲循环vqTxBuf[4] = 0x01;vqTxBuf[5] = 0xb4;UART_VIOCE.write(vqTxBuf, 6); //选定曲目默认播放
}void loop()
{//每隔5秒插播一次音乐if (doDelayMillisTime(5000 , false) == true) {vqcTxBuf[5] = 0x03;vqcTxBuf[6] = 0xc7;UART_VIOCE.write(vqcTxBuf, 7);}
}

Arduino串口控制DY-SV5W音频播放相关推荐

  1. Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)

    设计者:STCode (公众号同名) 1)功能描述 这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的. 2)使 ...

  2. H5多媒体(用面向对象的方法控制视频、音频播放、暂停、延时暂停)

    视频,音频播放器会是我们在工作中用到的一些h5新标签,它自带一些属性,比如暂停播放,快进快退,但是,我们经常不用原生的样式或者方法,我们需要自定义这些按钮来达到我们需要的样式,也需要我们自定义来实现一 ...

  3. Android官方开发文档Training系列课程中文版:管理音频播放之控制APP的音量与播放

    原文地址:http://android.xsoftlab.net/training/managing-audio/index.html 引言 如果APP需要播放音频,允许用户可以控制音频的播放状态是很 ...

  4. 使用LM386的简单Arduino音频播放器和放大器

    原文地址:https://circuitdigest.com/microcontroller-projects/arduino-audio-music-player 使用LM386的简单Arduino ...

  5. js控制audio音量_js控制html5 audio音频暂停播放

    js控制html5 audio音频暂停播放 音乐控制 音乐 播放/暂停 重新播放 function rbf(){ var audio = document.getElementById('music1 ...

  6. 单片机串口控制树莓派3B播放HDMI视频,omxplayer,

    使用树莓派3B通过HDMI播放视频.并且使用串口去控制播放哪个视频. 1. 问题解耦 单片机串口控制树莓派3B播放视频? = 树莓派播放视频 + 单片机串口传参控制树莓派 树莓派播放视频:树莓派播放视 ...

  7. 安卓接收耳机按键控制音频播放

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 如今连接移动设备的耳机上基本都有按键,来控制音频的播放,暂停,下一首,上一首,或电话的拨打,视频的播放等功能.而外置媒体按键的按下,安卓系统接收到这个 ...

  8. iOS锁屏界面音频播放控制

    公司的app里面有后台音频播放功能,最近发现,当在锁屏界面(后台)时,不能控制播放页面的音频播放,是因为没有实现远程控制事件处理. 下面说说大概实现过程:由于后台播放功能早已实现(不做详细叙述),这里 ...

  9. 【Arduino + Linux】基于 Helix 解码库实现 MP3 音频播放

    目录 一.MP3 文件结构 1.1.ID3V2.3 1.1.1.标签头 1.1.2.扩展标签头 1.1.3.标签帧 1.2.音频数据 1.3.ID3V1 1.4.MP3文件结构图 二.MP3 解码库 ...

最新文章

  1. Git 分支 - rebase 变基
  2. Shell(12)——awk(2)
  3. if else可以看成一个完整的代码块
  4. [转]IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了!
  5. 2059 - authentication plugin 'caching_sha2_password' -navicat连接异常问题解决
  6. 再探正则表达式c++-html中搜索url
  7. 10 款最新的 jQuery 内容滑块插件
  8. CentOS安装之后的系统安全配置
  9. IT30:30岁IT男未来10年规划第1篇(2009-2020)
  10. 【Operator】七大互联网电视牌照商2016年下半年动向之中央三大台
  11. App Tamer for Mac
  12. altium Designer使用方法大总结
  13. 2021牛客寒假算法基础集训营1(A B C D E F H I J)
  14. 拓嘉辰丰电商:一个营业执照支持开多少家店铺
  15. Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request [亲测有用]
  16. 计算机中关于数字的进制转换
  17. 错过了愚人节,还有清明节
  18. 第五周 思维导图与快速学习
  19. 国企普通员工如何才能成为公务员,这三种途径可供参考
  20. Mac 开发者设置强迫症

热门文章

  1. 电商运营指标体系梳理
  2. AJAX 请求简讯
  3. 安天每日安全简讯20160713
  4. 唐天下文化传播:惹火2021公司新年年会,天下谁人不识君?
  5. 艾司博讯:拼多多旗舰店是正品吗?
  6. ExtJS 6 的一些 样式类配置项
  7. 开发者模式之GPU渲染模式分析
  8. 表单验证:文字输入不超过8个汉字或者16个字符
  9. Python实现一个总体的均值、比例、方差检验
  10. hadoop集群的集中管理