极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15115|回复: 0

原创 Arduino_N9200B音乐频谱(机智云)

[复制链接]
发表于 2018-2-21 12:13:11 | 显示全部楼层 |阅读模式
本帖最后由 504835618 于 2018-2-21 12:29 编辑

一、 项目简介
本制作是在其他人代码基础上修改而来,音乐控制代码主要是采用清风duino基于arduino Pro Mimi_语音播放彩灯系统(http://club.gizwits.com/thread-8024-1-1.html)基础上修改过来的,现在把不成熟的制作过程分享给大家,希望对需要的朋友有所帮助。

通过ardiuno单片机,语音模块(实际就是一个可以用单片机编程控制的MP3模块),RGBLED(WS2812b)彩条,机智云平台,用机智云DEMO手机APP作为控制界面,机智云APP充当了一个远程遥控器控制N9200B的播放,快进,后退等,然后通过N9200B的声音输出控制彩条WS2812B随音乐的变化而变化发出不同的彩色光达到音乐频谱的效果,无音乐时彩灯会随机变化色彩。

N9200B可以单独作为一个MP3用,接外接键盘控制,也可以配合MCU做其他之用,也可以不需要N9200B用其他的声音源来做一个简单的音乐频谱显示,本制作只是一种尝试还可以加上LCD显示播放状况,曲目多少等等,希望大家有更好的方案或者更好的改进,可与大家共同学习研究。
二、所用材料
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接入机智云教程”一文。
2:下载机智云官方esp8266固件

烧写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
程序里有详细的注释,本人文笔有限不对的地方请见谅,谢谢大家观赏。



PCB 3D效果图

上面数据点的总开关没有实际用处,把它改为电源总开关
#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程序,程序里有详细的注释

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 05:02 , Processed in 0.039434 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表