Program Arduino: Melody Dalam Speaker!

Membuat melody, DO, RE, MI, FA, SOL, LA, SI, DO”.
Yang perlu kamu siapkan adalah;

  1. 1x Arduino BELI
  2. 1x Breadboard BELI
  3. 1x Speaker BELI
  4. 1x Resistor 220 ohm BELI
  5. 2x Kabel Jumper BELI

Lalu buat rangkain seperti Gambar dibawah ini:

NOTES:

  • Hubungkan GND arduino ke Breadboard.
  • Hubungkan GND breadboard ke  kabel kiri Speaker.
  • Hubungkan pin 9 Arduino ke  kabel kanan Speaker.
  • Speaker sebenarnya tidak memiliki polaritas. Jadi mau dipasang seperti apapun antara positif dan negatif, Speaker masih tetap akan menyala.

Pemograman Speaker kamu bisa ketik atau salin sketch dibawah ini:

byte speaker= 9;

void setup(){
  
}

void loop(){
  tone(speaker, 262); delay(500);
  tone(speaker, 294); delay(500);
  tone(speaker, 330); delay(500);
  tone(speaker, 349); delay(500);
  tone(speaker, 395); delay(500);
  tone(speaker, 440); delay(500);
  tone(speaker, 494); delay(500);
  tone(speaker, 523); delay(500);
}
NOTES:
  • int speaker= 9; membuat variabel Speaker dimana variabel ini akan menyimpan nilai 9, yang berarti pin 9 arduino akan digunakan untuk Speaker.
  • void setup sengaja dikosongkan, karena tidak perlu perintah pinMode(speaker, OUTPUT); , karena pada perintah tone yang ada di void loop, sudah satu paket bahwa Speaker ini adalah OUTPUT.
  • tone(speaker, 262); digunakan untuk membuat nada DO, nilai 262 adalah frekuensi suara untuk nada DO. delay(500); menentukan  bahwa nada DO ini akan berbunyi selama 500 milidetik.
Dari program yang pertama, kamu belajar bahwa setiap nada yang di bunyikan oleh Speaker memiliki frekuensi seperti tabel dibawah ini:
Untuk mempermudah pembuatan NADA kamu bisa membuat Fungsi Variabel, untuk setiap nada, seperti;
void DO() {  tone(speaker, 262); }
Lalu nantinya kamu tinggal masukan DO(); kedalam void loop ditambah delay.

Dibawah ini adalah program yang isinya nada lagu Kebunku, saya ambil dari note angka yang ada di internet, dengan menambahkan delay yang saya sesuaikan dengan lagunya.

byte speaker= 9;

void setup(){
  
}

void loop(){
  SOL(); delay(500);    MI(); delay(1000);    SOL(); delay(1000);
  DOO(); delay(1000);   DIAM(); delay(500);
  SOL(); delay(500);    DOO(); delay(500);    SOL(); delay(500);
  FA(); delay(500);     MI(); delay(500);     RE(); delay(1000);
  DIAM(); delay(500);

  FA(); delay(500);     RE(); delay(1000);    FA(); delay(1000);
  LA(); delay(1000);    SOL(); delay(500);    DO(); delay(500);
  MI(); delay(500);     RE(); delay(500);     DO(); delay(1000);
  DIAM(); delay(500);

  SOL(); delay(500);    MI(); delay(1000);   SOL(); delay(1000);
  DIAM(); delay(500);

  SOL(); delay(500);    DOO(); delay(500);   SOL(); delay(500);
  FA(); delay(500);     MI(); delay(500);    RE(); delay(1000);
  DIAM(); delay(500);

  FA(); delay(500);     RE(); delay(1000);    FA(); delay(1000);
  LA(); delay(1000);    SOL(); delay(500);    DO(); delay(500);
  MI(); delay(500);     RE(); delay(500);     DO(); delay(1000);
  DIAM(); delay(500);
}

