物联网开发118 – 使用Micropython ESP32 C3连接Mini MP3 Player播放器模块

                       

 一、目的

        这一节我们来学习如何使用合宙ESP32 C3,连接Mini MP3 Player 播放器模块。此模块可以看做是一个简易的MP3,可以直接当做MP3来使用。当然我们也可以连接到开发板上,然后通过串口开控制它。下面我们一起来学习一下吧!

二、环境

        ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18)+ Mini MP3 Player 播放器模块 + 几根杜邦线 + Win10商业版

        ESP32 C3和模块接线方法:


三、模块介绍

        这是一款体积小巧的 M p3 模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,是任何有串口的单片机的一个模块。模块本身集成了Mp3 、 WAV 、 WMA的硬解码。同时简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠。

        特点:
1、支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1 /48
2、24位DAC输出,动态范围支持:90dB,信噪比支持:85dB
3、完全支持FAT16、FAT32文件系统,支持32G(峰值)的TF卡,支
  持32G的U盘、64M字节的NORFLASH
4、多种控制模式可选。IO控制模式、串口模式、AD按键控制模式
5、广播语插播功能,可以暂停正在播放的背景音乐。广告播放完毕
  回到背景音继续播放
6、音频数据按文件夹排序,限多支持100个文件夹,每隔文件夹可以
  分配255首曲目
7、30级音量可调,6级EQ可调

        适用场景:
1、车载导航语音播报
2、公路运输稽查、收费站语音提示
3、火车站、汽车站安全检查语音提示
4、电力、通信、金融营业厅语音提示
5、车辆进、出通道验证语音提示
6、边防检查通道语音提示
7、多路语音告警或设备操作引导语音
8、电动观光车安全行驶语音告示
9、机电设备故障自动报警
10、消防语音报警提示
11、自动广播设备,定时播报

         模块引脚图:

        模块原理图:

         按键原理图:

 产品资料下载:

https://pan.baidu.com/s/1KLn_sSFwyX5YXM5cecE-WA  提取码: tb6m

资料参考(可直接打开):

https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

JQ-8900-16P资料下载链接:

https://pan.baidu.com/s/1bqSSkDo6rkxGO-HAt7maPw  提取码: eyh2(软件在这份资料里)

四、示例代码

mp3_example.py

打开Thonny IDE,将一下代码拷贝到IDE中,运行:

from machine import Pin,UART
import time

# 创建UART串口
uart = UART(1,baudrate = 9600,tx = 0,rx = 1)
# 创建LED灯对象
led = Pin(12,Pin.OUT)
# 创建按键对象
key = Pin(5,Pin.IN,Pin.PULL_UP)

# 定义事件指令
up = bytearray(b'\x7e\xff\x06\x02\x00\x00\x00\xfe\xf9\xef')  #上一曲
on = bytearray(b'\x7e\xff\x06\x03\x00\x00\x02\xfe\xf6\xef')  #开灯
off = bytearray(b'\x7e\xff\x06\x03\x00\x00\x01\xfe\xf7\xef')  #关灯

# 创建按键函数
def KEY():
    if key.value() == False:  
        time.sleep(0.05)
        if key.value() == True:  # 如果按键值为false,则反转led灯状态
            led.value(not led.value())
            
            if led.value():  # 如果LED灯为真,则发送指令on,反之发off
                uart.write(on)
            else:
                uart.write(off)
            
            while not key.value():
                pass
            
# 创建main函数
def main():
    while True:
        KEY()
        
        
# 程序入口
if __name__ == "__main__":
    main()

演示效果:

        运行上述代码后,蓝色LED灯亮,当按一下按键后,蓝色LED灯熄灭,表示busy,板载红色LED灯亮,同时语音播报:“欢迎回家,灯光已开启”。

        然后当再按一下按键后,蓝色LED灯熄灭,表示busy,板载红色LED灯熄灭,同时语音播报:“期待相遇,灯光已关闭”。

五、环境

        命令介绍:

六、常见问题汇总

 七、串口命令控制

        我们也可以使用USB转TTL转接线,连接我们的电脑和MP3模块。使用串口工具发送命令进行控制。很简单,大家自己试验一下。

八、mp3模块购买地址

https://detail.tmall.com/item_o.htm?id=539104002603&pcdegrade=true&de_count=1&skuId=5044329371616https://detail.tmall.com/item_o.htm?id=539104002603&pcdegrade=true&de_count=1&skuId=5044329371616

物联沃分享整理
物联沃-IOTWORD物联网 » 物联网开发118 – 使用Micropython ESP32 C3连接Mini MP3 Player播放器模块

发表评论