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, 31 Mei 2026

Arduino Potensiometer Trigger Piezo Buzzer - Mengontrol Buzzer Menggunakan Potensiometer dan Arduino

Dalam proyek elektronika berbasis Arduino, potensiometer sering digunakan sebagai input analog untuk mengatur atau memicu berbagai perangkat output. Salah satu perangkat yang paling mudah digunakan adalah piezo buzzer, baik tipe aktif maupun pasif. Dengan menggabungkan kedua komponen tersebut, kita dapat membuat sistem yang menghasilkan suara ketika nilai potensiometer mencapai batas tertentu.

 

Pada tutorial Arduino Potensiometer Trigger Piezo Buzzer ini, Anda akan mempelajari cara menggunakan potensiometer sebagai pemicu buzzer. Ketika posisi potensiometer melewati nilai yang telah ditentukan, buzzer akan aktif dan menghasilkan suara. Selain suara sederhana, kita juga akan membahas cara memutar melodi menggunakan piezo buzzer pasif.

 

Tutorial ini mencakup beberapa skenario penggunaan yang umum diterapkan pada proyek Arduino, yaitu mengaktifkan buzzer berdasarkan nilai analog, mengaktifkan buzzer berdasarkan nilai tegangan, serta memainkan melodi ketika tegangan potensiometer melebihi ambang batas tertentu.

Perangkat Keras yang Dibutuhkan

- Arduino UNO R3

- Kabel USB

- Potensiometer

- Piezo Buzzer Aktif

- Piezo Buzzer Pasif

- Modul buzzer aktif (opsional)

- Modul buzzer pasif (opsional)

- Breadboard

- Kabel jumper   

Mengenal Potensiometer dan Piezo Buzzer

Potensiometer merupakan resistor variabel yang menghasilkan tegangan berbeda sesuai posisi putarannya. Arduino dapat membaca perubahan tegangan tersebut melalui pin analog dan mengubahnya menjadi nilai digital antara 0 hingga 1023. Piezo buzzer adalah komponen yang mampu menghasilkan suara saat diberi sinyal listrik. Secara umum terdapat dua jenis buzzer yang sering digunakan, yaitu:

Piezo buzzer aktif, cukup diberi logika HIGH untuk menghasilkan suara.

- Piezo buzzer pasif, membutuhkan frekuensi tertentu menggunakan fungsi tone() agar dapat menghasilkan nada atau melodi.  

Dengan memanfaatkan pembacaan nilai potensiometer, Arduino dapat menentukan kapan buzzer harus aktif atau tidak aktif.

 

Baca juga: Arduino Potensiometer Trigger LED - Menyalakan LED Berdasarkan Nilai Potensiometer 

Cara Kerja Arduino Potensiometer Trigger Piezo Buzzer

Cara kerja rangkaian Arduino dengan potensiometer sebagai pemicu piezo buzzer cukup sederhana. Arduino akan membaca nilai analog yang dihasilkan oleh potensiometer melalui pin input analog. Nilai tersebut kemudian dibandingkan dengan nilai ambang batas (threshold) yang telah ditentukan dalam program. Apabila nilai potensiometer melebihi batas tersebut, Arduino akan mengaktifkan piezo buzzer sehingga menghasilkan suara. Sebaliknya, jika nilai potensiometer berada di bawah ambang batas, buzzer akan tetap mati. Pada pengembangan yang lebih lanjut, buzzer tidak hanya mengeluarkan bunyi sederhana, tetapi juga dapat memainkan melodi tertentu ketika nilai potensiometer melewati batas yang ditentukan. Metode ini banyak digunakan dalam berbagai aplikasi elektronika, seperti alarm sederhana, sistem peringatan level, indikator batas sensor, pengingat berbasis nilai analog, serta sistem notifikasi suara. 

Wiring Diagram Arduino Potensiometer Trigger Piezo Buzzer


Arduino Potensiometer Trigger Piezo Buzzer Berdasarkan Nilai Analog

Pada contoh pertama, buzzer akan aktif ketika nilai analog hasil pembacaan potensiometer lebih besar dari nilai threshold yang telah ditentukan.

Kode Program Arduino – Suara Sederhana dengan Ambang Analog

// constants won't change

const int POTENTIOMETER_PIN = A0; // Arduino pin connected to Potentiometer pin

const int BUZZER_PIN        = 3;  // Arduino pin connected to Buzzer's pin

const int ANALOG_THRESHOLD  = 500;


void setup() {

  pinMode(BUZZER_PIN, OUTPUT);

}


