ARDUINO DERS-22 (PİYANO YAPIMI)





DEVRE SEMASI





Not 1: Butonlar sırasıyla A,B,C,D,E,F,G olarak ilerliyor.

Not 2: Notalar sırasıyla DO,RE,Mİ,FA,SOL,LA,Sİ seklinde ilerliyor.

Not 3: Eğer istenirse butonlar yerine iletken herhangi bi şerit kullanılabilir.

Not 4: Bazı izlediğim videolarda meyvelerden veya tenke kutusu gibi materyallerden de notalar kullanılmıştır.

Not 5: Hoparlör yerine buzzer kullanılabilir.Yalnız ses kalitesi düşer.



Mazemeler
  • 1X Hoparlör
  • 1X Arduino
  • 7X buton
  • 7X 1K direnç


Devre kodu

#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493

const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;

const int Buzz = 11;
//const int LED = 2;

void setup()
{
//pinMode(LED, OUTPUT);
pinMode(C, INPUT);
digitalWrite(C,HIGH);

pinMode(D, INPUT);
digitalWrite(D,HIGH);

pinMode(E, INPUT);
digitalWrite(E,HIGH);

pinMode(F, INPUT);
digitalWrite(F,HIGH);

pinMode(G, INPUT);
digitalWrite(G,HIGH);

pinMode(A, INPUT);
digitalWrite(A,HIGH);

pinMode(B, INPUT);
digitalWrite(B,HIGH);

//digitalWrite(LED,LOW);
}

void loop()
{
while(digitalRead(C) == LOW)
{
tone(Buzz,T_C);
//digitalWrite(LED,HIGH);
}

while(digitalRead(D) == LOW)
{
tone(Buzz,T_D);
//digitalWrite(LED,HIGH);
}

while(digitalRead(E) == LOW)
{
tone(Buzz,T_E);
//digitalWrite(LED,HIGH);
}

while(digitalRead(F) == LOW)
{
tone(Buzz,T_F);
//digitalWrite(LED,HIGH);
}

while(digitalRead(G) == LOW)
{
tone(Buzz,T_G);
//digitalWrite(LED,HIGH);
}

while(digitalRead(A) == LOW)
{
tone(Buzz,T_A);
//digitalWrite(LED,HIGH);
}

while(digitalRead(B) == LOW)
{
tone(Buzz,T_B);
//digitalWrite(LED,HIGH);
}

noTone(Buzz);
//digitalWrite(LED,LOW);

}

Yorumlar

Bu blogdaki popüler yayınlar

ARDUINO DERS-28 (5110 LCD İLE YILAN OYUNU)

ARDUINO DERS-10 (HC-SR04 ultrasonik mesafe sensörü )