带有压电传感器的Arduino钢琴的制作

电子说

1.3w人已加入

描述

步骤1:组件

6压电换能器

扬声器

面包板

Arduino Uno

跳线

6个电阻器

第2步:连接

Arduino

每个压电传感器的红线应通过电阻连接到GND,黑线应连接到Pin,此处我们使用A0,A1,A2,A3,A4,A5

扬声器红色导线应连接到引脚8,黑色应连接到GND

步骤3:

首先

您需要打开“新标签”并将文件命名为“ pitches.h”,然后插入音调

#define NOTE_CS2 69

#define NOTE_D2 73

#define NOTE_DS2 78

#define NOTE_E2 82

#define NOTE_F2 87

#define NOTE_FS2 93

#define NOTE_G2 98

#define NOTE_GS2 104

#define NOTE_A2 110

#define NOTE_AS2 117

#define NOTE_B2 123

#define NOTE_C3 131

#define NOTE_CS3 139

#定义NOTE_D3 147

#define NOTE_DS3 156

#define NOTE_E3 165

#define NOTE_F3 175

#define NOTE_FS3 185

#define NOTE_G3 196

#define NOTE_GS3 208

#define NOTE_A3 220

#define NOTE_AS3 233

#define NOTE_B 3247

#define NOTE_C4 262

#define NOTE_CS4 277

#define NOTE_D4 294

#define NOTE_DS4 311

#define NOTE_E4 330

#define NOTE_F4 349

#define NOTE_FS4 370

#define NOTE_G4 392

#define NOTE_GS4 415

#define NOTE_A4 440

#define NOTE_AS4 466

#define NOTE_B4 494

#define NOTE_C5 523

#define NOTE_CS5 554

#define NOTE_D5 587

#define NOTE_DS5 622

#define NOTE_E5 659

#define NOTE_F5 698

#define NOTE_FS5 740

#define NOTE_G5 784

#define NOTE_GS5 831

#define NOTE_A5 880

#define NOTE_AS5 932

#define NOTE_B5 988

#define NOTE_C6 1047

#define NOTE_CS6 1109

#define NOTE_D6 1175

#define NOTE_DS6 1245

#define NOTE_E6 1319

#define NOTE_F6 1397

#define NOTE_FS6 1480

#define NOTE_G6 1568

#define NOTE_GS6 1661

#define NOTE_A6 1760

#define NOTE_AS6 1865

#define NOTE_B6 1976

#define NOTE_C7 2093

#define NOTE_CS7 2217

#define NOTE_D7 2349

#define NOTE_DS7 2489

#define NOTE_E7 2637

#define NOTE_F7 2794

#define NOTE_FS7 2960

#define NOTE_G7 3136

#define NOTE_GS7 3322

#define NOTE_A7 3520

#define NOTE_AS7 3729

#define NOTE_B7 3951

#define NOTE_C8 4186

#define NOTE_CS8 4435

#define NOTE_D8 4699

#define NOTE_DS8 4978

之后,返回到草图并添加您的草图代码

#include“ pitches.h”

int模拟引脚[6] = {A0,A1,A2,A3,A4,A5};

int buzpin = 8;

int阈值= 20;

无效的setup()

{

Serial.begin(9600);

pinMode(8,OUTPUT);

}

void loop()

{

if(analogRead (analogpin [0])》 threshold)

{

Serial.println(“ A0”);

tone(8,NOTE _B4,1000/4);

}

如果(analogRead(analogpin [1])》阈值)

{

Serial.println(“ A1”) ;

tone(8,NOTE_D4,1000/4);

digitalWrite(8,HIGH);

}

if( AnalogRead(analogpin [2])》阈值)

{

Serial.println(“ A2”);

tone(8,NOTE_C4,1000/4 );

}

如果(analogRead(analogpin [3])》阈值)

{

Serial.println(“ A3 “);

tone(8,NOTE_G4,1000/4);

}

if(analogRead(analogpin [4])》阈值)

{

Serial.println(“ A4”);

tone(8,NOTE_G3,1000/4);

}

if(analogRead(analogpin [5])》阈值)

{

Serial.println(“ A5”);

tone(8,NOTE_D3,1000/4);

}

}

步骤4:结论

在Wikipedia,Piezo Sensors或压电传感器是一种利用压电效应来测量压力,加速度,温度,应变或力的变化并将其转换为电荷的设备。前缀piezo-是‘press’或‘squeeze’的希腊语。

所以我们使用它来检测何时按下每个打击垫,因此Arduino会决定播放哪种音调,您可以在其中弹奏这个想法可以发展出完整的器官,或者如果您喜欢这种东西,可以做些其他事情!!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分