void loop() {

  int analogValue = analogRead(POTENTIOMETER_PIN);


  if(analogValue > ANALOG_THRESHOLD)

    digitalWrite(BUZZER_PIN, HIGH); // turn on buzzer

  else

    digitalWrite(BUZZER_PIN, LOW);  // turn off buzzer

}

Penjelasan Program

Arduino membaca nilai analog dari pin A0 menggunakan fungsi:

 

int analogValue = analogRead(POTENTIOMETER_PIN);


Nilai yang diperoleh berada pada rentang 0 hingga 1023.

Selanjutnya nilai tersebut dibandingkan dengan threshold:

 

if(analogValue > ANALOG_THRESHOLD)


Jika nilainya lebih besar dari 500, buzzer akan menyala. Sebaliknya, jika nilainya lebih kecil dari 500, buzzer akan mati.

Langkah Pengujian

1. Rangkai potensiometer dan buzzer sesuai skema.

2. Hubungkan Arduino ke komputer menggunakan kabel USB.

3. Buka Arduino IDE.

4. Pilih board dan port yang sesuai.

5. Upload program ke Arduino.

6. Putar potensiometer secara perlahan.

7. Dengarkan perubahan suara pada buzzer.       

Ketika nilai potensiometer melewati batas yang ditentukan, buzzer akan langsung aktif.

Arduino Potensiometer Trigger Piezo Buzzer Berdasarkan Tegangan

Selain menggunakan nilai analog mentah, kita juga dapat menggunakan nilai tegangan hasil konversi ADC. Cara ini lebih mudah dipahami karena menggunakan satuan Volt.

Kode Program Arduino – Suara Sederhana dengan Ambang Tegangan

 

// constants won't change

const int POTENTIOMETER_PIN   = A0;

const int BUZZER_PIN          = 3;

const float VOLTAGE_THRESHOLD = 2.5;


void setup() {

  pinMode(BUZZER_PIN, OUTPUT);

}


void loop() {

  int analogValue = analogRead(POTENTIOMETER_PIN);


  float voltage = floatMap(analogValue, 0, 1023, 0, 5);


  if(voltage > VOLTAGE_THRESHOLD)

    digitalWrite(BUZZER_PIN, HIGH);

  else

    digitalWrite(BUZZER_PIN, LOW);

}


float floatMap(float x, float in_min, float in_max,

               float out_min, float out_max) {


  return (x - in_min) * (out_max - out_min)

         / (in_max - in_min) + out_min;

}


Cara Mengubah Nilai Analog Menjadi Tegangan

Arduino mengubah tegangan analog menjadi nilai digital antara 0 hingga 1023. Untuk mendapatkan kembali nilai tegangannya, digunakan proses konversi sebagai berikut:

Pada contoh program di atas, buzzer akan aktif jika tegangan hasil pembacaan potensiometer lebih besar dari 2,5 Volt.

Arduino Potensiometer Trigger Melodi Piezo Buzzer

Selain menghasilkan bunyi sederhana, buzzer pasif juga dapat digunakan untuk memainkan nada dan lagu. Pada contoh berikut, Arduino akan memutar melodi ketika tegangan keluaran potensiometer melebihi batas tertentu. Metode ini sering digunakan pada alarm pintar, bel otomatis, sistem notifikasi elektronik, proyek IoT berbasis suara, dan mainan elektronik interaktif.

Kode Program Arduino – Melodi dengan Ambang Tegangan

Gunakan kode berikut untuk memutar melodi saat nilai tegangan potensiometer melewati batas yang ditentukan.

 

#include "pitches.h"


const int POTENTIOMETER_PIN   = A0;

const int BUZZER_PIN          = 3;

const float VOLTAGE_THRESHOLD = 2.5;


// daftar nada

int melody[] = {

  NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_G5, NOTE_C5, NOTE_D5,

  NOTE_E5,

  NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5,

  NOTE_F5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_D5, NOTE_D5, NOTE_E5,

  NOTE_D5, NOTE_G5

};


// durasi nada

int noteDurations[] = {

  8, 8, 4,

  8, 8, 4,

  8, 8, 8, 8,

  2,

  8, 8, 8, 8,

  8, 8, 8, 16, 16,

  8, 8, 8, 8,

  4, 4

};


void loop() {

  int analogValue = analogRead(POTENTIOMETER_PIN);


  float voltage = floatMap(analogValue, 0, 1023, 0, 5);


  if(voltage > VOLTAGE_THRESHOLD)

    buzzer();

}


float floatMap(float x, float in_min, float in_max,

               float out_min, float out_max) {


  return (x - in_min) * (out_max - out_min)

         / (in_max - in_min) + out_min;

}


