相關商品
【創(chuàng)客學堂】基于Arduino UNO與超聲波傳感器的音樂魔方
編輯:Techie2013-08-23 13531382@qq.com 瀏覽次數(shù):1857
聽說過Dodecaudion嗎?它是一個魔方,一個有 “12只眼”的音樂魔方。 一個叫panGenator的波蘭藝術團隊發(fā)明了它,為了能讓藝術家們在演奏時,可以能通過動作與表演,來與觀眾互動,給人更好的視覺享受。當演奏者的手勢靠近這個音樂魔方的12只眼時,這款音樂魔方里面的紅外傳感器會感知到距離,傳輸?shù)教刂频?span style="color: #ff0000">Arduino平臺,把數(shù)據(jù)傳輸?shù)酵獠坑布幚砗蟛シ乓魳坊蚴亲鞒黾炊ǖ膭幼鳌?/p>
圖1 藝術家在用音樂魔方激情演奏
很炫很酷吧?想不想把玩一下?標準款的 Dodecaudion 尺寸約為 21 x 21 x 21 cm, 售價在1288美金,還想玩嗎?反正對于我這樣兜比臉干凈的人來說,是傷不起滴。但同時,在一個Arduino愛好者這里,方法總比問題多,只要明白了原理,給我一個支點,我也能撬動地球,哈哈,咱自己做一個不就OK了?
傷不起“12只眼”的音樂魔方 ,我們做得起
沖進我的百寶堆,開始搜索--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把距離值轉(zhuǎn)成一個延時,控制引腳輸出一個頻率隨其變化的方波,輸入到電腦里,用音樂軟件改變音色,營造出奇幻的聲音;同時,用這個數(shù)據(jù)控制LED Bar,使其隨音樂跳動,哦了。
下面是簡單編的程序
#include "LED_Bar.h"//special Lib for LED Bar
LED_Bar myLED;
int value = 0;
int inputPin=4; // 定義超聲波信號接收接口ECHO
int outputPin=5; // 定義超聲波信號發(fā)出接口TRIG
int music=13;
void setup()
{
Serial.begin(9600);//定義串口波特率
pinMode(inputPin, INPUT);//定義與超聲波傳感器探頭聯(lián)接的腳的輸入輸出模式
pinMode(outputPin, OUTPUT);
pinMode(music,OUTPUT);
myLED.set_LED_Index(0b000001101010101);
delay(500);
}
void loop()
{
digitalWrite(outputPin, LOW); // 使發(fā)出發(fā)出超聲波信號接口低電平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使發(fā)出發(fā)出超聲波信號接口高電平10μs delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持發(fā)出超聲波信號接口低電平
int distance = pulseIn(inputPin, HIGH); // 讀出脈沖時間
distance= distance/58; // 用公式將脈沖時間轉(zhuǎn)化為距離(單位為厘米)
//Serial.println(distance); //輸出距離數(shù)值,測試用
int value=map(distance,1,30,1,8);//數(shù)值轉(zhuǎn)換
// 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);
}
1只眼的“音樂魔方”
圖6 “1只眼”的音樂魔方演奏中的樣子
這樣下來做成的充其量能算個普通盒子,想讓它成為炫酷的音樂魔方,你還要花些功夫,去下載一個電吉它音色效果軟件,通過調(diào)節(jié),你可以得到N多種音色:哇音,回響,失真,太空音,平時我們得有吉它才能彈奏,現(xiàn)在通過這個Arduino“音樂魔方”加超聲波傳感器,通過手勢動作,你也可以像panGenator團隊玩Dodecaudion那樣演奏一番啦。
相關鏈接:
Arduino UNO R3控制器 http://lifestyle201.com/goods-141.html
傳感器擴展板 http://lifestyle201.com/goods-147.html
RB-UF02超聲波傳感器 http://lifestyle201.com/goods-132.html
Rebacca的博客關于超聲波傳感器的文章 http://blog.sina.com.cn/s/blog_5e4725590100edj6.html
科技前沿關于超聲波傳感器的文章 http://lifestyle201.com/article-79.html
LED Bar的Arduino庫文件 http://pan.baidu.com/share/link?shareid=4264065236&uk=2751748372
用戶評價
- 咨詢內(nèi)容:
- 可否重新給個庫文件LED Bar 嗚嗚 ~~想玩下
- 管理員:
-
好的,請您先到我們網(wǎng)站資料百科中查看下,看看是否能解決您的問題,如果還解決不了,請聯(lián)系我的工作QQ:2178884940