“节奏彩灯”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
搭建硬件
视频
 
(未显示2个用户的12个中间版本)
第4行: 第4行:
 
|
 
|
 
==目的==
 
==目的==
通过mic声音检测传感器检测声音的大小,从而控制彩灯变幻颜色。
+
对着MIC吼叫,彩灯能够随着声音节奏而变化。
 +
[[File:mic_sound.jpg|600px|center]]
  
 
==原理==
 
==原理==
 +
*MIC传感器简介
 +
MIC传感器可将声音信号转换为电信号的电子元器件,和喇叭正好相反。是声音设备的两个终端,咪头是输入,喇叭是输出。又名麦克风,话筒,传声器。
 +
MIC传感器只能检测声音大小,不能检测指定的声音。
 +
*节奏彩灯
 +
通过mic声音检测传感器检测声音的大小,系统判断声音大小的区间在那个颜色范围内,同时与触发值做对比来选择开启或关闭灯光变化,从而控制彩灯变幻颜色。
 +
[[File:mic_sch.jpg|600px|center|thumb]]
  
 
==设备==
 
==设备==
第13行: 第20行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
+
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|-
 
|[[Microduino-Sound/zh]]||1||声音检测传感器
 
|[[Microduino-Sound/zh]]||1||声音检测传感器
 
|-
 
|-
|[[Microduino-Lantern/zh]]||1||彩灯
+
| [[Microduino-Color led/zh]]||1||彩灯
|-
 
|[[Microduino-BM/zh]]||1||电池管理
 
 
|}
 
|}
 +
[[File:mic _lamp.jpg|600px|center]]
  
 +
==准备==
 +
*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]]
  
[[File:mic _lamp.jpg|600px|center|thumb]]
+
* Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。
  
==搭建硬件==
+
==程序说明 ==
*Setup 1:将CoreUSB与Sensorhub叠堆
+
*读取声音模拟值(A0引脚),用户可以自定义更改,并且可串口监视器打印出模拟的声音数据。
[[File:CoreUSB_Sensorhub.jpg|600px|center|thumb]]
+
<source lang="cpp">
*Setup 2:将Sound接到Sensorhub的A0引脚上,将Colorled led彩灯接到A6。Sensorhub上两边有引脚说明,可以对应接入传感器。
+
  int v=analogRead(A0);
[[file:mCookie-sensorhub_rule.JPG|thumb|800px|center]]
+
  Serial.println(v);
[[File:mic_colorled.jpg|600px|center|thumb]]
+
</source>
 
+
*每隔100ms检测声音大小,并把对应的声音区分分开,声音区间范围定义在数组“zone_vol[3]”里面,用户可以自己更改,区间在100-600最好。
==软件调试==
 
*Setup 1:搭建开发环境,将CoreUSB接到电脑,下载程序代码。
 
[https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/SHENGRI/SHENGRI.ino SHENGRI]
 
*Setup 2:代码说明,一部分读取模拟值,另一部分根据模拟值的大小控制灯的颜色组合。
 
**读取模拟值
 
 
<source lang="cpp">
 
<source lang="cpp">
int v=analogRead(A0);
+
  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行: 第65行:
 
   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行: 第71行:
 
   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行: 第77行:
 
   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_Ble_steup2.jpg|600px|center]]
 +
*Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。
 +
[[File: music_mic_all.jpg|600px|center]]
  
 
==结果==
 
==结果==
 
对着mic吼叫,你会发现有不一样的效果。
 
对着mic吼叫,你会发现有不一样的效果。
你也可以做在乐高上。
+
[[File:mic_colorled——legao.jpg|600px|center]]
[[File:mic_colorled——legao.jpg|600px|center|thumb]]
+
 
  
==视频==
 
  
 
|}
 
|}

2017年4月12日 (三) 03:28的最新版本

Language English

目的

对着MIC吼叫,彩灯能够随着声音节奏而变化。

原理

  • MIC传感器简介

MIC传感器可将声音信号转换为电信号的电子元器件,和喇叭正好相反。是声音设备的两个终端,咪头是输入,喇叭是输出。又名麦克风,话筒,传声器。 MIC传感器只能检测声音大小,不能检测指定的声音。

  • 节奏彩灯

通过mic声音检测传感器检测声音的大小,系统判断声音大小的区间在那个颜色范围内,同时与触发值做对比来选择开启或关闭灯光变化,从而控制彩灯变幻颜色。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Microduino-Sound/zh 1 声音检测传感器
Microduino-Color led/zh 1 彩灯

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。

程序说明

  • 读取声音模拟值(A0引脚),用户可以自定义更改,并且可串口监视器打印出模拟的声音数据。
  int v=analogRead(A0);
  Serial.println(v);
  • 每隔100ms检测声音大小,并把对应的声音区分分开,声音区间范围定义在数组“zone_vol[3]”里面,用户可以自己更改,区间在100-600最好。
  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;
  }
  • 模拟值的大小控制灯的颜色组合
  switch(zone)
  {
  case 0:
    if(color!=0)
      vol[0]=map(v,0,1023,0,255);//红色
    else
      vol[0]=10;
    break;
  case 1:
    if(color!=1)
      vol[1]=map(v,0,1023,0,255);//绿色
    else
      vol[1]=10;
    break;
  case 2:
    if(color!=2)
      vol[2]=map(v,0,1023,0,255);//蓝色
    else
      vol[2]=10;
    break;
  }
  // Some example procedures showing how to display to the pixels:
  colorWipe(strip.Color(vol[0],vol[1], vol[2]), 20);

搭建硬件

  • Setup 1:将MIC接到Sensorhub的A0引脚上,将Colorled led彩灯接到A6。Sensorhub上两边有引脚说明,可以对应接入传感器。
  • Setup 2:将激活后的电池盒与BM模块相连.
CoreUSB Ble steup2.jpg
  • Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。

结果

对着mic吼叫,你会发现有不一样的效果。