void buzzer() {

  int size = sizeof(noteDurations) / sizeof(int);


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


    int noteDuration = 1000 / noteDurations[thisNote];


    tone(BUZZER_PIN, melody[thisNote], noteDuration);


    int pauseBetweenNotes = noteDuration * 1.30;


    delay(pauseBetweenNotes);


    noTone(BUZZER_PIN);

  }

}


Langkah Pengujian Melodi

1. Buat file tambahan bernama pitches.h.

    - Klik tombol tepat di bawah ikon serial monitor dan pilih New Tab, atau gunakan tombol Ctrl+Shift+N

 


    - Berikan nama file pitches.h dan klik tombol OK

 


2. Salin daftar definisi nada ke dalam file tersebut.

 

/*************************************************

 * Public Constants

 *************************************************/


#define NOTE_B0  31

#define NOTE_C1  33

#define NOTE_CS1 35

#define NOTE_D1  37

#define NOTE_DS1 39

#define NOTE_E1  41

#define NOTE_F1  44

#define NOTE_FS1 46

#define NOTE_G1  49

#define NOTE_GS1 52

#define NOTE_A1  55

#define NOTE_AS1 58

#define NOTE_B1  62

#define NOTE_C2  65

#define NOTE_CS2 69

#define NOTE_D2  73

#define NOTE_DS2 78

#define NOTE_E2  82

#define NOTE_F2  87

#define NOTE_FS2 93

#define NOTE_G2  98

#define NOTE_GS2 104

#define NOTE_A2  110

#define NOTE_AS2 117

#define NOTE_B2  123

#define NOTE_C3  131

#define NOTE_CS3 139

#define NOTE_D3  147

#define NOTE_DS3 156

#define NOTE_E3  165

#define NOTE_F3  175

#define NOTE_FS3 185

#define NOTE_G3  196

#define NOTE_GS3 208

#define NOTE_A3  220

#define NOTE_AS3 233

#define NOTE_B3  247

#define NOTE_C4  262

#define NOTE_CS4 277

#define NOTE_D4  294

#define NOTE_DS4 311

#define NOTE_E4  330

#define NOTE_F4  349

#define NOTE_FS4 370

#define NOTE_G4  392

#define NOTE_GS4 415

#define NOTE_A4  440

#define NOTE_AS4 466

#define NOTE_B4  494

#define NOTE_C5  523

#define NOTE_CS5 554

#define NOTE_D5  587

#define NOTE_DS5 622

#define NOTE_E5  659

#define NOTE_F5  698

#define NOTE_FS5 740

#define NOTE_G5  784

#define NOTE_GS5 831

#define NOTE_A5  880

#define NOTE_AS5 932

#define NOTE_B5  988

#define NOTE_C6  1047

#define NOTE_CS6 1109

#define NOTE_D6  1175

#define NOTE_DS6 1245

#define NOTE_E6  1319

#define NOTE_F6  1397

#define NOTE_FS6 1480

#define NOTE_G6  1568

#define NOTE_GS6 1661

#define NOTE_A6  1760

#define NOTE_AS6 1865

#define NOTE_B6  1976

#define NOTE_C7  2093

#define NOTE_CS7 2217

#define NOTE_D7  2349

#define NOTE_DS7 2489

#define NOTE_E7  2637

#define NOTE_F7  2794

#define NOTE_FS7 2960

#define NOTE_G7  3136

#define NOTE_GS7 3322

#define NOTE_A7  3520

#define NOTE_AS7 3729

#define NOTE_B7  3951

#define NOTE_C8  4186

#define NOTE_CS8 4435

#define NOTE_D8  4699

#define NOTE_DS8 4978

 

3. Upload program ke Arduino.

4. Putar potensiometer hingga melewati batas tegangan.

5. Dengarkan melodi yang dimainkan buzzer.    

Saat tegangan keluaran potensiometer lebih tinggi dari ambang batas yang ditentukan, Arduino akan menjalankan fungsi buzzer() dan memainkan seluruh rangkaian nada.

Kelebihan Menggunakan Potensiometer untuk Mengontrol Buzzer

1. Mudah dipahami oleh pemula

2. Tidak memerlukan sensor tambahan

3. Cocok untuk latihan pembacaan input analog

4. Dapat digunakan sebagai simulasi berbagai jenis sensor

5. Mudah digunakan menjadi sistem alarm yang lebih kompleks 

 

Baca juga: Arduino Potensiometer Trigger Motor Servo - Mengontrol Posisi Servo Berdasarkan Nilai Potensiometer

 

 

 

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

0 on: "Arduino Potensiometer Trigger Piezo Buzzer - Mengontrol Buzzer Menggunakan Potensiometer dan Arduino"