打破常规 我要挑战+ (仿)泰勒明、特雷门电子琴(作业)
我想制作一款仿泰勒明、特雷门电子琴,根据距离传感器的距离长短,产生不同的音律,然后来演奏外壳将使用3D打印的盒子制作
我是比较懒的人,虽然东西早就做好了,但是看见其他人还没交作业,我就一直也没整理材料,要不是Ash催我,我估计还得等很长一段时间,首先感谢Ash赠送的Arduino编程积木套件 和红外测距传感器
简单介绍下泰勒明、特雷门电子琴
当然我们这次制作的特雷门琴和这个原理并不一样,但是也是通过手在空中位置来演奏音乐。
下面我将制作过程分析给大家@Ash
http://player.youku.com/player.php/sid/XMTczNDE4NTkyNA==/v.swf
制作材料
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 ********/
制作过程的照片
你都做好了呀,我还在打外壳,速度好快呀 教程呢? dsweiliang 发表于 2016-9-22 14:14
教程呢?
正在写,不急哦 hnyzcj 发表于 2016-9-22 12:49
你都做好了呀,我还在打外壳,速度好快呀
早做好了,一直没整理,Ash催了,不然我的懒癌症又要犯了 kaka 发表于 2016-9-22 15:00
早做好了,一直没整理,Ash催了,不然我的懒癌症又要犯了
{:5_161:}
你就演一下劳模嘛,干嘛说出来 Ash 发表于 2016-9-22 15:09
你就演一下劳模嘛,干嘛说出来
ASH老板别着急,料今天才发过来 Ash 发表于 2016-9-22 15:09
你就演一下劳模嘛,干嘛说出来
ASH老板别着急,料今天才发过来
页:
[1]