Buzzer Pada Arduino
Apa Itu Buzzer
Buzzer adalah sebuah komponen elektronika yang mengubah energy listrik menjadi energy Mekanik atau getaran. Energy getaran ini akan mengahasilkan suara. Buzzer juga biasanya digunakan untuk indicator suara untuk alarm, input keypad, dan pemberitahuan kerusakan pada sebuah system electronic, seperti di mother board computer.
Buzzer ini biasanya memiliki tegangan kerja antara 3 volt sampe dengan 12 volt, biasanya jika kita beli sudah di jelaskan tegangan kerja nya. jika teganga kerja di bawah 5 volt bisa kita langsung hubungkan ke Arduino. Tapi jika tegangan kerja nya menggunakan 12 volt, maka kita membutuhkan rangkaian driver untuk buzzer, biasa nya saya sendiri menggunakan transistor 2n2222 sebagai penguat untuk tegangan buzzer nya.
Rangkaian Buzzer Arduino
Untuk system yang lebih aman, maka tidak di anjurkan menghubungkan buzzer secara langsung ke Arduino. Tegangan yang di berikan Arduino ke buzzer akan membebani IC Program Arduino itu sendiri, sehingga umur dari Arduino bisa jadi lebih mudah.
Seperti apakah rangkaian Buzzer Arduino ini? rangkaian nya sebenar nya sangat sederhana, jika kita ingin active low ( buzzer aktif jika PIN Arduino Logika 0 ) makan kita gunakan transistor PNP, namun jika kita ingin active high ( buzzer aktif jika PIN Arduino Logika 1) maka kita gunakan Transistor NPN. Saya harap teman teman sudah dapat membedakan transistor PNP dan NPN. Untuk lebih jelas nya lihat rangkaian di bawah ini.
Pada rangkaian di atas, terlihat pin D0 terhubung ke basis Transistor NPN 2N2222, disini rangkaian kita buat sebagai aktif high, ketika PIN D0 logika 1, maka buzzer akan menyala, ketika PIN D0 logika 0 maka Buzzer akan padam.
Program Buzzer Sederhana
Sekarang kita sudah tahu cara kerja buzzer, sekarang bagaimana kah cara membuat program Arduino untuk Buzzer ini? Untuk program buzzer sederhana, mari kita buat Buzzer menyala selama satu detik dan hidup satu detik, begini program nya,
const int pinBuzzer = 0; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(pinBuzzer, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(pinBuzzer, HIGH); //Buzzer menyala delay(1000); // tunggu satu detik digitalWrite(pinBuzzer, LOW); //Buzzer mati delay(1000); // tunggu satu detik }
Program di atas akan menyalakan buzzer selama satu detik kemudian mematikan nya selama satu detik. Tegangan 5volt yang di keluarkan PIN D0 pada Arduino akan mengaktifkan Buzzer, atau Tegangan Colector akan di lewatkan ke emitor, sehingga menyala.
Sekarang kita coba buat fungtion sederhana untuk mengatur kecepatan bunyi Buzzer berdasarkan waktu. Coba perhatikan program di bawah.
void speedBuzzer(int waktu); const int pinBuzzer = 0; int ulang = 0; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(pinBuzzer, OUTPUT); } // the loop function runs over and over again forever void loop() { for ( ulang = 0; ulang < 20; ulang++) { speedBuzzer(250); } for ( ulang = 0; ulang < 20; ulang++) { speedBuzzer(500); } } void speedBuzzer(int waktu) { digitalWrite(pinBuzzer, HIGH); delay(waktu); digitalWrite(pinBuzzer, LOW); delay(waktu); }
Program di atas akan melakukan perulangan selama 20 kali beep Buzzer dengan selang waktu 250ms, kemudian melakukan perulangan selama 20 kali beep Buzzer dengan selang waktu selama 500ms.
Program Buzzer aktif dari Push Button
Jika kita ingin menggunakan Buzzer sebagai indikasi push button maka program di atas akan kita modifikasi. Buzzer menyala ketika Push Button ditekan, sebaliknya buzzer mati jika kita lepas. Bagaimana kah rangkiaan nya, Coba lihat rangkaian di bawah ini,
Ketika push button tidak di tekan, maka kondisi PIN D7 akan berlogika 1, namun ketika push button di tekan makan pin D7 akan terhubung ke gnd, mengakibab kan PIN D7 akan logika 0, bagaimana kah program nya?
const int pinBuzzer = 0; const int pinPButton = 7; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(pinBuzzer, OUTPUT); pinMode(pinPButton, INPUT_PULLUP); //aktif pullup internal } // the loop function runs over and over again forever void loop() { int dtPButton = digitalRead(pinPButton); if ( dtPButton == 0) { digitalWrite(pinBuzzer, HIGH); } else { digitalWrite(pinBuzzer, LOW); } }
Nah sekian dulu artikel tentang buzzer Arduino ini, semoga bermanfaat
refrensi buzzer https://en.wikipedia.org/wiki/Buzzer
Thanks
Baca Artikel lain tentang Arduino di https://mikroavr.com/arduino/