Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Minggu, 07 Juni 2026

Arduino Piezo Buzzer - Cara Menggunakan Buzzer Aktif dan Pasif pada Arduino

Buzzer merupakan salah satu komponen elektronika yang sering digunakan sebagai indikator suara pada berbagai proyek Arduino. Komponen ini mampu menghasilkan bunyi sederhana berupa beep, alarm, hingga melodi lagu. Oleh karena itu, buzzer banyak ditemukan pada sistem alarm, bel pintu elektronik, perangkat notifikasi, keypad, hingga berbagai proyek IoT. Pada tutorial ini, Anda akan mempelajari cara menggunakan piezo buzzer dengan Arduino, mulai dari mengenal jenis-jenis buzzer, cara kerjanya, skema rangkaian, hingga cara membuat buzzer memainkan nada dan melodi menggunakan fungsi bawaan Arduino.

Perangkat Keras yang Dibutuhkan

- Arduino Uno R3

Kabel USB

- Active Piezo Buzzer 3V–24V

- Modul Active Piezo Buzzer

- Modul Passive Piezo Buzzer

- Breadboard

- Kabel jumper

Mengenal Buzzer

Buzzer adalah komponen elektronika yang berfungsi mengubah sinyal listrik menjadi gelombang suara. Berdasarkan cara kerja dan konstruksinya, buzzer dapat dibedakan menjadi beberapa jenis.

1. Berdasarkan Metode Kontrol

a. Active Buzzer

Active buzzer adalah jenis buzzer yang sudah dilengkapi rangkaian osilator di dalamnya, sehingga dapat langsung menghasilkan suara ketika diberikan tegangan listrik. Berbeda dengan passive buzzer, active buzzer tidak memerlukan sinyal frekuensi tambahan dari mikrokontroler untuk menghasilkan bunyi. Karena cara kerjanya yang sederhana, komponen ini banyak digunakan sebagai alarm, indikator suara, atau penanda pada berbagai rangkaian elektronika. Cukup dengan memberikan tegangan sesuai spesifikasinya, active buzzer akan langsung mengeluarkan suara secara otomatis. 

b. Passive Buzzer

Passive buzzer adalah jenis buzzer yang tidak memiliki rangkaian osilator internal, sehingga tidak dapat menghasilkan suara hanya dengan diberikan tegangan. Agar dapat berbunyi, passive buzzer memerlukan sinyal frekuensi atau gelombang persegi (square wave) yang biasanya dihasilkan oleh mikrokontroler. Keunggulan passive buzzer adalah kemampuannya menghasilkan berbagai nada dengan mengubah frekuensi sinyal yang diberikan. Oleh karena itu, komponen ini sering digunakan pada proyek yang memerlukan bunyi nada, musik, atau melodi. Namun, penggunaannya memerlukan pemrograman yang lebih kompleks dibandingkan active buzzer karena mikrokontroler harus menghasilkan sinyal frekuensi yang sesuai. 

2. Berdasarkan Mekanisme Pembangkitan Suara

a. Piezo Buzzer

Piezo buzzer merupakan jenis buzzer yang memanfaatkan material piezoelektrik sebagai penghasil suara. Material ini akan bergetar ketika diberikan tegangan listrik, sehingga menghasilkan gelombang suara yang dapat didengar. Karena memiliki ukuran yang kecil, bobot ringan, dan konsumsi daya yang rendah, piezo buzzer menjadi salah satu jenis buzzer yang paling banyak digunakan pada berbagai perangkat elektronik modern. Selain itu, piezo buzzer juga mampu menghasilkan berbagai frekuensi suara sehingga sangat cocok digunakan pada proyek mikrokontroler seperti Arduino, ESP32, maupun sistem embedded lainnya. 

b. Electromagnetic Buzzer

