注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

This is Ansifa

近期都不会更新绿色软件

 
 
 
 
 

日志

 
 

声控彩色灯光墙(Arduino+Processing)  

2011-08-14 03:01:57|  分类: 电子技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

前言

和网友合作做了一个声音控制10路全彩LED变色的布景墙,我做了LED驱动和一点点的程序设计帮助。现以文章记录制作过程并且记录技术资料以备后用。

原理

将输入声音(来自麦克风的声音或者播放音频文件)到电脑。使用processing软件分析乐声。

Processing做的事情有:

l  FFT变换分割出10段频谱的强度,每段频谱对应一个RGB全彩LED,总共10LED

l  每段频谱的强度作为对应RGB全彩LED的亮度。

l  每段频谱的节拍作为对应RGB全彩LED的颜色。

l  分析结果整理数据,串口输出

 

然后串口数据输入Arduino单片机板,Arduino做的事情有:

l  处理串口传来的数据

l  通过软件模拟PWM调压模式驱动10x3LED的亮度。并且通过一盏LED里面RGB LED的亮度比,控制颜色变化。

 

拓扑图

声控彩色灯光墙 - ansifa - This is Ansifa

LED驱动电路

每个这样的电路可以控制一个LED里面的一种颜色。所以如果制作10RGB LED驱动的话,需要30个下面的电路。

声控彩色灯光墙 - ansifa - This is Ansifa

 

Arduino软件程序

只有软件模拟PWM程序例子,串口数据处理部分没有贴出(编译器:arduino编译器arduino-0022):

int brights[30]={95,66,117,55,47,74,101,7,58,28,31,42,47,47,125,67,15,11,98,90,53,94,44,123,56,16,124,85,49,101};

const int startpin = 22;

const int totalpin = 30;

void setup()

{

  for(int i = startpin; i < totalpin+startpin; i++)

  {

    pinMode(i, OUTPUT);

  }

}

void loop()

{

  for(int i = 0; i < totalpin; i++)

  {

    brights[i]++;

    if(brights[i]==255) brights[i]=0;

  }

 

  for(int i = 0; i < 128; i++)

  {

    for(int j = 0; j < totalpin; j++)

    {

      if(i < brights[j])

      {

        digitalWrite(j + startpin, HIGH);

        delayMicroseconds(1);

      }

      else

      {

        digitalWrite(j + startpin, LOW);

        delayMicroseconds(1);

      }

 

    }

  }

}

 

Processing程序

由于Processing代码只贴出大概实现方法:

音乐采集(音频文件输入或者声卡麦克风输入):Processing Minim库(import ddf.minim.*;

频率分析FFT Processing MinimForward FFTimport ddf.minim.analysis.*;

节拍检测:Processing MinimBeatDetectimport ddf.minim.analysis.BeatDetect;

http://code.compartmental.net/minim/javadoc/ddf/minim/analysis/BeatDetect.html

然后结果通过串口输出到arduino。频率控制选择LED组,节拍控制每组LED里面RGB的强度比,频段声强控制该段LED亮度

实物图集

声控彩色灯光墙 - ansifa - This is Ansifa
声控彩色灯光墙 - ansifa - This is Ansifa
声控彩色灯光墙 - ansifa - This is Ansifa
焊好前级与光耦
 
声控彩色灯光墙 - ansifa - This is Ansifa
 前级测试
声控彩色灯光墙 - ansifa - This is Ansifa

焊驱动三极管

声控彩色灯光墙 - ansifa - This is Ansifa
 
声控彩色灯光墙 - ansifa - This is Ansifa
 
声控彩色灯光墙 - ansifa - This is Ansifa
 
声控彩色灯光墙 - ansifa - This is Ansifa

驱动板制作完成

 
声控彩色灯光墙 - ansifa - This is Ansifa
 
3w全彩LED,买不到散热片,强迫焊,一般使用必须散热片

声控彩色灯光墙 - ansifa - This is Ansifa

所有LED带线

 
声控彩色灯光墙 - ansifa - This is Ansifa

所有电路部分的物品汇总

 
声控彩色灯光墙 - ansifa - This is Ansifa
 

展出饰物墙

声控彩色灯光墙 - ansifa - This is Ansifa
 

最后效果,灯在透明墙帘中,声音来自钢琴。光影随琴声而动。

  评论这张
 
阅读(5127)| 评论(20)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016