“节奏彩灯”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→搭建硬件) |
853387039@qq.com(讨论 | 贡献) (→软件调试) |
||
第34行: | 第34行: | ||
[[File:mic_colorled.jpg|600px|center|thumb]] | [[File:mic_colorled.jpg|600px|center|thumb]] | ||
− | == | + | {{Language| 节奏彩灯}} |
− | *Setup | + | {| style="width: 800px;" |
− | [https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/SHENGRI/SHENGRI.ino SHENGRI] | + | |- |
− | *Setup | + | | |
− | * | + | ==目的== |
+ | 对着MIC吼叫,彩灯能够随着声音节奏而变化。 | ||
+ | [[File:mic_sound.jpg|600px|center|thumb]] | ||
+ | |||
+ | ==原理== | ||
+ | *MIC传感器简介 | ||
+ | MIC传感器可将声音信号转换为电信号的电子元器件,和喇叭正好相反。是声音设备的两个终端,咪头是输入,喇叭是输出。又名麦克风,话筒,传声器。 | ||
+ | MIC传感器只能检测声音大小,不能检测指定的声音。 | ||
+ | *节奏彩灯 | ||
+ | 通过mic声音检测传感器检测声音的大小,系统判断声音大小的区间在那个颜色范围内,同时与触发值做对比来选择开启或关闭灯光变化,从而控制彩灯变幻颜色。 | ||
+ | [[File:mic_sch.jpg|600px|center|thumb]] | ||
+ | |||
+ | ==设备== | ||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | |模块||数量||功能 | ||
+ | |- | ||
+ | |[[Microduino-CoreUSB/zh]]||1||核心板 | ||
+ | |- | ||
+ | |[[Microduino-Sensorhub /zh]]||1||传感器转接板 | ||
+ | |- | ||
+ | |[[Microduino-Sound /zh]]||1||声音检测传感器 | ||
+ | |- | ||
+ | | [[Microduino-Lantern/zh]]||1||彩灯 | ||
+ | |} | ||
+ | [[File:mic _lamp.jpg|600px|center|thumb]] | ||
+ | ==准备== | ||
+ | *Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 | ||
+ | [[File:CoreUSB_Ble_pc.jpg|600px|center]] | ||
+ | *Setup 2:下载程序:[https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/SHENGRI/SHENGRI.ino SHENGRI] | ||
+ | [[File: _SHENGR.jpg|600px|center]] | ||
+ | |||
+ | * Setup 3:加载代码,将程序代买拷贝到IDE中。 | ||
+ | |||
+ | ==程序说明 == | ||
+ | *读取声音模拟值(A0引脚),用户可以自定义更改,并且可串口监视器打印出模拟的声音数据。 | ||
<source lang="cpp"> | <source lang="cpp"> | ||
− | int v=analogRead(A0); | + | int v=analogRead(A0); |
+ | Serial.println(v); | ||
+ | </source> | ||
+ | *每隔100ms检测声音大小,并把对应的声音区分分开,声音区间范围定义在数组“zone_vol[3]”里面,用户可以自己更改,区间在100-600最好。 | ||
+ | <source lang="cpp"> | ||
+ | if(millis()-timer[0]>100) | ||
+ | { | ||
+ | timer[0]=millis(); | ||
+ | if(v>zone_vol[0]) | ||
+ | zone=0;//红色 | ||
+ | else if(v>zone_vol[1]) | ||
+ | zone=1;//绿色 | ||
+ | else if(v>zone_vol[2]) | ||
+ | zone=2;//蓝色 | ||
+ | else | ||
+ | zone=9; | ||
+ | } | ||
</source> | </source> | ||
− | * | + | *模拟值的大小控制灯的颜色组合 |
<source lang="cpp"> | <source lang="cpp"> | ||
switch(zone) | switch(zone) | ||
第48行: | 第99行: | ||
case 0: | case 0: | ||
if(color!=0) | if(color!=0) | ||
− | vol[0]=map(v,0,1023,0,255); | + | vol[0]=map(v,0,1023,0,255);//红色 |
else | else | ||
vol[0]=10; | vol[0]=10; | ||
第54行: | 第105行: | ||
case 1: | case 1: | ||
if(color!=1) | if(color!=1) | ||
− | vol[1]=map(v,0,1023,0,255); | + | vol[1]=map(v,0,1023,0,255);//绿色 |
else | else | ||
vol[1]=10; | vol[1]=10; | ||
第60行: | 第111行: | ||
case 2: | case 2: | ||
if(color!=2) | if(color!=2) | ||
− | vol[2]=map(v,0,1023,0,255); | + | vol[2]=map(v,0,1023,0,255);//蓝色 |
else | else | ||
vol[2]=10; | vol[2]=10; | ||
break; | break; | ||
} | } | ||
− | |||
// Some example procedures showing how to display to the pixels: | // Some example procedures showing how to display to the pixels: | ||
colorWipe(strip.Color(vol[0],vol[1], vol[2]), 20); | colorWipe(strip.Color(vol[0],vol[1], vol[2]), 20); | ||
</source> | </source> | ||
+ | |||
+ | ==搭建硬件== | ||
+ | *Setup 1:将MIC接到Sensorhub的A0引脚上,将Colorled led彩灯接到A6。Sensorhub上两边有引脚说明,可以对应接入传感器。 | ||
+ | [[File:CoreUSB_mic_steup1.jpg|600px|center]] | ||
+ | *Setup 2:将激活后的电池盒与BM模块相连. | ||
+ | [[File:CoreUSB_ mic _steup2.jpg|600px|center]] | ||
+ | *Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。 | ||
+ | [[File: music_birth_all.jpg|600px|center|thumb]] | ||
+ | |||
+ | ==结果== | ||
+ | 对着mic吼叫,你会发现有不一样的效果。 | ||
+ | [[File:mic_colorled——legao.jpg|600px|center|thumb]] | ||
+ | |||
+ | ==视频== | ||
+ | |||
+ | |} | ||
==结果== | ==结果== |
2015年9月7日 (一) 09:08的版本
Language | English |
---|
目的通过mic声音检测传感器检测声音的大小,从而控制彩灯变幻颜色。 原理设备
搭建硬件
结果对着mic吼叫,你会发现有不一样的效果。 你也可以做在乐高上。 视频 |