Electromagnetic buzzer bekerja menggunakan kumparan elektromagnetik yang menggerakkan sebuah diafragma untuk menghasilkan getaran suara. Ketika arus listrik mengalir melalui kumparan, medan magnet yang terbentuk akan menarik dan melepaskan diafragma secara berulang sehingga menghasilkan bunyi. Dibandingkan piezo buzzer, jenis ini umumnya mampu menghasilkan suara yang lebih keras. Namun, variasi nada yang dapat dihasilkan relatif lebih terbatas. Karena karakteristik tersebut, electromagnetic buzzer banyak digunakan pada bel elektronik, alarm sederhana, dan berbagai perangkat peringatan suara. 

3. Berdasarkan Tegangan Operasi

Buzzer tersedia dalam berbagai pilihan tegangan kerja yang dapat disesuaikan dengan kebutuhan rangkaian elektronik. Di pasaran, terdapat buzzer yang dirancang untuk bekerja pada tegangan rendah sekitar 3V–5V, tegangan menengah 6V–12V, hingga tegangan yang lebih tinggi seperti 12V–24V. Pemilihan tegangan kerja yang tepat sangat penting agar buzzer dapat berfungsi dengan optimal dan tidak mengalami kerusakan.

 

Sebagai contoh, buzzer aktif dengan rentang tegangan 3V–24V dapat digunakan pada berbagai sumber tegangan. Jika dihubungkan langsung ke pin Arduino atau mikrokontroler lainnya, buzzer akan menghasilkan suara yang cukup untuk kebutuhan indikator atau notifikasi sederhana. Sementara itu, jika buzzer dihubungkan ke sumber tegangan yang lebih tinggi melalui rangkaian driver seperti transistor atau relay, suara yang dihasilkan biasanya akan lebih keras sehingga cocok digunakan sebagai alarm atau sistem peringatan.

 

Pada tutorial ini, pembahasan akan difokuskan pada penggunaan active piezo buzzer dan passive piezo buzzer dengan tegangan kerja 3V–5V karena kedua jenis tersebut merupakan yang paling umum digunakan dalam proyek Arduino dan pembelajaran elektronika dasar.

Pinout Buzzer

1. Pinout Buzzer Standar

Buzzer biasa umumnya memiliki dua kaki, yaitu:

Pin Positif (+) → menerima tegangan atau sinyal kontrol dari Arduino.

- Pin Negatif (-) → dihubungkan ke GND.

2. Pinout Module Piezo Buzzer

 

Beberapa buzzer tersedia dalam bentuk modul yang memiliki tiga pin, yaitu:

- GND → dihubungkan ke GND Arduino.

- VCC → dihubungkan ke 5V atau 3.3V.

- I/O atau SIG → menerima sinyal kontrol dari pin digital Arduino. 

Keuntungan menggunakan modul buzzer adalah pemasangan menjadi lebih praktis karena telah dilengkapi komponen pendukung pada PCB modul.

Cara Kerja Active Buzzer

Active buzzer memiliki rangkaian osilator internal yang berfungsi menghasilkan sinyal getaran secara otomatis. Ketika tegangan diberikan pada terminal buzzer, osilator tersebut akan langsung bekerja dan menghasilkan getaran pada elemen piezo sehingga buzzer mengeluarkan suara. Sebaliknya, ketika tegangan dihentikan, osilator akan berhenti bekerja dan suara yang dihasilkan juga akan berhenti.

 

Pada aplikasi mikrokontroler seperti Arduino, active buzzer dapat dikendalikan dengan memberikan logika HIGH dan LOW pada pin output. Saat pin berada pada kondisi HIGH, buzzer akan berbunyi, sedangkan saat pin berada pada kondisi LOW, buzzer akan diam. Dengan mengatur pergantian kondisi HIGH dan LOW secara berkala, Arduino dapat menghasilkan berbagai pola bunyi sesuai kebutuhan.

 

Karena telah dilengkapi osilator internal, active buzzer sangat mudah digunakan dan tidak memerlukan pengaturan frekuensi tambahan dari mikrokontroler. Oleh sebab itu, jenis buzzer ini sering dimanfaatkan sebagai alarm, indikator peringatan, notifikasi, maupun penanda kondisi tertentu pada perangkat elektronik.

Cara Kerja Passive Buzzer

