“Rhythm Lamp”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language| Rhythm Lantern}} {| style="width: 800px;" |- | ==Purpose== To control the color of a lantern by detecting sound via mic sound detection sensor. ==Principle== ==...")
 
第39行: 第39行:
  
  
*Setup 2:Code description: One part reads analog values and the other controls color combinationof the lantern according to the values.
+
*Setup 2:Code description: One part reads analog values and the other controls color combination of the lantern according to the values.
 
**Read analog values.  
 
**Read analog values.  
 
<source lang="cpp">
 
<source lang="cpp">
第73行: 第73行:
  
 
==Result==
 
==Result==
Speak towards mic and you’ll be suprised about the effect.  
+
Speak towards mic and you’ll be surprised about the effect.  
 
[[File:mic_colorled——legao.jpg|600px|center|thumb]]
 
[[File:mic_colorled——legao.jpg|600px|center|thumb]]
  

2015年6月19日 (五) 08:42的版本

Language English

Purpose

To control the color of a lantern by detecting sound via mic sound detection sensor.

Principle

Equipment

Module Number Function
Microduino-CoreUSB 1 Core board
Microduino-Sensorhub 1 Sensor transfer board
Microduino-Sound/zh 1 Sound detection sensor
Microduino-Lantern 1 Colored light
Microduino-BM 1 Battery management


Hardware Buildup

  • Setup 1:Stack CoreUSB and Sensorhub.
  • Setup 2:Connect Sound to A0 pin of Sensorhub and the colored LED light to A6. There is pin description on both sides of Sensorhub, which can be connected sensors correspondingly.
Microduino-sensorhub rule.JPG

Software Debugging

  • Setup 1:Build development environment, connect CoreUSB to your PC and download program code.


  • Setup 2:Code description: One part reads analog values and the other controls color combination of the lantern according to the values.
    • Read analog values.
int v=analogRead(A0);
    • Color quantization
  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);

Result

Speak towards mic and you’ll be surprised about the effect.

Video