// fungsi nada
void DO(){
  tone(speaker, 262);
}
void RE(){
  tone(speaker, 294);
}
void MI(){
  tone(speaker, 330);
}
void FA(){
  tone(speaker, 349);
}
void SOL(){
  tone(speaker, 395);
}
void LA(){
  tone(speaker, 440);
}
void SI(){
  tone(speaker, 494);
}
void DOO(){
  tone(speaker, 523);
}
void DIAM(){
  noTone(speaker);
}

NOTES:

  • Sebelumnya maaf Nada lagu Kebunkunya agak fals, saya kurang begitu ahli dalam nada 😀
  • int speaker= 9; digunakan untuk membuat variabel Speaker untuk pin digital 9 Arduino.
  • void setup sengaja dikosongkan karena untuk program tone tidak memerlukan pinMode(speaker, OUTPUT);
  • void DO() {  tone(speaker, 262); } membuat fungsi variabel untuk mempersingkat saat pembuatan nada pada void loop, jadi cukup memasukan kode DO(); saja, dan ditambah delay.
  • SOL(); delay(500); menambahkan nada DO dengan delay 500 milidetik.
MARI LEBIH KREATIF!!!
  1. Buatlah sebuah nada lagu dengan mencari not angkanya di Google, atau lihat dari buku. Selanjutnya kamu bisa konversi sendiri, misal: not angka 1 jadi DO();, not angka 2 jadi RE(); dan seterusnya!
  2. Tambahkan rangkaian 8 LED pada rangkain Speaker seperti Gambar diatas, dengan 1 LED mewakili 1 Nada. Dan masukan program LED pada setiap fungsi variabel, sehingga setiap nada yang berbunyi akan di ikuti dengan setiap nyala lampu LED.

16 Comments

    Doni pramana

    bikin semangat belajar gan , ditunggu pelajaran selanjut nya 🙂

    Reply
    edo oktarifa

    gan, kalo bikinnya pake aplikasi gimana ya?
    misalnya kita bikin aplikasi, terus pencet tombol aplikasi baru keluar nadanya. jadi kita bisa simpan berapa nada di dalam satu aplikasi.

    Reply
    sebutkan

    mantp gan tutorial-tutorialnya, sampe bolak-balik buka blog 😀
    baru belajar..

    Reply
    Ajang Rahmat

    hehehe mantap gan! Kebetulan ada posting baru tuh gan, mengenai Alat Kontrol Suhu Otomatis…

    Reply
    Ajang Rahmat

    Bisa Gan! Aplikasi Android gan?
    Kalo android tunggu postingan selanjutnya ya 😉

    Reply
    Ajang Rahmat

    Thanks gan! Ayo semangat terus gan…

    Reply
    heru masadi

    Saya kira Arduino tidak mampu melakukan hal ini. Keren postingannya. Jadi tambah sengangat belajar ni gan
    😀

    Reply
    dede nedelas

    mantap gan saya maki semangat nih

    Reply
    Joseph Pani

    bisa gak kira-kira kita gunakan speaker yang lebih besar?

    Reply
    Hoeiz

    Gan pernah bikin drum kayanya seru ditunggu tutorialnya makasih

    Reply
    anto doang

    Komentar ini telah dihapus oleh pengarang.

    Reply
    anto doang

    Gan klo 1 lagilu dibikin 1 variable d tekan nyala dilepas mati meskipun lagu belom selesai bisa ga
    Gmn tehniknya thx

    Reply
    landro sinaga

    cara program supaya setiap nada yang berbunyi akan di ikuti dengan setiap nyala lampu LED, gimana caranya gan?

    Reply
      Ajang Rahmat

      itu tugas dari saya gan. hehhe

      agan tinggal masukin aja perintah nyalain LED nya di void fungsi

      Reply
    landro sinaga

    masih bingung

    Reply



Leave a Reply

Your email address will not be published. Required fields are marked *