- Arduino案例实战(卷Ⅳ)
- 李永华
- 1213字
- 2021-03-23 22:59:49
2.3 功能及总体设计
本作品主要分为两个模块进行设计:音乐模块和联网模块。音乐模块的主要功能是实现音乐播放器的相关功能,读取SD卡中的音乐文件(MP3、WAV音乐文件)的解码、译码以及播放、暂停等功能;联网模块的主要功能是将控制端从计算机解放出来,实现本项目中“Free”的含义,用手机远程操纵时,能接收到命令,并返回相应的结果语句给客户端,达到方便快捷的目的。
2.3.1 功能介绍
用户只需将MP3或WAV文件存于SD卡中,便可通过手机APP以遥控或对话的形式对作品进行远程控制,实现播放、暂停、上/下一曲、停止、随机、音量+/-,以及播放生日歌、闹铃、火情通知、校园广播等特色功能。SD卡中的音乐文件格式较常规,从网上下载的歌曲无须转换格式就可以直接存入卡中等待播放。不同于其他音响,本音响可实现远程控制,还可以通过选定音乐编号来直接播放喜欢的音乐。
2.3.2 总体设计
要实现上述功能需要将作品分成两个模块进行设计:音乐模块和联网模块。音乐模块选用功能较全的DFPlayer Mini MP3播放器模块和兼容性较好的8GB SD卡;联网模块由ESP8266-01S和贝壳物联平台构成,实现命令的无线传输。Arduino UNO R3开发板将两个模块连接起来,是项目的核心控制器。
1.整体框架图
项目的整体框架如图2-1所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P60_1723.jpg?sign=1739554855-w28MDwxpUq37ctd0r5P6G4By9QW0volr-0-f609c9f19484ea04119120b5d5e1a2ca)
图2-1 整体框架图
2.系统流程图
系统的流程如图2-2所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P61_1729.jpg?sign=1739554855-kbtHibPUc9keXbi9Yq1DQObjw6izfhDk-0-6d2805d129ab4b87943fad311e71b565)
图2-2 系统流程图
接通电源后,客户端检查设备是否在线,若在线,则检查是否为有效命令输入,若是,则执行,否则保持上一状态,当上一命令执行完毕后,设备将进入等待状态。当有效命令是休眠状态时,设备进入低功耗状态,不再工作。
3.总电路图
系统总电路及Arduino UNO开发板、DFPlayer Mini MP3播放器、ESP8266-01S的引脚连线如图2-3所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P62_1735.jpg?sign=1739554855-5XjQ2HQ5OojbXS2FTTCOyV4rLOMHnLxo-0-d9b94bec1ccc1499835a90c6e52a61cc)
图2-3 总电路图
元件引脚连线如下:
1)DFPlayer Mini MP3播放器与Arduino、小扬声器连线的模块如图2-4所示,引脚连线如表2-1所示。
2)ESP8266-01S与Arduino的连线模块如图2-5所示,引脚连线如表2-2所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P63_2802.jpg?sign=1739554855-AKeyxsWmTPfFtXX4BJBSOKGgkjChByv2-0-210c31242636cf7c8c53c33aaed78691)
图2-4 DFPlayer Mini MP3播放器模块
表2-1 DFPlayer Mini MP3播放器引脚连线
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T63_11122.jpg?sign=1739554855-1Fkdz1NgsPM8zOPi1QJM1yg719w6PBu5-0-6e4ade8a982d6dde78f0b66ba0eb2360)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P63_2816.jpg?sign=1739554855-FXTaH93GpNpMBqO992sjqkBkajVQURLg-0-6802f7469750f4c18c21ba86212d00ba)
图2-5 ESP8266-01S模块
表2-2 ESP8266-01S引脚连线
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T63_11125.jpg?sign=1739554855-1QdAAbomqFAsFza6xm5uzz11o0OsCsAi-0-182fbcb111688ec4a9ecbb004241e52b)
2.3.3 模块介绍
本项目主要包括音乐模块和联网模块,下面分别给出各部分的功能、元件、电路图和相关代码。
1.音乐模块
1)功能介绍
实现播放、暂停等音乐播放器的基本功能。元器件包括DFPlayer Mini模块、SD卡、Arduino UNO R3开发板、小扬声器。电路如图2-6所示,模块引脚功能如表2-3所示,串口指令格式如表2-4所示,串口控制指令如表2-5所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P64_2836.jpg?sign=1739554855-9r0NAcwlxPFxLvhAmiutmR9VZCcS9IlI-0-d47da25b0dbc19fd81b7f82240f8565e)
图2-6 音乐模块电路图
表2-3 DFPlayer Mini模块引脚功能
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T64_11128.jpg?sign=1739554855-6ZcYBv2erVTY3n1slPufjzzdXIceTZ1B-0-a023fb9e5abb450366cbcdbd1fd73fed)
表2-4 串口指令格式
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T65_11131.jpg?sign=1739554855-g4jrWQQ47MZxgiyELOL0BNWnxzK0J6XP-0-b14c70cf25836bf0b0fa3656176efaed)
表2-5 串口控制指令
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T65_11133.jpg?sign=1739554855-q6Uz3zv4YdiS2y7ZbeEk2KBYfzWbUXpK-0-0289810b6e1c20837028ee45981624dd)
2)库函数
头文件:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P66_11135.jpg?sign=1739554855-CEIOFxYQGVwBVjbWjK1Qp7MI3NlV6v0A-0-03078f01525aaf13a75597d4c56c4e67)
cpp文件:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P67_11136.jpg?sign=1739554855-yuR1QvoerrESWBiCbGGABG3i7r26OHmg-0-6f263076432b552d42363e7556c14121)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P68_11137.jpg?sign=1739554855-lREM00ovrgbhhMM8z5w9llxwbOF4R3tt-0-4a92793c1e55e72be54bc94c27be86c2)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P69_2977.jpg?sign=1739554855-Ie3jIdkwBkTbHail4yLKre7CLYUBVRvN-0-fab7ae3e4ac01cf987eefb0bd5011da6)
3)相关代码
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P70_11138.jpg?sign=1739554855-7a75eZSh0mmNhxcSFUsSTNKx83SK85Pv-0-9882208d2515b0936340def5af697bf9)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P71_11139.jpg?sign=1739554855-9NkwEiEnd86hzKjqEkTG450T5ZOBMMXg-0-cf5306d618e9a6de3c3234577ddd88b7)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P72_11140.jpg?sign=1739554855-fnxec0KDN4nV8KNLqahbuh5CQTTABbL0-0-8fd54bc6a7564cafca2d0ef7b8e51143)
2.联网模块
1)功能介绍
与贝壳物联的服务器相连,实现命令的远程传输,并将音响、计算机网页端、手机应用端连接在一起,元器件包括ESP8266-01S、Arduino开发板及手机客户端。元器件的模块电路和控制端通信如图2-7和图2-8所示。手机控制端与设备的通信,在相关代码中已做说明,详见代码解析。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P72_2995.jpg?sign=1739554855-w4TwrbNKusXXaET2LZGHMTSTTwNFwMRR-0-a46e3e7e0bbaa92c8da1864032277b8f)
图2-7 ESP8266模块电路
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P73_3000.jpg?sign=1739554855-k7cTmwctvRGfTEHCB9sz0dHKlkxXZFgh-0-3c65ccbb3bfb31dab8341187d13a662b)
图2-8 手机控制端与设备的通信
2)相关代码
代码1:对ESP8266进行透传设置,并自动连接贝壳物联的服务器。
AT ATE0 AT + RESTORE AT + CWMODE = 1 AT + CWJAP = "Jasmine","wrj04300" AT + CIPMODE = 1 AT + SAVETRANSLINK = 1,"121.42.180.30",8181,"TCP"
注意:每个命令输入后均需手动换行。
代码2:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P73_11142.jpg?sign=1739554855-KRGcPwYg3blqowMKqiHJjmTSBJf3G138-0-1656b05851fb93f8addf79eb916e4b81)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P74_11143.jpg?sign=1739554855-VVs3vGSKPwTW1wfHRRHLVhmtmKh8HAcs-0-bd77f762076d0826316417a993f1920a)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P75_11144.jpg?sign=1739554855-R6GH89ez7WdSwqc4eocZ3fKUE6CF39GY-0-dff5656298ae8eaab89ef03f70a380aa)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P76_11145.jpg?sign=1739554855-SRVQPMvUrn0tY4zDeLEJnkCcYYcbI9bd-0-4e1a05761e295a9d30401cd57292790a)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P77_3032.jpg?sign=1739554855-Jb1dGdDTj2T4sQazCl90bkqXKuYbrX3F-0-32fba9df944ea693757ba09d46c344d6)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P78_11146.jpg?sign=1739554855-J2Uuip1hAn7zMXsqpP7vrfNtHrNyyfGj-0-04d6e3fdb884f3e9d124a406f8a6d1ec)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P79_3039.jpg?sign=1739554855-0NdE6j7LXBhp8KySIYDPSv6RRBMqm5EX-0-8ef99d8e457465035d5384f2a5610aaa)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P80_3042.jpg?sign=1739554855-EE3vJGWWC5eSf9BcO8n6yfvoBCe1qlAh-0-67e04f795697855e05005f9bfc20ac32)