风筝
发表于: 昨天 18:59 | 显示全部楼层

想深入了解电子产品中的音频播放世界吗?为了帮助您入门,我们推荐HSC001模块。这是一款24位音频播放器,具有许多出色的功能:尺寸、价格等。您可以将其用于各种用途:在电梯中播放音乐、为各种设备生成声音等等。在本篇帖子中,我们将学习如何使用HSC001模块设置和播放音频文件。


所需的组件

●    HSC001串口语音播放器模块

●    Arduino Uno R3开发板

●    Micro USB OTG电缆

●    跳线


HSC001模块简介

HSC001是一款可以处理MP3和WAV文件的播放芯片。它还支持USB/SPI FLASH和FAT16/FAT32文件系统。您可以通过串口控制它。它的一些功能包括:

●    使用串口中的简单命令播放音乐

●    用户友好

●    从SPI FLASH播放歌曲

●    直接从USB下载到SPI FLASH

●    使用可靠

该芯片是完全定制的产品,为播放音频文件提供了经济实惠的解决方案。

HSC001-Intro.jpg


HSC001模块引脚分布

HSC001音频播放模块共有10个引脚,以下是各个引脚的定义:

HSC001-Pinouts.jpg

●    SP+:放大器正极引脚(扬声器功率最高为3W)

●    GND:接地

●    VDD:模块电源(3.3V 至 5.4V)

●    SP-:放大器负极引脚(扬声器功率最高为3W)

●    MUTE:静音输出

●    DP:USB-DP引脚

●    DM:USB-DM引脚

●    ADK:ADK按钮

●    TX:串口UART数据输出 - TTL 电平(3.3V)

●    RX:串口UART数据输入 - TTL 电平(3.3V)


使用HSC001模块和Arduino播放音频文件

现在让我们播放存储在连接到模块的闪存中的音频文件。为此,您需要通过串行端口向模块发送相关命令。


协议和相关命令可以在产品页面上的模块数据表中找到。


发送给模块的每个命令应具有以下格式:

●    起始位(0x7E)+数据长度(Len + CMD + para1 + para2)+ CMD + para1 + para2 +结束位(0xEF)

●    Len:Len 及其后续位数,结束位除外

●    CMD:命令字,如播放、暂停、音量等。

●    Para1:CMD 的第一个参数

●    Para2:CMD 的第二个参数

例如,以下命令播放存储在闪存中的第一个文件

7E04410001EF

此命令中,数据长度为 4,表示为 [04 41 00 01]。


硬件连接

按如下所示连接各个组件。然后使用OTG线缆将包含模块支持的音频文件的闪存(名为 0001、0002……)连接到模块。

HSC001-Wiring.png


代码

将以下代码复制到Arduino IDE并上传。此代码将播放存储在内存中的每个音频文件10秒,然后转到下一个文件。

  1. byte currentSound = 0x01;
  2. void setup() {
  3.   // start serial port at 9600 bps:
  4.   Serial.begin(9600);
  5.   //while (!Serial) {
  6.   //  ; // wait for serial port to connect. Needed for native USB port only
  7.   //}

  8. }

  9. void loop() {
  10.     Serial.write(0x7E);
  11.     Serial.write(0x04);
  12.     Serial.write(0x41);
  13.     Serial.write(0x00);
  14.     Serial.write(currentSound);
  15.     Serial.write(0xEF);
  16.     delay(10000);
  17.     currentSound = currentSound + 0x01;
  18.     if(currentSound > 10)
  19.       currentSound = 1;
  20. }
复制代码

代码说明

首先在代码中定义一个变量来存储当前播放的文件号

  1. byte currentSound = 0x01;
复制代码

然后以9600bps波特率启用串行通信

  1. Serial.begin(9600);
复制代码

接下来选择要播放的文件。在这些命令中,起始​​位 (0x7E)、数据长度 (0x04)、文件选择请求 (0x41)、文件号的千位和百位 (0x00)、文件号的十位和个位 (currentSound) 和结束位 (0xEF) 分别发送给模块。如果模块成功接收并执行命令,它将在串口中响应“OK”。

  1. Serial.write(0x7E);
  2. Serial.write(0x04);
  3. Serial.write(0x41);
  4. Serial.write(0x00);
  5. Serial.write(currentSound);
  6. Serial.write(0xEF);
复制代码

延迟10秒。

  1. delay(10000);
复制代码

将文件编号加1

  1. currentSound = currentSound + 0x01;
  2. if(currentSound > 10)
  3.   currentSound = 1;
复制代码

以上就是使用HSC001模块和Arduino开发板设置和播放音频文件的全部内容,如有任何疑问,请随时在本帖下面回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 707 | 回复: 1494



手机版|

GMT+8, 2024-12-19 02:11 , Processed in 0.035569 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表