收藏官网首页
查看: 32658|回复: 11

[经验作品] Arduino_N9200B音乐频谱

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
跳转到指定楼层
楼主
发表于 2018-1-9 18:35:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 peter58 于 2018-2-14 16:06 编辑

一、 项目简介
本制作是踩在前人的肩膀上走过来的,在清风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显示播放状况,曲目多少等等,希望大家有更好的方案或者更好的改进,可与大家共同学习研究。
视频
http://v.youku.com/v_show/id_XMzMyNDA5OTgyNA==.html?spm=a2h3j.8428770.3416059.1
二、所用材料
  • 1ARDUINO_MIMI(也可以用其他的ARDUINO)一块
  • 2N9200B,语音(MP3)模块一块
  • 3esp82866_12F 一块(后缀F以后的都可以)
  • 4:WS2812B彩条20-30粒(多少看自已喜好了)
  • 5:小音箱一对或者8欧姆3W喇叭一个
  • 6:导线若干;5v/2-3A电源一个(本制作所需要的总电流在600MA左右)

三、开发环境
  • 1Arduino  IDE 184版本(当然从106185的都可以,我用的184版本的)
  • 2esp烧写软件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

程序里有详细的注释,本人文笔有限不对的地方请见谅,谢谢大家观赏。

效果图

上面数据点的总开关没有实际用处,把它改为电源总开关
#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程序,程序里有详细的注释
N9200MP3_ws2812.zip (33.48 KB, 下载次数: 385)
制作说明文档 N200_WS2812音乐频谱文档.zip (336.45 KB, 下载次数: 518)

5

主题

46

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
沙发
发表于 2018-1-9 22:28:13 | 只看该作者
很好,感谢您的分享!

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
板凳
 楼主| 发表于 2018-1-10 08:16:48 | 只看该作者
清风duino 发表于 2018-1-9 22:28
很好,感谢您的分享!

要感谢你的鼓励,请多多指教。

1

主题

12

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
地板
发表于 2018-3-20 17:32:59 | 只看该作者
请问,您使用的声音传感器是模拟输出的还是数字输出的?做一个音乐频谱的大致思路(这篇帖子的思路)是不是检测音量大小,然后根据音量大小亮不同的灯,至于亮灯的颜色和位置,这个看个人的编写习惯和能力了!

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
5#
 楼主| 发表于 2018-3-21 21:22:00 | 只看该作者
免费使用STM32、APP自动代码生成工具
爱哭的王小吹 发表于 2018-3-20 17:32
请问,您使用的声音传感器是模拟输出的还是数字输出的?做一个音乐频谱的大致思路(这篇帖子的思路)是不是 ...

是模拟的,是根据声音大小,程序里有比较详细的注释了

1

主题

12

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
6#
发表于 2018-3-24 16:30:57 | 只看该作者
还想请问一下,你的声音传感器是用哪一款的吗?我也想做一个声音控制闪烁的,但是手头的这几个声音传感器,用着效果差很多。没办法像你视频里面的那么精准。方便分享一下你的声音传感器吗?

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
7#
 楼主| 发表于 2018-3-26 17:25:12 | 只看该作者
爱哭的王小吹 发表于 2018-3-24 16:30
还想请问一下,你的声音传感器是用哪一款的吗?我也想做一个声音控制闪烁的,但是手头的这几个声音传感器, ...

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.630e2e8d6loWPv&id=42236535405&_u=q1sene490bb

0

主题

6

帖子

155

积分

注册会员

Rank: 2

积分
155
8#
发表于 2018-11-13 16:54:37 | 只看该作者
你好 楼主 请问能留一下你的联系方式么
目前在做音乐频谱这个功能,可是有好多东西不懂,能请教一下么
例如:如何使用arduino控制N9200B播放音乐
gk.h@qq.com,这是我的邮箱

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
9#
 楼主| 发表于 2018-11-19 15:59:04 | 只看该作者
GeekPower 发表于 2018-11-13 16:54
你好 楼主 请问能留一下你的联系方式么
目前在做音乐频谱这个功能,可是有好多东西不懂,能请教一下么
例如 ...

所有资料都在上面啊

0

主题

6

帖子

155

积分

注册会员

Rank: 2

积分
155
10#
发表于 2018-11-19 17:57:49 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 GeekPower 于 2018-11-19 20:56 编辑
peter58 发表于 2018-11-19 15:59
所有资料都在上面啊

楼主方便加一下我qq么,一直在等您上线,还有一些问题想要请教您我的qq:814560958

0

主题

6

帖子

155

积分

注册会员

Rank: 2

积分
155
11#
发表于 2018-11-22 11:51:49 | 只看该作者
楼主能留个QQ吗,有几个问题想问一下您

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
12#
 楼主| 发表于 2018-12-17 20:08:57 | 只看该作者
GeekPower 发表于 2018-11-22 11:51
楼主能留个QQ吗,有几个问题想问一下您

有问题这里提就行了,看见只要懂的都会回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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