PEMROGRAMAN MELODY
Disusun oleh:
Faris Rizki Ramadhani (1941220029)
A. TUJUAN
1. Membuat melody Do, Re, Mi, Fa, Sol, La, Si, Do.
2. Membuat program untuk membangkitkan frekuensi nada melody.
B. DASAR TEORI
Suara adalah fenomena analog, bagaimana caranya Arduino menanganinya? Sekali lagi kita
akan meniru perilaku analog menggunakan Arduino dengan kecepatannya yang luar biasa.
Untuk ini kita akan menghubungkan buzzer/piezo elements ke salah satu pin digital Arduino.
Sebuah buzzer akan menghasilkan suara ketukan setiap kali dialiri gelombang (pulse) arus
listrik. Jika kita menggunakan gelombang arus listrik dengan frekuensi yang tepat (misalnya
440 kali per detik untuk menghasilkan nada A) maka suara ketukan secara bersama-sama ini
akan menghasilkan nada musik.
Berikut merupakan tabel frekuensi yang dapat digunakan untuk menghasilkan nada sesuai
dengan yang diinginkan.
Tabel 1. Tabel frekuensi untuk arduino
(Silahkan Anda ketikkan tambahkan sendiri, jika ada, dasar teori yang berisi tentang
pengertian, cara kerja, dan fungsi dari Antarmuka Buzzer/Piezoelectric)
C. HARDWARE
1. Arduino Uno
2. Breadboard
3. Kabel Jumper
4. Buzzer / Piezo speaker
5. Resistor 330 Ohm
6. LED
7. Kabel Data USB
D. RANGKAIAN PERCOBAAN
(Silahkan Anda lanjutkan dengan menambahkan gambar rangkaian percobaan simulasi interface
buzzer/piezo speaker yang Anda buat sendiri melalui software Proteus/Tinkercad)
E. LANGKAH PERCOBAAN
1. Buka dan buat project di Proteus.
2. Rangkailah project simulasi Arduino untuk Komunikasi Serial.
3. Buka Visual Studio Code / Arduino IDE.
4. Buat programnya dan jalankan, pastikan tidak ada error.
4. Percobaan 4) Bunyi yang menghasilkan lagu “Lihat Kebunku” atau lagu lainnya.
5. Percobaan 5) Buatlah eksperimen dengan menggunakan kombinasi nada-nada / lagu lain
yang disertai dengan tampilan LED di Proteus (Minimal 5 LED). Tiap mahasiswa harus
menghasilkan lagu yang berbeda.
int speaker = 9;
void setup() { }
void loop() {
tone (speaker, 262); delay (1000);
tone (speaker, 294); delay (1000);
tone (speaker, 330); delay (1000);
tone (speaker, 349); delay (1000);
tone (speaker, 395); delay (1000);
tone (speaker, 440); delay (1000);
tone (speaker, 494); delay (1000);
tone (speaker, 523); delay (1000);
}
void setup() {
pinMode (speaker, OUTPUT);
}
void loop() {
for (int i = 0; i < length; i++){
if (notes[i] == ' ') {
delay (beats[i] * tempo);
} else {
playNote (notes[i], beats[i] * tempo);
}
delay (tempo/2);
}
}
4. Percobaan 4) Bunyi yang menghasilkan lagu “Lihat Kebunku” atau lagu lainnya.
int speaker = 9;
void setup(){ }
void loop(){
MI1();delay(300);
FA1();delay(400);
SOL1();delay(500);
MI();delay(550);
DIAM();delay(100);
MI();delay(400);
RE();delay(400);
DIAM();delay(50);
RE();delay(400);
DO();delay(500);
SOL1();delay(1000);
DIAM();delay(500);
SOL1();delay(500);
DIAM();delay(50);
SOL1();delay(400);
LA1();delay(500);
SOL1();delay(500);
FA1();delay(500);
MI1();delay(500);
RE1();delay(1000);
DIAM();delay(500);
RE1();delay(500);
MI1();delay(400);
FA1();delay(500);
DO();delay(700);
DIAM();delay(50);
DO();delay(300);
SI1();delay(500);
DIAM();delay(50);
SI1();delay(500);
LA1();delay(500);
SOL1();delay(1000);
DIAM();delay(500);
SOL1();delay(400);
DIAM();delay(50);
SOL1();delay(300);
SI1();delay(500);
LA1();delay(500);
SOL1();delay(500);
FA1();delay(600);
MI1();delay(1000);
DIAM();delay(500);
}
5. Percobaan 5) Buatlah eksperimen dengan menggunakan kombinasi nada-nada / lagu lain
yang disertai dengan tampilan LED di Proteus (Minimal 5 LED). Tiap mahasiswa harus
menghasilkan lagu yang berbeda.
int counter = 0;
void setup()
{
//Setup pin modes
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop()
{
beep(f, 250);
beep(gS, 500);
beep(f, 350);
beep(a, 125);
beep(cH, 500);
beep(a, 375);
beep(cH, 125);
beep(eH, 650);
delay(500);
//Repeat second section
secondSection();
beep(f, 250);
beep(gS, 500);
beep(f, 375);
beep(cH, 125);
beep(a, 500);
beep(f, 375);
beep(cH, 125);
beep(a, 650);
delay(650);
}
//Increment counter
counter++;
}
void firstSection()
{
beep(a, 500);
beep(a, 500);
beep(a, 500);
beep(f, 350);
beep(cH, 150);
beep(a, 500);
beep(f, 350);
beep(cH, 150);
beep(a, 650);
delay(500);
beep(eH, 500);
beep(eH, 500);
beep(eH, 500);
beep(fH, 350);
beep(cH, 150);
beep(gS, 500);
beep(f, 350);
beep(cH, 150);
beep(a, 650);
delay(500);
}
void secondSection()
{
beep(aH, 500);
beep(a, 300);
beep(a, 150);
beep(aH, 500);
beep(gSH, 325);
beep(gH, 175);
beep(fSH, 125);
beep(fH, 125);
beep(fSH, 250);
delay(325);
beep(aS, 250);
beep(dSH, 500);
beep(dH, 325);
beep(cSH, 175);
beep(cH, 125);
beep(b, 125);
beep(cH, 250);
delay(350);
}
H. KESIMPULAN
Setelah melakukan percobaan di atas, buatlah kesimpulan pengamatan yang Anda alami selama
melakukan percobaan)
Kesimpulan dari praktikum melodi diatas sangat sulit untuk menngunakan combinasi LED
dengan Melodi saya telah mengotak atik berkali kali dan akhirnya bisa.memakan waktu cukup
banyak untuk menganalisis kodingan nomor 5.