Piano Arduino dan Buzzer Aktif (8 Tombol Nada)

Belajar mikrokontroler tidak melulu tentang sensor dan aktuator. Kamu juga bisa membuat proyek kreatif dan menyenangkan seperti piano mini berbasis Arduino. Proyek ini cocok untuk pemula karena tidak membutuhkan banyak komponen, namun tetap memberikan pengalaman belajar tentang digital input, frekuensi suara, dan penggunaan fungsi tone().

Dengan memanfaatkan 8 buah tombol sebagai input dan sebuah buzzer sebagai output, kamu bisa memainkan nada-nada dasar dari C hingga C tinggi (C4 hingga C5). Proyek ini bisa dijadikan dasar untuk alat musik elektronik, mainan edukatif, atau sekadar eksperimen menyenangkan.

Selain menambah pemahaman logika pemrograman, proyek ini juga membuka ide baru untuk membuat sistem edukasi musik elektronik sederhana di sekolah maupun laboratorium IoT.

Komponen yang Digunakan
  • 1x Arduino Uno / MFB ATMEL 328 micro
  • 8x Push Button
  • 1x Buzzer Aktif
  • 8x Resistor 10K (untuk tombol, opsional jika pakai INPUT_PULLUP)
  • Kabel jumper secukupnya
  • Breadboard
Skema Rangkaian
Koneksi Rangkaian
KomponenPin Arduino
Buzzer (+)D2
Tombol 1D11
Tombol 2D10
Tombol 3D9
Tombol 4D8
Tombol 5D7
Tombol 6D6
Tombol 7D5
Tombol 8D4
Semua sisi lain tombolGND
Library yang Harus Ditambahkan

Proyek ini tidak memerlukan library tambahan, karena semua fungsi (tone(), noTone()) sudah tersedia di library bawaan Arduino.

Kode Program Lengkap
cppSalinEdit//PROGRAM INI DI BUAT OLEH  : MANFAHBOT INDUSTRIAL AUTOMATION
//HAK CIPTA PROGRAM/CODING  : LUKMAN HAKIM A.
//WEBSITE                   : http://manfahbot.cc

int SPEAKER_PIN = 2;

#define NOTE_C4  262
#define NOTE_D4  294
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_G4  392
#define NOTE_A4  440
#define NOTE_B4  494
#define NOTE_C5  523

const uint8_t buttonPins[] = { 11, 10, 9, 8, 7, 6, 5, 4 };
const int buttonTones[] = {
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
  NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
};
const int numTones = sizeof(buttonPins) / sizeof(buttonPins[0]);

void setup() {
  for (uint8_t i = 0; i < numTones; i++) {
    pinMode(buttonPins[i], INPUT_PULLUP);
  }
  pinMode(SPEAKER_PIN, OUTPUT);
}

void loop() {
  int pitch = 0;
  for (uint8_t i = 0; i < numTones; i++) {
    if (digitalRead(buttonPins[i]) == LOW) {
      pitch = buttonTones[i];
    }
  }
  if (pitch) {
    tone(SPEAKER_PIN, pitch);
  } else {
    noTone(SPEAKER_PIN);
  }
}
Penjelasan Singkat Program
  • Tombol dihubungkan ke pin digital dengan mode INPUT_PULLUP, sehingga logika aktif-nya saat ditekan (LOW).
  • Nada ditentukan dalam array buttonTones[], sesuai urutan tombol.
  • Program akan mengecek semua tombol; jika salah satu ditekan, maka akan memanggil tone(SPEAKER_PIN, pitch) untuk memainkan nada.
  • Saat tidak ada tombol ditekan, buzzer akan berhenti berbunyi dengan noTone(SPEAKER_PIN).
Kesimpulan

Proyek piano mini Arduino ini adalah cara menyenangkan untuk belajar dasar pemrograman input digital dan pemrosesan sinyal audio sederhana. Dengan hanya 8 tombol dan sebuah buzzer, kamu sudah bisa memainkan melodi-melodi dasar seperti Do Re Mi Fa Sol La Si Do.

Proyek ini bisa dikembangkan menjadi:

  • Alat edukasi musik interaktif
  • Mesin suara alarm dinamis
  • Keyboard mini untuk kendali suara robot
  • Atau dikombinasikan dengan OLED atau LED untuk tampilan visual
manfah.industri@gmail.com
manfah.industri@gmail.com
Articles: 26

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *