Assalamualaikum Warahmatullahi Wabarakatuh, pada tutorial kali ini saya mengenalkan sebuah program yang sudah ada tinggal kita jalankan di arduino.cc. Buzzer Suara Nada Unik di Arduino. Kita banyak kenal buzzer hanya mempunyai satu buah nada yaitu "tiiiit", tapi sebenarnya tidak.
Buzzer ini bisa kita koneksikan menggunakan pin PWM pada pin Arduino, dari pin PWM inilah kita bisa atur nilai nya yang bisa mengeluarkan suara unik atau suara bernada misalkan "do re mi fa sol la si do". Tentunya untuk membuat suara do re mi fa sol la si do harus mengatur frequency nya. Untuk Rangkaian Buzzer
Buzzer ini bisa kita koneksikan menggunakan pin PWM pada pin Arduino, dari pin PWM inilah kita bisa atur nilai nya yang bisa mengeluarkan suara unik atau suara bernada misalkan "do re mi fa sol la si do". Tentunya untuk membuat suara do re mi fa sol la si do harus mengatur frequency nya. Untuk Rangkaian Buzzer
Rangkaian Buzzer Dengan Arduino Uno
Komponen yang digunakan :
- Arduino
- Buzzer
Pin Yang digunakan :
- Arduino (Pin 6) = (+) Buzzer
- Arduino (GND) = (-) Buzzer
Schematic Diagram :
Pin yang digunakan di arduino adalah pin 6. Dimana kita tahu Pin PWM untuk arduino uno adalah Pin 3, 5, 6, 9, 10 dan 11 untuk belajar pin PWM di "https://www.arduino.cc/en/Tutorial/PWM".
Ada beberapa program untuk rangkaian ini, dari program sederhana Penggunaan Pin PWM Untuk Buzzer dan program Nada Buzzer.
==============================================================
Program Pin PWM Buzzer :
const int buzzer = 6;
void setup(){
pinMode(buzzer, OUTPUT);
}
void loop(){
tone(buzzer, 1000);
}
void setup(){
pinMode(buzzer, OUTPUT);
}
void loop(){
tone(buzzer, 1000);
delay(1000);
tone(buzzer, 500);
delay(1000);
noTone(buzzer);
delay(1000); }
Penjelasan Program :
const int buzzer = 6;
Menyatakan nama konstanta buzzer yang menggunakan Pin 6 Arduino. Const menyatakan konstanta dan int menyatakan tipe data untuk konstanta tersebut adalah bilangan bulat.
pinMode(buzzer, OUTPUT);
Digunakan untuk membuat pin buzzer (Pin 6) dijadikan sebagai output (keluaran)
tone(buzzer, 1000);
delay(1000);
tone(buzzer, 500);
delay(1000);
noTone(buzzer);
delay(1000);
Tone (buzzer, 1000); adalah program untuk mengirimkan sound signal di pin buzzer tadi dengan nilai 1 KHz dan nilai 1000 bisa kita rubah sesuai kita dan delay(1000) adalah waktu untuk program selama 1 Second. Coba ubah nilainya dan lihat perubahan yang terjadi. Kunci pada program ini jika kita menggunakan sebuah buzzer lebih baik menggunakan program "Tone/noTone" bisa juga menggunakan "digitalWrite" tergantung kebutuhan.
==============================================================
Program Nada Unik Buzzer :
/* Melody
* (cleft) 2005 D. Cuartielles for K3
*
* This example uses a piezo speaker to play melodies. It sends
* a square wave of the appropriate frequency to the piezo, generating
* the corresponding tone.
*
* The calculation of the tones is made following the mathematical
* operation:
*
* timeHigh = period / 2 = 1 / (2 * toneFrequency)
*
* where the different tones are described as in the table:
*
* note frequency period timeHigh
* c 261 Hz 3830 1915
* d 294 Hz 3400 1700
* e 329 Hz 3038 1519
* f 349 Hz 2864 1432
* g 392 Hz 2550 1275
* a 440 Hz 2272 1136
* b 493 Hz 2028 1014
* C 523 Hz 1912 956
*
* http://www.arduino.cc/en/Tutorial/Melody
*/
int speakerPin = 6;
int length = 15;
char notes[] = "ccggaagffeeddc ";
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);
}
}
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 };
// play the tone corresponding to the note name
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); // rest
} else {
playNote(notes[i], beats[i] * tempo);
}
// pause between notes
delay(tempo / 2);
}
}
Note : Yang berwarna biru bisa kita rubah dengan program dibawah ini, hati hati dalam mengedit program jika tidak sesuai bisa eror.
Lagu Pertama : "Do Re Mi Fa Sol La Si DO DO Si La Sol Fa Mi Re Do"
int length = 16;
char notes[] = "cdefgabCCbagfedc";
int beats[] = { 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,4 };
Lagu Kedua : Twinkle Twinkle
int length = 15;
char notes[] = "ccggaagffeeddc ";
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
Lagu Ketiga : Gundul Gundul Pacul
int length = 15;
char notes[] = "cecefggcecefgg ";
int beats[] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4 };
char notes[] = "cecefggcecefgg ";
int beats[] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4 };
Penjelasan Program :
int speakerPin = 6;
int length = 15;
char notes[] = "cecefggcecefgg ";
int beats[] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4 };
int tempo = 300;
char notes[] = "cecefggcecefgg ";
int beats[] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4 };
int tempo = 300;
Int length = 15; adalah panjang nada
char notes [] = "cecefggcecefgg"; adalah lagunya
int beats[] = {1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4}; ini adalah ketukannya semakin besar nilai semakin panjang nada bunyinya
int tempo = 300; adalah tempo lagunya (cepat lambatnya sebuah lagu)
int tempo = 300; adalah tempo lagunya (cepat lambatnya sebuah lagu)
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 };
ini adalah program untuk membuat sebuah nada do re mi fa sol la si do, tentunya juga bersamaan program "duration" delay beats tempo.
Untuk tangga nada nadanya :
- c = do
- d = re
- e = mi
- f = fa
- g = sol
- a = la
- b = si
- C = DO
Alhamdulillah sedikit penjelasan Program Buzzer Arduino, kita bisa kembangkan sesuai dengan kita ingin, suara yang dihasilkan buzzer untuk nada unik ini memang kurang baik karena buzzer diperuntukan untuk alarm, bisa diganti dengan speaker.
Sekian tulisan sedikit dari saya tentang "Ringtone Menggunakan Buzzer Arduno". Semoga bermanfaat dan follow terus website ini untuk mendapatkan artikel menarik dari www.ajifahreza.com semoga bermanfaat, teruslah berkarya dan jangan lupa berdoa aamiin
1 komentar:
Write komentarKlo lagu nya kepengen yg ga ada d atas rubah nya gmna?
Reply