相關(guān)商品
【創(chuàng)客學(xué)堂】隱形樂(lè)器--Arduino助你完成
編輯:Sam2013-08-24 瀏覽次數(shù):1436
藝術(shù)家在舞臺(tái)上演奏歌曲時(shí),往往要通過(guò)一系列的肢體動(dòng)作與觀眾互動(dòng)。而音樂(lè)的演奏不僅僅是音樂(lè)本身,視覺(jué)的享受也占到表演的很大一部分。迎合這種趨勢(shì)而開發(fā)的新型樂(lè)器就顯得至關(guān)重要了,隱形樂(lè)器就此誕生了,今天我?guī)Т蠹矣?span style="color: rgb(255, 0, 0);">Arduino控制器來(lái)制作一個(gè)隱形樂(lè)器,當(dāng)我們?cè)诳罩袨t灑的揮動(dòng)著雙手時(shí),一曲曲優(yōu)美動(dòng)聽的音樂(lè)在耳邊想起。這是一件多么美妙的事情。
下面我?guī)Т蠹疫\(yùn)用Flex 2.2''彎曲傳感器和Arduino控制器制作一個(gè)隱形樂(lè)器,先看看我們都用到什么吧,如圖一所示。
圖一 隱形的樂(lè)器全家福
接著我們來(lái)看下隱形樂(lè)器的機(jī)械部分,如圖二所示,我們用到的是奧松機(jī)器人科技有限公司提供的舵機(jī)支架與RB-150MG舵機(jī),這樣使的我們的隱形樂(lè)器看起來(lái)更加的優(yōu)雅。
圖二 隱形樂(lè)器動(dòng)力部分
機(jī)械部分解決完,再來(lái)看下電控部分,我這里用的是Arduino UNO 控制器、Flex 2.2''彎曲傳感器,如圖三所示。
圖三 隱形樂(lè)器控制部分
現(xiàn)在離我們的目標(biāo)又近了一步了,我們將安裝到舵機(jī)支架上的RB-150MG舵機(jī)連接到Arduino 控制器上,如圖四所示。
圖四 隱形樂(lè)器的整體部分
硬件部分連接完成,下面就需要我們將代碼通過(guò)Arduino IDE下載到Arduino控制器中。
代碼如下:
#include <Servo.h>
#define Servo_1 3 //宏定義鏈接舵機(jī)的引腳 3
#define Servo_2 4 //宏定義鏈接舵機(jī)的引腳 4
Servo myservo_1,myservo_2; //定義控制舵機(jī)的變量
int finger1,finger2;
void setup(){
Serial.begin(9600);
myservo_1.attach(Servo_1); //初始化舵機(jī)的控制PWM輸出引腳
myservo_2.attach(Servo_2); //初始化舵機(jī)的控制PWM輸出引腳
myservo_1.write(90); //初始化舵機(jī)的起始角度
myservo_1.write(90); //初始化舵機(jī)的起始角度
delay(100);
}
void loop(){
finger1 = analogRead(0);
finger2 = analogRead(1);
Serial.print("shuzhi: ");
Serial.print(finger1);
Serial.print(",");
Serial.println(finger2);
if(finger1>800) //此處根據(jù)情況 寫具體算法 控制舵機(jī)
{
myservo_1.write(170);
delay(500);
Serial.println("-----yes---1");
myservo_1.write(90);
}
else
{
myservo_1.write(90);
}
if(finger2>730) //此處根據(jù)情況 寫具體算法 控制舵機(jī)
{
myservo_2.write(10);
delay(500);
Serial.println("-----yes---2");
myservo_2.write(90);
}
else
{
myservo_2.write(90);
}
delay(100);
}
讓我們到視頻中看下實(shí)驗(yàn)效果吧!
當(dāng)然,在演奏的過(guò)程中Arduino 控制器、Flex 2.2''彎曲傳感器、RB-150MG舵機(jī)、第三代多功能舵機(jī)支架,還是在我們的眼前出現(xiàn)了,接著我們要做的就是把,Flex 2.2''彎曲傳感器放置到手套中,把舵機(jī)與舵機(jī)支架隱藏在音響旁,當(dāng)我們帶上手套彎曲手指的時(shí)候,就可以演奏出美妙的音樂(lè)了!
相關(guān)鏈接
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論