节奏彩灯

来自Microduino Wikipedia
跳转至: 导航搜索
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吼叫,你会发现有不一样的效果。