Cara Program Sensor Suara dengan Arduino

Pada postingan kali ini akan membahas tentang bagaimana cara program sensor suara dengan arduino. Sensor suara yang digunakan dalam project ini adalah sensor suara KY-038. Modul sensor KY-038 merupakan modul pendeteksi level suara yang sangat dasar dan umum digunakan pada arduino, sensor ini memiliki sensitivitas yang cukup tinggi yang dilengkapi dengan electret condenser microphone. Pada modul sensor suara KY-038 ini memiliki dua pin output yaitu pin output analog dan digital. Untuk pin output analog “A0” sinyal untuk tegangan output adalah real time berdasarkan suara yang terdengar dari microphone sedangkan untuk pin output digital “DO” prinsipnya adalah ketika intensitas suara mencapai nilai tertentu, maka sinyal level output yang dikeluarkan menjadi high. Pada modul sensor suara KY-038 ini juga terdapat sebuah potensiometer yang berfungsi untuk mengatur sensitivitas sensor pada output digital. Berikut adalah gambar fisik dari modul sensor suara KY-038 :

 

 

Cara Program Sensor Suara Arduino

Gambar Modul Sensor KY-038

Spesifikasi Modul Sensor KY-038

  1. Rentang suplai tegangan yang dibutuhkan = DC 4V-6V
  2. Microphone = Electret Condenser
  3. Pin Output = A0 : Analog Output dan D0 : Digital Output (TTL)
  4. Komparator = LM393
  5. Sensitivitas = Adjustable melalui potensiometer
  6. LED = Power LED, Output LED

Project Sensor Suara Untuk Menghidupkan dan Mematikan Lampu

Sebagai contoh penggunaan sensor suara KY-038 pada arduino, kali ini saya akan membuat sebuah rangkaian pendeteksi suara untuk menghidupkan dan mematikan lampu sesuai program yang akan dibuat untuk memprogram modul sensor suara dengan mode analog. Data dari sensor akan diolah oleh Arduino dan hasilnya akan ditampilkan pada serial monitor. Berikut adalah gambar rangkaian yang digunakan :

Gambar Rangkaian :

Cara Program Sensor Suara Arduino

Komponen yang digunakan :

  1. Arduino UNO
  2. Modul sensor suara KY-038
  3. Relay 5 Vdc
  4. Breadboard
  5. Kabel Jumper
  6. Kabel Power 220V
  7. Lampu

Keterangan Rangkaian dan Pemrograman

  1. Rangkailah semua komponen seperti pada gambar rangkaian diatas
  2. Setelah rangkaian telah selesai, langkah selanjutnya adalah membuat sketch program pada software Arduino IDE seperti contoh program dibawah ini
  3. Compile sketch yang telah dibuat
  4. Hubungkan Arduino UNO dengan komputer menggunakan kabel USB dan upload ke Arduino UNO yang digunakan. (Jangan lupa untuk memastikan board dan port yang digunakan)
  5. Bukalah serial monitor pada Arduino IDE dengan baudrate 9600, sehingga nilai analog yang terbaca dapat terlihat

Cara Program Sensor Suara Mode Analog :

Berikut ini adalah contoh kasus pendeteksian suara dengan menggunakan modul sensor suara KY-038 pada mode analog. Data dari sensor akan diolah oleh Arduino UNO dan hasilnya akan ditampilkan pada serial monitor. Program yang akan dibuat pada contoh ini ada 3 yaitu :

  1. Program untuk mengecek nilai analog yang terbaca ketika suara terdeteksi. Program ini bertujuan untuk mencari ambang batas terkait kebisingan di area yang akan dideteksi oleh sensor suara.
  2. Program kedua adalah program yang digunakan untuk seleksi kondisi, menggunakan ambang batas yang disesuaikan.
  3. Program ketiga adalah program yang digunakan untuk menghidupkan dan mematikan lampu dengan single clap.

Program 1 :

Penjelasan Program :

  1. Pada awal program di inisialisasi dulu variabel dengan nama “batas” yang bertipe integer.
  2. Pada void setup terdapat perintah untuk pengaturan komunikasi serial dengan baud rate sebesar 9600bps
  3. Untuk baris selanjutnya program masuk kedalam void loop yang akan terus berulang tanpa henti.
  4. Didalam void loop terdapat perintah pembacaan data analog pada pin analog A5 yang kemudian hasilnya akan disimpan ke variabel batas.
  5. Baris selanjutnya adalah perintah untuk mencetak isi dari variabel batas ke serial monitor.

Cara Program Sensor Suara Arduino Serial

Nilai analog yang tampil pada serial monitor

