Projek Arduino Melodi Sederhana

Projek kali ini kita akan mencoba membuat melodi dengan menggunakan arduino  dan piezo electric buzzer. 



Komponen yang diperlukan :

1. Arduino board 

2. Piezo Buzzer


Melodi Arduino menggunakan buzzer piezo untuk membuat frekuensi yang menyerupai nada yang dapat dikenali. Anda menggunakan Arduino IDE untuk memberikan urutan, kecepatan, dan durasi not untuk memainkan nada tertentu.

Piezo adalah buzzer murah yang sering digunakan dalam mainan kecil. Elemen piezo tanpa rumah plastiknya terlihat seperti cakram logam emas dengan kabel positif (biasanya merah) dan negatif (biasanya hitam) yang terhubung. Sebuah piezo hanya mampu membuat suara klik, yang kita buat dengan menerapkan tegangan. Kita dapat membuat nada yang dapat dikenali dengan membuat piezo mengklik ratusan kali per detik pada frekuensi tertentu, jadi pertama-tama kita perlu mengetahui frekuensi nada berbeda yang kita inginkan. Tabel menunjukkan not dan frekuensi yang sesuai. Periode adalah durasi waktu, dalam mikrodetik, di mana frekuensi dibuat. Kami membagi dua angka ini untuk mendapatkan nilai timeHigh, yang digunakan dalam kode untuk membuat catatan.

Kode mengirimkan gelombang persegi dengan frekuensi yang sesuai ke piezo, menghasilkan nada yang sesuai (lihat Proyek 2 untuk lebih lanjut tentang bentuk gelombang). Nada dihitung melalui persamaan berikut:

waktuTinggi periode / 2 = 1/(2* frekuensi nada) =

Pengaturan proyek ini sangat sederhana dan hanya menggunakan dua kabel yang terhubung ke Arduino.

Cara membuat rangkaian projek :

1. Hubungkan kabel hitam piezo langsung ke GND di Arduino, dan kabel merah ke pin Arduino 9.


2. Periksa apakah pengaturan Anda cocok dengan Gambar, lalu unggah kode yang ditunjukkan berikutnya di "Sketsa".


Sketch program arduino :

Kami akan mulai dengan nada sederhana. Di , kami memberi tahu IDE bahwa nada terdiri dari 15 nada. Kemudian kita menyimpan not-not melodi dalam array karakter sebagai string teks dalam urutan yang harus dimainkan, dan panjang setiap not yang akan dimainkan disimpan dalam array lain sebagai bilangan bulat. Jika Anda ingin mengubah nada, Anda dapat mengubah nada dalam larik di, dan jumlah ketukan yang dimainkan oleh setiap nada terkait . Akhirnya pada kami mengatur tempo di mana lagu akan dimainkan. Gabungkan semuanya, dan apa yang dimainkannya?



int speakerPin = 9; // Pin connected to the piezo
int length = 15; // Number of notes
char notes[] = "ccggaagffeeddc "; // A space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
// Set timeHigh value to specific notes
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
for (int i = 0; i < 8; i++) { // Play tone that corresponds
// to note name
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT); // Set speakerPin as output
}
// Play the tune

void loop() {
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); // Rest
}
else {
playNote(notes[i], beats[i] * tempo);
}
delay(tempo / 2); // Pause between notes
}
}

Demikianlah projek arduino membuat melodu sederhana, selamat mencoba dan semoga bermanfaat.