本帖最后由 peter58 于 2018-2-14 16:06 编辑
一、 项目简介
通过ardiuno单片机,语音模块(实际就是一个可以用单片机编程控制的MP3模块),RGBLED(WS2812b)彩条,机智云平台,用机智云DEMO手机APP作为控制界面,机智云APP充当了一个远程遥控器控制N9200B的播放,快进,后退等,然后通过N9200B的声音输出控制彩条WS2812B随音乐的变化而变化发出不同的彩色光达到音乐频谱的效果,无音乐时彩灯会随机变化色彩。
N9200B可以单独作为一个MP3用,接外接键盘控制,也可以配合MCU做其他之用,也可以不需要N9200B用其他的声音源来做一个简单的音乐频谱显示,本制作只是一种尝试还可以加上LCD显示播放状况,曲目多少等等,希望大家有更好的方案或者更好的改进,可与大家共同学习研究。 视频 http://v.youku.com/v_show/id_XMzMyNDA5OTgyNA==.html?spm=a2h3j.8428770.3416059.1
二、所用材料 - 1:ARDUINO_MIMI(也可以用其他的ARDUINO板)一块
- 2:N9200B,语音(MP3)模块一块
- 3:esp82866_12F 一块(后缀F以后的都可以)
- 4:WS2812B彩条20-30粒(多少看自已喜好了)
- 5:小音箱一对或者8欧姆3W喇叭一个
- 6:导线若干;5v/2-3A电源一个(本制作所需要的总电流在600MA左右)
三、开发环境 - 1:Arduino IDE 184版本(当然从106到185的都可以,我用的184版本的)
- 2:esp烧写软件ESPl_v3.6.1.0
四、制作过程 1:首先在机智云注册账号,进入后创建新的产品,加入数据点,创建好数据点后点击MCU开发,选择硬件方案: MCU,硬件平台: ArduinoUNOR3。填上你的 Product Secret然后生成程序,这里就OK了; 使用机智云的代码自动生成工具,方法请参阅bigfanofloT老师的“史上最详细的Arduinouno R3接入机智云教程”一文。
烧写ESP8266 注意新版固件烧写地址好像是01000,(未实验过,这里提醒下大家)
我用的是 GAgent_00ESP826_04020023_17032418_combine.bin 烧写地址是0X00000 到此基本的准备和程序就差不多了。下面是我的数据点 N9200引线功能图表
五、接线与N9200B控制命令
//**控制指令**// - 选择SD卡 0x04, 0xFB, 0x01, 0x0B, 0x0B
- 选择U盘播放 0x04, 0xFB, 0x01,0x0A, 0x0A
- 选择FLASH播放 0x04, 0xFB, 0x01, 0x0C, 0x0C
- 全盘循环 0x0B, 0xF4, 0x02, 0x01, 0x00, 0x02
- 单曲循环 0x0B, 0xF4, 0x02, 0x01, 0x01, 0x03
- 全盘顺序 0x0B, 0xF4, 0x02, 0x01, 0x05, 0x07
- 全盘随机 0x0B, 0xF4, 0x02, 0x01, 0x03, 0x05
- 播放 0x04, 0xFB, 0x01, 0x01, 0x01
- 暂停 0x04, 0xFB, 0x01, 0x02, 0x02
- 停止 0x04, 0xFB, 0x01, 0x03, 0x03
- 下一曲 0x04, 0xFB, 0x01, 0x05, 0x05
- 上一曲 0x04, 0xFB, 0x01, 0x04, 0x04
- 音量加 0x06, 0xF9, 0x01, 0x02, 0x02
- 音量减 0x06, 0xF9, 0x01, 0x03, 0x03
- 插播 0x04, 0xFB, 0x01, 0x01, 0x01
- 上一目录 0x04, 0xFB, 0x01, 0x12, 0x12
- 下一目录 0x04, 0xFB, 0x01, 0x13, 0x13
//**查询指令**// - 播放状态 0x04, 0xFB, 0x01, 0x00, 0x00
- 在线设备 0x04, 0xFB, 0x01, 0x08, 0x08
- 短文件名 0x04, 0xFB, 0x01, 0x15, 0x15
- 循环模式 0x0B, 0xF4, 0x01, 0x00, 0x00
- 当前曲目 0x04, 0xFB, 0x01, 0x0E, 0x0E
- 当前设备 0x04, 0xFB, 0x01, 0x09, 0x09
- 查询音量 0x06, 0xF9, 0x01, 0x00, 0x00
- 查询总曲目 0x04,0xFB, 0x01, 0x0D, 0x0D
- 目录总曲目 0x04,0xFB, 0x01, 0x18, 0x18
- 目录首曲目 0x04,0xFB, 0x01, 0x17, 0x1
其他关于程序,程序也就是东拼西都出来的这里就不具体将了,请参考清风duino基于Arduino Pro Mimi_语音播放彩灯系统 http://club.gizwits.com/thread-8024-1-1.html
程序里有详细的注释,本人文笔有限不对的地方请见谅,谢谢大家观赏。
效果图
上面数据点的总开关没有实际用处,把它改为电源总开关 #define LED 13 //定义控制脚 控制函数; bool varR_Switch = 0; //总开关 if(myGizwits.hasBeenSet(EVENT_Switch)) { myGizwits.read(EVENT_Switch,&varR_Switch);//Address for storing data if(varR_Switch == 1){
digitalWrite(LED, HIGH); // sets the user LED on } else { digitalWrite(LED, LOW); // sets the user LED off } }
完整的ARDUINO程序,程序里有详细的注释 制作说明文档
N200_WS2812音乐频谱文档.zip
(336.45 KB, 下载次数: 518)
|