我想制作一款仿泰勒明、特雷门电子琴,根据距离传感器的距离长短,产生不同的音律,然后来演奏 
外壳将使用3D打印的盒子制作 
 
我是比较懒的人,虽然东西早就做好了,但是看见其他人还没交作业,我就一直也没整理材料,要不是Ash催我,我估计还得等很长一段时间,首先感谢Ash赠送的Arduino编程积木套件 和红外测距传感器 
 
简单介绍下泰勒明、特雷门电子琴 
  
 
当然我们这次制作的特雷门琴和这个原理并不一样,但是也是通过手在空中位置来演奏音乐。 
下面我将制作过程分析给大家@Ash 
 
 
 
制作材料  
1、Arduino编程积木套件  
  
 
我们需要用到里面的UNO主控板、  IO传感器扩展板 V7.1和数字蜂鸣器模块 
 
2、红外测距传感器SHARP GP2Y0A41SKOF 红外距离传感器 (4-30cm) 
  
 
二、连线方式: 
将IO传感器扩展板 插在DFRduino UNO R3    上 
将SHARP GPY2D120X红外距离传感器的杜邦3PIN线接 
IO传感器扩展板 的A1引脚上 
将数字蜂鸣器模块的杜邦3PIN线接在 IO传感器扩展板 的9引脚上 
 
三、代码 
 
 
 
			
			
			- /connect gp2d120x to A1
 - #define pin A1
 - 
 - #define NTD1 294
 - #define NTD2 330
 - #define NTD3 350
 - #define NTD4 393
 - #define NTD5 441
 - #define NTD6 495
 - #define NTD7 556
 - int tonepin=9; 
 - void setup () {
 -         Serial.begin (9600);
 -         pinMode(pin, INPUT);
 -         pinMode(tonepin,OUTPUT);
 - }
 - 
 - void loop () {
 -         uint16_t value = analogRead (pin);
 -         double distance = get_IR (value); //Convert the analog voltage to the distance
 -         if(distance>5&&distance<8){
 -         tone(tonepin,NTD1);
 -         }
 -         if(distance>8&&distance<11){
 -         tone(tonepin,NTD2);
 -         }
 -         if(distance>11&&distance<14){
 -         tone(tonepin,NTD3);
 -         }
 -         if(distance>14&&distance<17){
 -         tone(tonepin,NTD4);
 -         }
 -         if(distance>17&&distance<20){
 -         tone(tonepin,NTD5);
 -         }
 -         if(distance>20&&distance<23){
 -         tone(tonepin,NTD6);
 -         }
 -         if(distance>23&&distance<26){
 -         tone(tonepin,NTD7);
 -         }
 -         //Serial.println (value);                 //Print the data to the Arduino serial monitor
 -         Serial.print (distance);
 -         Serial.println (" cm");
 -         Serial.println ();
 -         delay (500);                            //Delay 0.5s
 -         noTone(tonepin);
 - }
 - 
 - //return distance (cm)
 - double get_IR (uint16_t value) {
 -         if (value < 16)  value = 16;
 -         return 2076.0 / (value - 11.0);
 - }
 - 
 - /******** end code ********/
 
  复制代码
  
 
 
 
 
制作过程的照片 
    
 
    
 |