Berbeda dengan active buzzer, passive buzzer tidak memiliki osilator internal sehingga tidak dapat langsung menghasilkan suara hanya dengan diberikan tegangan DC. Agar dapat berbunyi, komponen ini memerlukan sinyal gelombang persegi (square wave) atau sinyal PWM dengan frekuensi tertentu yang biasanya dihasilkan oleh mikrokontroler seperti Arduino.

 

Saat Arduino mengirimkan sinyal berfrekuensi tertentu ke passive buzzer, elemen piezo di dalam buzzer akan bergetar mengikuti frekuensi tersebut dan menghasilkan suara. Frekuensi sinyal yang diberikan akan menentukan tinggi rendahnya nada yang terdengar. Semakin tinggi frekuensi sinyal, semakin tinggi pula nada yang dihasilkan, sedangkan frekuensi yang lebih rendah akan menghasilkan nada yang lebih rendah.

 

Karena frekuensi dapat diubah-ubah melalui program, passive buzzer mampu menghasilkan berbagai nada yang berbeda. Dengan mengatur urutan frekuensi tertentu, mikrokontroler bahkan dapat memainkan melodi atau lagu sederhana. Kemampuan inilah yang membuat passive buzzer banyak digunakan pada proyek elektronik yang memerlukan variasi nada, efek suara, maupun alarm dengan pola bunyi yang lebih kompleks dibandingkan active buzzer.

 

Baca juga: Mengatur Kecerahan LED Menggunakan Rotary Encoder dan Arduino 

Wiring Diagram Arduino Piezo Buzzer

1. Arduino dengan Buzzer Langsung

Hubungkan:

- Pin positif buzzer ke pin digital Arduino (misalnya D8).

Pin negatif buzzer ke GND Arduino.

 


2. Arduino dengan Modul Buzzer

 

Hubungkan:

- VCC modul ke 5V Arduino.

- GND modul ke GND Arduino.

- Pin SIG atau I/O ke pin digital Arduino (misalnya D8).  

Fungsi tone() dan noTone() pada Arduino

Arduino menyediakan fungsi bawaan yang sangat memudahkan pembuatan suara menggunakan buzzer.

1. Fungsi tone()

Pada Arduino, fungsi tone() digunakan untuk menghasilkan sinyal dengan frekuensi tertentu pada sebuah pin digital. Fungsi ini sangat berguna untuk mengendalikan passive buzzer karena dapat menghasilkan berbagai nada sesuai frekuensi yang ditentukan. Dengan menggunakan fungsi ini, Arduino akan mengirimkan sinyal gelombang persegi (square wave) ke buzzer sehingga komponen tersebut dapat menghasilkan suara. Fungsi tone() dapat digunakan dalam dua bentuk. Bentuk pertama hanya menentukan pin dan frekuensi nada yang akan dimainkan, sedangkan bentuk kedua menambahkan durasi sehingga suara akan berhenti secara otomatis setelah waktu tertentu.

 

tone(pin, frequency); 

 

atau 

 

tone(pin, frequency, duration);

 

Keterangan:

- pin adalah pin Arduino yang terhubung ke buzzer.

- frequency adalah frekuensi nada yang dihasilkan dalam satuan Hertz (Hz).

duration adalah lama bunyi dalam satuan milidetik (ms).

Sebagai contoh, perintah berikut akan menghasilkan nada dengan frekuensi 1000 Hz pada pin 8

 

tone(8, 1000);

 

Semakin tinggi nilai frekuensi yang diberikan, semakin tinggi pula nada yang dihasilkan oleh buzzer.

2. Fungsi noTone()

Fungsi noTone() digunakan untuk menghentikan suara yang sedang dihasilkan oleh fungsi tone(). Ketika fungsi ini dijalankan, Arduino akan menghentikan pengiriman sinyal frekuensi pada pin yang ditentukan sehingga buzzer tidak lagi mengeluarkan suara. Sintaks penggunaannya sebagai berikut:

 

noTone(pin);

 