Setelah program dijalankan maka akan terlihat nilai pembacaan sensor suara pada serial monitor kemudian untuk merubah nilai analog yang terbaca, kita bisa memberikan suara pada sensor dengan tepuk tangan dan lihatlah perubahan nilai yang terjadi pada serial monitor. Pada percobaan yang dilakukan, saya mendapatkan nilaiĀ antara 547 sampai dengan 548 ketika tidak ada suara tepukkan tangan ( nilai tersebut dapat berbeda ketika anda melakukan percobaan).

Program 2 :

Pada program kedua ini, saya akan memprogram ambang batas nilai sensor adalah sebesar 550. Sehingga apabila kita memberikan suara seperti tepuk tangan pada sensor dan nilai yang terbaca melebihi 550 maka kita akan memprogramnya dengan memberikan perintah untuk menghidupkan relay. Untuk memulainya buat program yang ditunjukkan pada contoh program dibawah ini.

Contoh program sensor suara seleksi batas :

Penjelasan Program :

  1. Pada awal program diinisialisasikan nama untuk pin analog A5 dengan nama “pinSensor”.
  2. Kemudian deklarasi nama untuk pin digital 7 dengan nama “pinRelay”
  3. Selanjutnya, diinisialisasikan variabel dengan nama “nilaiSensor” yang bertipe integer dan memiliki nilai awal = 0.
  4. Dalam void setup kemudian diberikan perintah untuk menggunakan komunikasi serial pada baud rate sebesar 9600bps.
  5. Untuk arah I/O pinRelay, pada program ini pin untuk Relay dideklarasikan sebagai pin OUTPUT.
  6. Baris terakhir didalam void setup diberikan logika LOW untuk pin Relay, sehingga Relay akan padam.
  7. Pada baris selanjutnya program masuk kedalam void loop yang akan terus berulang tanpa henti.
  8. Didalam void loop diberikan perintah untuk pembacaan data analog pada pin analog A5 dengan nama “pinSensor” yang kemudian hasilnya akan disimpan ke variabel “nilaiSensor”.
  9. Baris selanjutnya adalah perintah untuk mencetak isi dari variabel nilaiSensor ke serial monitor.
  10. Kemudian program masuk ke bagian seleksi kondisi if. Didalam seleksi kondisi ini variabel nilaiSensor akan diseleksi.
  11. Apabila isi dari variabel nilaiSensor terbaca lebih besar dari 550, maka pinRelay akan diberi logika HIGH yang berarti Relay dan lampu akan menyala. Kemudian akan dicetak nilai dari variabel nilaiSensor disertai string”=> SUARA TERDETEKSI” ke serial monitor.
  12. Apabila isi dari variabel nilaiSensor terbaca lebih kecil sama dengan 550, maka pinRelay akan diberi nilai LOW yang berarti Relay dan juga lampu akan padam.

Gambar dibawah menunjukan hasil yang didapat pada serial monitor ketika ada suara yang terdeteksi.

 

Ambang Batas Cara Program Sensor Suara Arduino

Program 3 :

Penjelasan Program :

  1. Pada awal program diinisialisasikan nama untuk pin analog A5 dengan nama “pinSensor”.
  2. Kemudian deklarasi nama untuk pin digital 7 dengan nama “pinRelay”
  3. Selanjutnya, diinisialisasikan variabel dengan nama “nilaiSensor” yang bertipe integer dan memiliki nilai awal = 0.
  4. Dalam void setup kemudian diberikan perintah untuk menggunakan komunikasi serial pada baud rate sebesar 9600bps.
  5. Untuk arah I/O pinRelay, pada program ini pin untuk Relay dideklarasikan sebagai pin OUTPUT.
  6. Baris terakhir didalam void setup diberikan logika LOW untuk pin Relay, sehingga Relay akan padam.
  7. Pada baris selanjutnya program masuk kedalam void loop yang akan terus berulang tanpa henti.
  8. Didalam void loop diberikan perintah untuk pembacaan data analog pada pin A5 dengan nama “pinSensor” yang kemudian hasilnya akan disimpan ke variabel “nilaiSensor”.
  9. Baris selanjutnya adalah perintah untuk mencetak isi dari variabel nilaiSensor ke serial monitor.
  10. Kemudian program masuk kebagian seleksi kondisi if, perulangan while, dan juga break yang berfungsi untuk membandingkan kondisi yang terbaca.
  11. Apabila kondisi pertama tidak terpenuhi maka akan dilanjutkan pada kondisi berikutnya, sehingga pinRelay akan diberi nilai LOW yang berarti Relay dan juga lampu akan padam.

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *