听说过Dodecaudion吗?它是一个魔方,一个有 “12只眼”的音乐魔方。 一个叫panGenator的波兰艺术团队发明了它,为了能让艺术家们在演奏时,可以能通过动作与表演,来与观众互动,给人更好的视觉享受。当演奏者的手势靠近这个音乐魔方的12只眼时,这款音乐魔方里面的红外传感器会感知到距离,传输到特制的Arduino平台,把数据传输到外部硬件,处理后播放音乐或是作出即定的动作。
图1 艺术家在用音乐魔方激情演奏
很炫很酷吧?想不想把玩一下?标准款的 Dodecaudion 尺寸约为 21 x 21 x 21 cm, 售价在1288美金,还想玩吗?反正对于我这样兜比脸干净的人来说,是伤不起滴。但同时,在一个Arduino爱好者这里,方法总比问题多,只要明白了原理,给我一个支点,我也能撬动地球,哈哈,咱自己做一个不就OK了?
冲进我的百宝堆,开始搜索--1.控制器,是必须的,这里有块Arduino UNO,还有块Arduino传感器扩展板呢,OK;2.传感器,我翻我翻,哎,没有红外线传感器,只有两个RB UF02的超声波传感器,不过原理上是检测手与音乐魔方的距离,它们也成,OK;连接线:找到一堆杜邦线,OK;这不就齐活儿了嘛,哈哈。等等,这是什么?一个LED Bar,可以让它随音乐跳动啊,这不就比那“12只眼”的音乐魔方又多了一个光影元素嘛 ,very OK!
图2 Arduino UNO R3控制器 图3 Arduino 传感器扩展板v5.0
图4 RB-UF02超声波传感器 图5 LED Bar
好了,硬件齐备,可以编程序啦。总的原理是:用超声波传感器检测出手与”音乐魔方”的距离,Arduino UNO把距离值转成一个延时,控制引脚输出一个频率随其变化的方波,输入到电脑里,用音乐软件改变音色,营造出奇幻的声音;同时,用这个数据控制LED Bar,使其随音乐跳动,哦了。
下面是简单编的程序
#include "LED_Bar.h"//special Lib for LED Bar
LED_Bar myLED;
int value = 0;
int inputPin=4; // 定义超声波信号接收接口ECHO
int outputPin=5; // 定义超声波信号发出接口TRIG
int music=13;
void setup()
{
Serial.begin(9600);//定义串口波特率
pinMode(inputPin, INPUT);//定义与超声波传感器探头联接的脚的输入输出模式
pinMode(outputPin, OUTPUT);
pinMode(music,OUTPUT);
myLED.set_LED_Index(0b000001101010101);
delay(500);
}
void loop()
{
digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间
distance= distance/58; // 用公式将脉冲时间转化为距离(单位为厘米)
//Serial.println(distance); //输出距离数值,测试用
int value=map(distance,1,30,1,8);//数值转换
// Serial.println(value);
myLED.set_LED_Range(value);
int fm=map(distance,1,30,40,5000);
digitalWrite(music,HIGH);
delayMicroseconds(fm);
digitalWrite(music,LOW);
delayMicroseconds(fm);
}
图6 “1只眼”的音乐魔方演奏中的样子
这样下来做成的充其量能算个普通盒子,想让它成为炫酷的音乐魔方,你还要花些功夫,去下载一个电吉它音色效果软件,通过调节,你可以得到N多种音色:哇音,回响,失真,太空音,平时我们得有吉它才能弹奏,现在通过这个Arduino“音乐魔方”加超声波传感器,通过手势动作,你也可以像panGenator团队玩Dodecaudion那样演奏一番啦。
相关链接:
Arduino UNO R3控制器 http://www.alsrobot.cn/goods-141.html
传感器扩展板 http://www.alsrobot.cn/goods-147.html
RB-UF02超声波传感器 http://www.alsrobot.cn/goods-132.html
Rebacca的博客关于超声波传感器的文章 http://blog.sina.com.cn/s/blog_5e4725590100edj6.html
科技前沿关于超声波传感器的文章 http://www.alsrobot.cn/article-79.html
LED Bar的Arduino库文件 http://pan.baidu.com/share/link?shareid=4264065236&uk=2751748372
近期新闻
热门新闻
奥松智能微信