串口控制语音模块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实际使用 。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xanadw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值