当前位置:首页  <  应用教程  <  【创客学堂】隐形乐器--Arduino助你完成...
【创客学堂】隐形乐器--Arduino助你完成
编辑:Sam 2013-08-24 浏览次数:1063

    艺术家在舞台上演奏歌曲时,往往要通过一系列的肢体动作与观众互动。而音乐的演奏不仅仅是音乐本身,视觉的享受也占到表演的很大一部分。迎合这种趋势而开发的新型乐器就显得至关重要了,隐形乐器就此诞生了,今天我带大家用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''弯曲传感器放置到手套中,把舵机舵机支架隐藏在音响旁,当我们带上手套弯曲手指的时候,就可以演奏出美妙的音乐了!

相关链接

Arduino UNO R3控制器:http://www.alsrobot.cn/goods-141.html
Flex 2.2''弯曲传感器:http://www.alsrobot.cn/goods-187.html
Flex单向弯曲传感器FLX-03 A型:http://www.alsrobot.cn/goods-68.html
铝合金舵机支架 第三代:http://www.alsrobot.cn/goods-280.html
Rebacca的博客关于Arduino应用之压力感应电阻的文章:http://blog.sina.com.cn/s/blog_5e4725590100dxdg.html
科技前沿基于Arduino UNO与超声波传感器的音乐魔方:http://www.alsrobot.cn/article-120.html 

图二 隐形乐器动力部分