Sebagai contoh, jika buzzer terhubung pada pin 8, maka suara yang sedang diputar dapat dihentikan dengan perintah berikut:

 

noTone(8);

 

Fungsi noTone() sering digunakan ketika ingin mengontrol kapan buzzer mulai dan berhenti berbunyi, terutama pada proyek alarm, notifikasi, maupun aplikasi yang memainkan nada atau melodi tertentu.

Program Arduino Memainkan Melodi

Arduino dapat memainkan serangkaian nada menggunakan kombinasi fungsi tone() dan noTone().

Program berikut memainkan melodi sederhana menggunakan buzzer yang terhubung ke pin digital 8.

 

#include "pitches.h"


#define BUZZER_PIN 8


int melody[] = {

  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3,

  NOTE_G3, 0, NOTE_B3, NOTE_C4

};


int noteDurations[] = {

  4, 8, 8, 4,

  4, 4, 4, 4

};


void setup() {


  for (int thisNote = 0; thisNote < 8; thisNote++) {


    int noteDuration =

    1000 / noteDurations[thisNote];


    tone(

      BUZZER_PIN,

      melody[thisNote],

      noteDuration

    );


    int pauseBetweenNotes =

    noteDuration * 1.30;


    delay(pauseBetweenNotes);


    noTone(BUZZER_PIN);

  }

}


void loop() {


}

 

Cara Menjalankan Program

1. Hubungkan Arduino ke komputer menggunakan kabel USB.

2. Buka Arduino IDE.

3. Pilih board dan port yang sesuai.

4. Buat file baru bernama pitches.h.


 

5. Salin daftar definisi nada ke dalam file tersebut.

6. Upload program ke Arduino.

 

7. Setelah upload selesai, buzzer akan memainkan melodi secara otomatis.

Mengubah Melodi pada Buzzer

Untuk memainkan lagu lain seperti Jingle Bells, Anda hanya perlu mengubah isi dua array berikut:

 

int melody[]


dan

 

int noteDurations[]


Array melody[] berisi urutan nada yang akan dimainkan, sedangkan noteDurations[] menentukan lama setiap nada dimainkan. Dengan mengubah kedua array tersebut, Anda dapat membuat berbagai jenis melodi sesuai kebutuhan.

Kelemahan Fungsi delay()

Pada banyak contoh program Arduino, fungsi delay() sering digunakan untuk mengatur jeda waktu karena mudah dipahami dan diterapkan. Namun, fungsi ini memiliki keterbatasan yang perlu diperhatikan, terutama ketika digunakan pada proyek yang lebih kompleks.

 

Fungsi delay() bekerja dengan cara menghentikan sementara eksekusi program selama waktu yang ditentukan. Selama periode tersebut, Arduino tidak dapat menjalankan instruksi lain sehingga metode ini dikenal sebagai blocking delay. Akibatnya, seluruh proses pada program akan menunggu hingga waktu jeda selesai sebelum melanjutkan ke perintah berikutnya.

 

Penggunaan delay() yang berlebihan dapat menimbulkan beberapa masalah, seperti keterlambatan dalam membaca data sensor, terganggunya komunikasi serial, serta menurunnya respons sistem terhadap perubahan kondisi yang terjadi secara real-time. Pada aplikasi yang melibatkan banyak tugas secara bersamaan, kondisi ini dapat membuat kinerja sistem menjadi kurang optimal.

 

Untuk mengatasi keterbatasan tersebut, pengembang biasanya menggunakan teknik pemrograman non-blocking dengan memanfaatkan fungsi millis() atau menggunakan library seperti ezBuzzer. Dengan metode ini, buzzer dapat memainkan nada atau melodi tanpa menghentikan proses lain, sehingga Arduino tetap dapat membaca sensor, mengontrol perangkat lain, dan menjalankan berbagai tugas secara bersamaan dengan lebih efisien.

 

Baca juga: Arduino dan Buzzer Aktif 12V - Cara Mengontrol Alarm Menggunakan Relay

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino Piezo Buzzer - Cara Menggunakan Buzzer Aktif dan Pasif pada Arduino"