Aplikasi Arduino : keyboard piano

Tombol push-on seprti yang sudah biasa kita pakai pada aplikasi digital input dapat kita modifikasi menjadi seperti alat musik, yaitu keyboard piano. Tentu saja tidak ‘secanggih’ keyboard beneran.

Dengan Arduino, kita cukup menambahkan 8 buah tombol ‘push on’ dan 1 speaker/buzzer. Cukup menekan salah satu tombol maka speaker akan berbunyi dengan nada tertentu.

Rangkaian tampak pada gambar .

void setup()
{
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
  pinMode(5,INPUT);
  pinMode(6,INPUT);
  pinMode(7,INPUT);
  pinMode(8,INPUT);
  pinMode(9,INPUT);

  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);

 

  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(9,HIGH);
}
void loop()
{

  if(digitalRead(2)==LOW)
    {tone(10,264); //Do
    }
  else if(digitalRead(3)==LOW)
    {tone(10,297);   //Re
    }
  else if(digitalRead(4)==LOW)
    {tone(10,330);  //Mi
    }
  else if(digitalRead(5)==LOW)
    {tone(10,352);  //Fa
    }
   else if(digitalRead(6)==LOW)
    {tone(10,396);  //Sol
    }
   else if(digitalRead(7)==LOW)
    {tone(10,440);  /La
    }
   else if(digitalRead(8)==LOW)
    {tone(10,495);  //Si
    }
   else if(digitalRead(9)==LOW)
    {tone(10,528);  //Do
    }
   else
   {
     noTone(10);
   }
}
Jalannya program :
Tekan tombol SW1 maka pada speaker akan terdengar nada ‘Do’, pada SW2 akan terdengar nada ‘Re’ dan seterusnya sampai SW8 nada ‘Do’ tinggi.


Penjelasan program :
Inti dari program ini adalah membaca tombol yang aktif (ditekan) kemudian mengeluarkan tone dengan frekuensi tertentu. Delapan tombol terhubung dengan pin 2 s/d pin 9 sehingga dibuat sebagai digital input dengan pullup.
pinMode(2, INPUT);
digitalWrite(2,HIGH);
Jika SW1 ditekan maka pin 2 berlogika LOW sehingga pengujian kondisi if pertama dikerjakan.
if(digitalRead(2)==LOW)
    {tone(10, 264); //Do
    }
Tone akan keluar melalui pin 10 dengan frekuensi 264 Hz yaitu nada do. Demikian pengujian kondisi terus berlangsung sampai kondisi untuk SW8 aktif yang akan mengeluarkan nada do tinggi.
  else if(digitalRead(9)==LOW)
    {tone(10, 528);  //Do
    }
Apabila tidak ada tombol yang ditekan maka tone dimatikan.
else
   {
     noTone(10);
   }
Selamat berArduino !!!

Iklan EDUROBO

7 thoughts on “Aplikasi Arduino : keyboard piano

  • July 26, 2012 at 9:37 pm
    Permalink

    mas, kalo programnya menggunakan CAVR ada gak mas

    Reply
    • July 27, 2012 at 9:43 am
      Permalink

      Wah saya lum sempat buat mas, tapi bisa kok mas pakai bhs C (CVAVR)..

      Reply
  • February 5, 2014 at 11:43 pm
    Permalink

    mas, boleh minta cp sama alamat email mas gak, saya pengen belajar banyak soal arduino sama mas ni

    Reply
  • March 20, 2014 at 6:56 pm
    Permalink

    mas mau nanya kalau tombol push button saya ganti dengan keypad 4×3 untuk menggunakan angka apakah program ikut berubah juga?

    Reply
    • March 21, 2014 at 10:20 am
      Permalink

      Tentu saja program ikut berubah mas, soalnya untuk keypad cara baca tombolnya berbeda.

      Reply

Leave a Reply

WhatsApp chat
%d bloggers like this: