第二十九篇、基于Arduino uno,控制MP3Player mini模块播放音乐——结果导向

这篇具有很好参考价值的文章主要介绍了第二十九篇、基于Arduino uno,控制MP3Player mini模块播放音乐——结果导向。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0、结果

说明:通电后播放对应的歌曲,可以选择循环播放还是播放一次,也可以通过串口指定播放对应的音乐,如果是你想要的,可以接着往下看。

1、外观

说明:虽然MP3Player mini模块有很多型号,但是原理和代码都是适用的。

2、连线 

说明:只需要连接六根线。
引脚图:

arduino 控mp3,arduino单片机的实际应用,单片机,嵌入式硬件,arduino
arduino 控mp3,arduino单片机的实际应用,单片机,嵌入式硬件,arduino

  • uno————MP3Player mini模块
  •  5V--------------VCC
  • GND--------------GND
  • 6--------------RX
  • 5--------------TX
  • 小喇叭任意一端--------------SKP1
  • 小喇叭任意一端--------------SPK2

3、源程序

说明:通电之后,播放第一首音乐,之后循环播放列表的音乐,也可以通过串口调试器输入对应的音乐。并将对应功能进行函数化,方便移植。

/****************************************mp3mini part****************************************/
/*
  注意:
  存储卡内的文件应该有相应的格式,
  最好先格式化存储卡
*/
#include "Arduino.h"                                //调用库文件
#include "SoftwareSerial.h"                         //调用库文件
#include "DFRobotDFPlayerMini.h"                    //调用库文件

#define volume1 20                                  //控制mp3音量,范围从0到30
SoftwareSerial mySoftwareSerial(5, 6);              //连接模块的TX和RX引脚
DFRobotDFPlayerMini myDFPlayer;                     //实例化对象

int receiveData = 0;                                //接收的数据
/****************************************set up and loop part*********************************/
void setup() {
  Serial.begin(9600);                               //设置串口波特率为9600
  mySoftwareSerial.begin(9600);                     //初始化软串口

  if (!myDFPlayer.begin(mySoftwareSerial)) {        //使用serial软件与mp3通讯。
    while (millis() <= 1000) {
      Serial.println("设备即将上线。");
    }
  }
  myDFPlayer.volume(volume1);                        //设置音量值。从0到30
  //myDFPlayer.loop(1);                              //循环播放第一个mp3
  //myDFPlayer.pause();                              //暂停mp3
  //myDFPlayer.next();                               //播放下一个mp3
  myDFPlayer.play(1);                                //播放第一个mp3
  myDFPlayer.enableLoopAll();                        //循环播放列表
}
void loop() {
  uartReceiveData();                                 //从串口接收数据
}
/****************************************mp3mini part****************************************/
/*从串口接收数据*/
void uartReceiveData() {
  if (Serial.available() > 0) {                      //如果串口发送数据,执行以下操作
    delay(10);
    if (Serial.read() == '*') {
      receiveData = Serial.parseInt();
      myDFPlayer.play(receiveData);                   //播放指定的音乐
      Serial.println(String("当前音乐") + receiveData);//串口打印对应的内容
    }
  }
}

4、注意事项

说明:需要在线下载对应的库文件才不会编译报错,可以在管理库中很方便的搜到,如果搜不到可以评论@我,我将私发给你。将mp3格式的音乐复制到内存卡中有一定的方式,首先需要将音频文件转成mp3格式,然后在电脑上将名字改成这种形式的,如下图,再在SD卡建立一个mp3文件夹,最后将改好名称的音频文件复制到这个mp3文件。
arduino 控mp3,arduino单片机的实际应用,单片机,嵌入式硬件,arduino

5、基本原理

        DFPlayer Mini是一款小,且价格低廉的MP3模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,作为FXduino UNO或者是任何有串口的单片机的一个模块。模块的集成了MP3、WAV、WMA的硬解码。同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。通过简单的串口指今即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠。文章来源地址https://www.toymoban.com/news/detail-768702.html

