Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。

Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台

Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。

Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。

Micropython ESP频道

Micropython ESP32 C3连接Mini MP3 Player 播放器模块


Micropython ESP32 C3连接Mini MP3 Player 播放器模块

 一、目的

652ba0d841d34e0ea92f368c1f2bf397.png

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


二、环境


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


        ESP32 C3和模块接线方法:

————————————————

8c1f2bf397.png

三、模块介绍


        这是一款体积小巧的 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、自动广播设备,定时播报


         模块引脚图:

————————————————

652ba0d841d34e0ea92f368c1f2bf397.png

 模块原理图:

8c1f2bf397.png

     按键原理图:

652ba0d841d34e0ea92f368c1f2bf397.png

 产品资料下载:


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灯熄灭,同时语音播报:“期待相遇,灯光已关闭”。


五、环境


        命令介绍:

————————————————

652ba0d841d34e0ea92f368c1f2bf397.png六、常见问题汇总

652ba0d841d34e0ea92f368c1f2bf397.png

七、串口命令控制

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

652ba0d841d34e0ea92f368c1f2bf397.png

版权声明:本文为CSDN博主「魔都飘雪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/zhusongziye/article/details/131116116



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved

执行时间: 0.008685827255249 seconds