Arduino Projeleri
#14Başlangıç

Dokunmatik Mini Piyano

~45 dkYok

Proje Amacı

5 farklı butona basıldığında farklı nota frekanslarını (262-392 Hz arası, Do-Sol) buzzer ile çalan basit bir müzik aleti.

Gerekli Malzemeler

  • Arduino Uno
  • 5x Buton
  • 5x 10kΩ direnç (veya INPUT_PULLUP)
  • Pasif Buzzer
  • Breadboard

Gerekli Kütüphaneler

Gerekli ek kütüphane yok, tone() Arduino IDE'de yerleşik gelir.

Pin Bağlantıları

Bileşen PiniBağlantı
Buton 1 (Do)
D2
Buton 2 (Re)
D3
Buton 3 (Mi)
D4
Buton 4 (Fa)
D5
Buton 5 (Sol)
D6
Buzzer (+)
D9

Devre Şeması

Arduino Kodu

arduino-14-dokunmatik-mini-piyano.ino
1const int butonlar[5] = {2,3,4,5,6};
2const int notalar[5] = {262,294,330,349,392};
3const int buzzer = 9;
4
5void setup(){
6 for(int i=0;i<5;i++) pinMode(butonlar[i], INPUT_PULLUP);
7}
8
9void loop(){
10 for(int i=0;i<5;i++){
11 if(digitalRead(butonlar[i]) == LOW){
12 tone(buzzer, notalar[i]);
13 return;
14 }
15 }
16 noTone(buzzer);
17}

Çalışma Açıklaması

INPUT_PULLUP kullanıldığı için harici direnç şart değildir, butonun bir ucu pine diğer ucu GND'ye bağlanır. Pasif buzzer kullanılmalı, aktif buzzer sabit ton üretir ve farklı notalar çalamaz.

Test Bilgisi

Devreyi kurun, kodu yükleyin. Her butona tek tek basın; her birinin farklı bir nota sesi çıkardığını doğrulayın.

Olası Sorunlar ve Çözümleri

Bazı tuşlar ses çıkarmıyorsa: o butonun bağlantısını ve INPUT_PULLUP modunun doğru ayarlandığını kontrol edin. Sesler çok kısık/net değilse: pasif buzzer yerine yanlışlıkla aktif buzzer takılmış olabilir. Birden fazla tuşa aynı anda basınca beklenmedik ses çıkıyorsa: kod sadece ilk algılanan tuşu çaldığı için bu normaldir, çoklu nota (akor) için kod genişletilmelidir.

Alternatif Çözümler

5 tuş yerine 8 tuşla tam bir oktav (Do-Do, 262-523 Hz) çalınabilir. Dokunmatik sensörler (TTP223, proje #28'deki gibi) kullanılarak fiziksel buton yerine dokunmatik tuşlar yapılabilir.

Bu projenin kodunu AI ile özelleştir

Farklı pin, ek özellik ya da başka bir sensör mü istiyorsun?