艺术家在舞台上演奏歌曲时,往往要通过一系列的肢体动作与观众互动。而音乐的演奏不仅仅是音乐本身,视觉的享受也占到表演的很大一部分。迎合这种趋势而开发的新型乐器就显得至关重要了,隐形乐器就此诞生了,今天我带大家用Arduino控制器来制作一个隐形乐器,当我们在空中潇洒的挥动着双手时,一曲曲优美动听的音乐在耳边想起。这是一件多么美妙的事情。
下面我带大家运用Flex 2.2''弯曲传感器和Arduino控制器制作一个隐形乐器,先看看我们都用到什么吧,如图一所示。
图一 隐形的乐器全家福
接着我们来看下隐形乐器的机械部分,如图二所示,我们用到的是奥松机器人科技有限公司提供的舵机支架与RB-150MG舵机,这样使的我们的隐形乐器看起来更加的优雅。
图二 隐形乐器动力部分
机械部分解决完,再来看下电控部分,我这里用的是Arduino UNO 控制器、Flex 2.2''弯曲传感器,如图三所示。
图三 隐形乐器控制部分
现在离我们的目标又近了一步了,我们将安装到舵机支架上的RB-150MG舵机连接到Arduino 控制器上,如图四所示。
图四 隐形乐器的整体部分
硬件部分连接完成,下面就需要我们将代码通过Arduino IDE下载到Arduino控制器中。
#include <Servo.h>
#define Servo_1 3 //宏定义链接舵机的引脚 3
#define Servo_2 4 //宏定义链接舵机的引脚 4
Servo myservo_1,myservo_2; //定义控制舵机的变量
int finger1,finger2;
void setup(){
Serial.begin(9600);
myservo_1.attach(Servo_1); //初始化舵机的控制PWM输出引脚
myservo_2.attach(Servo_2); //初始化舵机的控制PWM输出引脚
myservo_1.write(90); //初始化舵机的起始角度
myservo_1.write(90); //初始化舵机的起始角度
delay(100);
}
void loop(){
finger1 = analogRead(0);
finger2 = analogRead(1);
Serial.print("shuzhi: ");
Serial.print(finger1);
Serial.print(",");
Serial.println(finger2);
if(finger1>800) //此处根据情况 写具体算法 控制舵机
{
myservo_1.write(170);
delay(500);
Serial.println("-----yes---1");
myservo_1.write(90);
}
else
{
myservo_1.write(90);
}
if(finger2>730) //此处根据情况 写具体算法 控制舵机
{
myservo_2.write(10);
delay(500);
Serial.println("-----yes---2");
myservo_2.write(90);
}
else
{
myservo_2.write(90);
}
delay(100);
}
让我们到视频中看下实验效果吧!
当然,在演奏的过程中Arduino 控制器、Flex 2.2''弯曲传感器、RB-150MG舵机、第三代多功能舵机支架,还是在我们的眼前出现了,接着我们要做的就是把,Flex 2.2''弯曲传感器放置到手套中,把舵机与舵机支架隐藏在音响旁,当我们带上手套弯曲手指的时候,就可以演奏出美妙的音乐了!
相关链接
近期新闻
热门新闻
奥松智能微信