串口控制语音模块XY-V17B
目录
前言
一、XY-V17B串口控制语音模块
二、使用步骤
1.接线图
2.串口通信
1. 先查询当前在线盘符
2. 查询当前播放盘符
3.切换到指定盘符
4.设置音量
5.查询播放状态
6.播放曲目
总结
前言
XY-V17B是一款智能语音模块,有四种控制方式:集成IO分段触发模式、UART串口控制模式、单总线串口(one_line)模式、标准MP3模式。语音文件只支持MP3,WAV这2种格式。优点是最大可支持32G TF卡存储,并且可通过USB数据线连接电脑更新TF卡存储音频文件。
一、XY-V17B串口控制语音模块
产品引脚图
产品特性:
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卡,支持32G的U盘。
5、支持UART串口控制语音播报功能,可控制播放,暂停,选曲,音量加减等功能,最大选曲65535首曲目,波特率9600 bit/s。
6、支持IO触发功能,8个IO口单独触发8首曲目或8个IO口组合触发255首曲目。
7、支持One_line单总线串口控制,可控制播放,暂停,选曲,音量加减等功能。
8、支持3个配置IO进行模式选择。
二、使用步骤
由于应用场景的需求是通过单片机控制,所以直接选择了UART串口控制模式
1.接线图
引脚说明:
1.模块供电可选 VDD、GND引脚,或者选择3.3V、GND引脚
2.模块的RX必须接单片机的TX引脚,TX必须接单片机的RX引脚(串口通信引脚都必须交叉)
3.DACR接功放模块喇叭的负极,DACL接功放模块喇叭的正极
4.CON3必须接高电平,CON2、CON1必须接低电平,不能悬空
2.串口通信
模块是全双工串口通信,波特率为9600,数据位:8 ,停止位1 位,检验位 N。
数据格式: 起始码-指令类型-数据长度(n)-数据1-数据n-和检验(SM)
指令码:固定为AA。
指令类型: 用来区分指令类型。
数据长度:指令中的数据的字节数。
数据:指令中的相关数据,当数据长度为1时,表示只有CMD,没有数据位。
和检验:为之前所有字节之和的低8位,即起始码到数据相加后取低8位。
数据格式:发送的数据或命令,高8位数据在前,低8位在后。
计算和校验(SM)的代码,拷贝十六进制数据到temp数组初始化的{}里面。
#include <stdio.h>int main()
{//int temp[] = {0xAA,0x09,0x00};int temp[] = {};int sum = 0;for(int i=0; i < sizeof(temp)/sizeof(temp[0]); i++){sum += temp[i];}printf("sum:%x\n",sum & 0x00FF);return 0;
}
1. 先查询当前在线盘符
指令:AA 09 00 B3
返回:AA 09 01 盘符 SM
盘符:按位区分,USB:BIT(0) SD:BIT(1) FLASH:BIT(2),对应值则是下面
USB:01 SD:02 FLASH:04
使用的是TF卡的话,会返回SD:02的状态。
拔出TF卡,查询盘符,返回是AA 09 01 00 B4。
2. 查询当前播放盘符
指令:AA 0A 00 B4
返回:AA 0A 01 盘符 SM
盘符:USB:00 SD:01 FLASH:02 NO_DEVICE:FF
3.切换到指定盘符
指令(切换到U盘): AA 0B 01 00 B6
指令(切换到TF卡):AA 0B 01 01 B7
指令(切换FLASH): AA 0B 01 02 B8
4.设置音量
直接简单使用音量加功能,音量默认开机是20,范围0-30。
指令:AA 14 00 BE
5.查询播放状态
指令:AA 01 00 AB
返回:AA 01 01 播放状态 SM
播放状态:00 停止;01 播放;02 暂停,实际返回了AA 01 01 00 AC,表示处于停止状态
6.播放曲目
从头开始播放当前曲目
指令:AA 02 00 AC
当然你也可以指定曲目,所有数据都必须以16进制发送。
指令:AA 07 02 曲目高 曲目低 SM
设置循环模式
指令:AA 18 01 循环模式 SM
总结
以上基本就是对于XY-V17B的使用了,需要注意的就是接线CON1、CON2不要漏接,喇叭正负极不要接反,拷贝到TF卡的音乐格式,之后结合UNO或者NANO实际使用 。
串口控制语音模块XY-V17B相关推荐
- Arduino串口控制DY-SV5W音频播放
以下为DY-SV5W介绍摘抄模块应用手册 1.产品概述 DY-SV5W是本司自主研发的一款智能语音模块,集成IO分段触发,UART串口控制,ONE_line单总线串口控制,标准MP3等7种工作模式,简 ...
- 51单片机 小车 L298N pwm调速 串口控制 按键控制
难点:1.串口定时器T1,和T0定时器优先级 2.pwm频率与占空比的设置 按键控制 按键1--前进 按键2--后退 按键3--加速 按键4--减速 (板子上只有四个按键) 串口控制 '1'--前进 ...
- 双轴机械臂串口控制命令开发与测试:STM32F103控制板,简易调试命令集合
▌01 底层串口控制命令 1.调试说明 本文是继 调试机械臂一体化控制电路 博文中对于 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 在 基于STM32F103双轴机械臂完整电路板 控制下进行串口 ...
- linux 控制终端卡,配置通过串口控制linux操作系统的终端
开始之前,请确认机器有串口(com口, RS232接口),如果没有,那就没有办法达到通过串口控制机器的目的了.当然,也可以额外给机器安装一个带串口的 PCI 模块,然后想办法将模块驱动起来(内核默认能 ...
- STM32F103:二.(2)串口控制LED
串口控制LED 大概通一下流程,具体USART和NVIT后续再写 不得抱怨一句,这芯片贵的让人发吐,让我们学生党还怎么活 最近学习越学越没有动力,一点学习的心情都没,脑壳疼,先把32入门看后续写会不会 ...
- 单片机串口控制树莓派3B播放HDMI视频,omxplayer,
使用树莓派3B通过HDMI播放视频.并且使用串口去控制播放哪个视频. 1. 问题解耦 单片机串口控制树莓派3B播放视频? = 树莓派播放视频 + 单片机串口传参控制树莓派 树莓派播放视频:树莓派播放视 ...
- STM32通过串口控制LED闪烁或者呼吸效果
STM32通过串口控制LED闪烁或者呼吸效果 目录 STM32通过串口控制LED闪烁或者呼吸效果 1.准备工作 2.思路分析 3.实际操作 4.小结 1.准备工作 1.首先我们需要准备32的最小系统板 ...
- php控制舵机,分享一个关于SG90舵机的实验(+串口控制)
新手第一次做实验,如果有写的不对的地方,还希望各位大佬多多指导. --------第一次做实验,也发现了自己学习过的东西掌握的不是很好,大佬们有啥入门级别的模块也可以推荐一下,分享当然更好了. --- ...
- 小车PWM调速-串口控制
小车PWM调速-串口控制 串口控制调速,即通过串口修改speed的值, 1.将上节PWM调速用到的定时器0源文件和头文件引入进来,工程文件如下 mian.c:主函数 Motor.c:小车前进.后退.左 ...
最新文章
- python进程数上限_python如何控制进程或者线程的个数
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
- 5家顶级投资方同台现身,力捧神策数据为哪般?
- 基于live555实现的RTSPServer对底层进行性能优化的方法
- 汇编环境的搭建(windows 10 + debug)
- java速成----一篇博文搞定基础
- POJ 1862 Stripies
- 缅怀清明-记爷爷这一生
- 树及树的算法(4) —— 红黑树
- 局域网不能访问的问题
- 海量数据处理问题汇总
- AF monitor tuning <2>
- java 8书籍_清华大学出版社-图书详情-《Java 8高级应用与开发》
- 【人工智能】未来三年(2018-2020),我们在新一代人工智能产业能做什么
- 基于图的下一代入侵检测系统
- Proteus软件下载安装(包含win10安装proteus8.0+报错问题解决)
- 语料库数据处理个案实例(计算机搭配强度、删除表中的停用词、词料检索的KWIC实现)
- 发现解决心脏病支架手术后心慌憋气的方法
- CentOS 7 安装Google Chrome
- matplotlib画3dbox