到了这里,关于第二十九篇、基于Arduino uno,控制MP3Player mini模块播放音乐——结果导向的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 二十三种设计模式第十九篇--命令模式

    命令模式是一种行为设计模式, 它将请求封装成一个独立的对象,从而允许您以参数化的方式将客户端代码与具体实现解耦 。在命令模式中, 命令对象充当调用者和接收者之间的中介 。这使您能够根据需要将请求排队、记录请求日志、撤销操作等。 命令模式的核心组成部

    2024年02月14日
    浏览(38)
  • arduino uno+驱动器控制42步进电机

    1.步进电机工作原理 步进电机通过不停的变换通电线圈和线圈的通电方向进行旋转,每次变换使步进电机转子转动1.8°。如图所示,这里采用的是两相四线步进电机,所有的转动都由以下四个步骤构成 2.arduino+驱动器+步进电机,接线示意图 3.编写arduino程序

    2024年02月13日
    浏览(37)
  • 路由器工作原理(第二十九课)

    路由器工作原理(第二十九课) 一图胜过千言 1) 路由:数据从一个网络到另外一个网络之间转发数据包的过程称为路由 2) 路由器:连接不同网络,实现不同网段之间的通信 3)路由表:路由器选择数据的传输路径的依据

    2024年02月14日
    浏览(39)
  • 第二十九章 Unity关节Joint

    关节组件将刚体连接到另一个刚体或空间中的固定点。关节施加使刚体移动的力,而关节限制功能可以限制该移动。Unity 提供的以下关节可以对刚体组件施加不同的力和限制,从而使这些刚体具有不同的运动: Hinge Joint铰链关节:使两个刚体像被连接在一个铰链上那样运动。

    2024年02月15日
    浏览(48)
  • arduino UNO通过AT指令控制esp8266连接WiFi及onenet云平台

    写下这篇文章是为了记录我学习使用esp8266的过程。在本文中我们会使用AT指令通过MQTT协议连接onenet云平台 1)关于onenet MQTT设备创建 在设备连接onenet平台中,你又几个设备onenet就需要添加几个设备,就比如我有一个arduino端,一个QT端,还有一个测试端需要连接同一个onenet MQ

    2024年02月01日
    浏览(45)
  • 【物联网】Arduino Uno开发板连接阿里云实现云端远程控制LED灯开关

    1 思维图概览 需要实现的有 ESP8266通过wifi与阿里云进行通信 ESP8266与Arduino Uno开发板的通信 Arduino Uno开发板与LED灯的通信 2 阿里云—ESP8266 部分 参考昨天的文章 【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信 https://blog.csdn.net/qq_33957603/article/details/124575

    2024年02月03日
    浏览(57)
  • 第二十九章 使用消息订阅发布实现组件通信

    PubSubJS库介绍 如果你想在 React 中使用第三方库来实现 Pub/Sub 机制, PubSubJS 是一个不错的选择。它是一个轻量级的库,可以在浏览器和 Node.js 环境中使用。 PubSubJS 提供了一个简单的 API ,可以让你在应用程序中订阅和发布消息。你可以使用 npm 来安装它: 1-引入使用 2-首先订阅

    2024年02月02日
    浏览(81)
  • 基于Arduino Uno开发板制作音乐播放器

    1.Arduino开发板 Arduino Uno 是一款基于 Microchip ATmega328P 微控制器的开源微控制器板,由 Arduino.cc 开发,最初于 2010 年发布。该板配备了一组数字和模拟输入/输出 (I/O) 引脚,可以连接到各种扩展板(屏蔽)和其他电路。 该板具有 14 个数字 I/O 引脚(6 个能够进行 PWM 输出)、6 个

    2024年02月16日
    浏览(47)
  • 基于Arduino UNO的智能自主避障小车和蓝牙遥控小车

           Hello,大家好!今天我要给大家分享我近期制作的一个arduino小项目----智能避障小车。之前在某站上无意间刷到某位博主制作的一款智能避障小车,觉得很有意思,便打算自己也做一个来玩玩,于是便制作了一款我自己理解的避障小车。在此基础上,我还增加了蓝牙遥控

    2024年02月01日
    浏览(54)
  • UNIX网络编程卷一 学习笔记 第二十九章 数据链路访问

    目前大多操作系统都为程序提供访问数据链路层的功能,此功能可提供以下能力: 1.能监视由数据链路层接收的分组,使得tcpdump之类的程序能运行,而无需专门的硬件设备来监视分组。如果结合使用网络接口进入混杂模式(promiscuous mode)的能力,那么应用甚至能监视本地电

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包