Lompat ke konten Lompat ke sidebar Lompat ke footer

Rangkaian Sensor Suara Dengan Mikrokontroler

 

Sensor suara merupakan salah satu module sensor yang biasa digunakan di mikrokontroler (seperti arduino, respberry, dll) dimana sensor ini mengukur tinggi rendahnya frekuensi gelombang yang ditangkap oleh sensor. Hasil pengukuran frekuensi tsb akan diubah menjadi besaran listrik.

Umumnya untuk membuat project Rangkaian sensor suara dengan mikrokontroler ini menggunakan sensor suara KY-037. Jadi pada project kali ini kita akan membuat control lampu otomatis menggunakan suara tepuk tangan (Clap Hand Lamp) berbasis mikrokontroler Arduino. 

Jadi kita dapat menghidupkan dan mematikan lampu menggunakan suara frekuensi tinggi dari tepuk tangan keras yang hanya dilakukan sekali tepuk. 


Oke tanpa berlama-lama lagi kita akan masuk ke pembahasan.


Alat dan Bahan 

  1. Sensor Suara KY-037
  2. Arduino (Tipe apa saja mau itu Arduino Nano, Uno, Mega terserah....)
  3. Led

Rangkaian Sensor Suara

rangkaian sensor suara dengan mikrokontroler

Konfigurasi Pin

Sensor KY-037
  • Output  : Pin D2 Arduino
  • Input    : 5V 
  • GND     : Ground
Catatan:
  • Output pada rangkaian ini kita menggunakan pin digital sensor (D0).
    OUTPUT adalah komponen yang akan dikendalikan oleh arduino berdasarkan program yang di tulis di aplikasi arduino IDE.

  • INPUT ini adalah sinyal yang dihasilkan dari pengukuran sensor. Karena kita menggunakan pin Digital (D0) maka hanya terdapat dua jenis sinyal yaitu HIGH / LOW. 

    HIGH berarti sensor suara mendeteksi gelombang frekuensi tinggi.
    LOW berarti sensor suara tidak mendeteksi frekuensi tinggi.

    INPUT tsb yang akan diproses oleh arduino menjadi nyala LED dengan coding tertentu yang telah ditulis.

LED
Pin Positif (yang lebih panjang)   : dihubungkan ke pin D3 Arduino.
Pin Negatif (yang lebih pendek)  : dihubungkan ke pin GND Arduino.


Cara Kerja Rangkaian
Pada dasarnya cara kerja dari rangkaian ini sangatlah sederhana :
  • Sensor Suara KY-037 akan mengukur gelombang suara yang diterima oleh sensor tsb.
  • Hasil pengukuran tsb akan dirubah menjadi besaran listrik.
  • Karena kita menggunakan pin Digital (DO) maka besaran listrik tsb berupa sinyal HIGH / LOW.
  • Output HIGH / LOW inilah yang kemudian akan kita gunakan untuk menyalakan LED dan mematikan LED.
  • Jika OUTPUT HIGH maka LED akan berubah kondisi, entah itu dari hidup menjadi mati atau mati menjadi hidup.
  • Output HIGH akan tercipta karena suara frekuensi tinggi (dari tepuk tangan keras plakkk).


Coding

// Sensor KY-307 Untuk Menyalakan lampu
// Oleh : www.teknikelektro.com

int sensorSuara = 2;
int pinLED = 3;
boolean kondisi = 0; 

void setup() {
  Serial.begin(9600);
  pinMode(pinLED, OUTPUT);
  pinMode(sensorSuara, INPUT);
}
void loop() 
{
  int sensorValue = digitalRead(sensorSuara);
  if ( sensorValue == HIGH ) 
  {
    kondisi = !kondisi;
    digitalWrite(pinLED, kondisi);
    Serial.print ("Terdeteksi Suara Frekuensi Tinggi");
  }
  delay(1000);
}

Pembahasan Coding

Pada coding paling atas merupakan inisialisasi komponen dimana menyebutkan semua komponen yang digunakan (yaitu LED dan Sensor Suara KY-03) serta sambungan pin komponen tsb ke arduino. 
  • Tanda // merupakan coding komentar sehingga tidak dibaca oleh arduino.
  • int sensorSuara = 2; dan int pinLED = 3; merupakan kode untuk mengatakan bahwa sensor suara dihubungkan ke pin D2 Arduino dan LED dihubungkan ke pin D3 Arduino.
  • Boolean kondisi; merupakan kode untuk menggunakan kode booolean yaitu true or false. 
void setup()
  • Serial.begin(9600); merupakan kode untuk memanggil serial monitor pada arduino yaitu kita menggunakan serial monitor 9600. 
  • lcd.begin(); merupakan kode untuk memanggil lcd
  • Pin Mode (); merupakan tanda kita menyatakan komponen yang terhubung ke arduino sebagai INPUT atau OUTPUT.  

    INPUT maksudnya adalah komponen yang memberikan sinyal ke arduino (biasanya berupa sensor) dan sinyal tsb akan diproses oleh arduino sesuai dengan program yang ditanamkan.

    OUTPUT maksudnya adalah komponen yang dikendalikan oleh arduino sesuai dengan program / coding yang ditanam


Void loop();
void loop merupakan coding yang akan berulang secara terus menerus dan bersifat kontinyu.
  • int sensorValue = digitalRead(sensorSuara);
    merupakan kode untuk membaca hasil pengukuran senso,

  • Pada void loop terlihat hanya ada perintah yaitu If (jika).
  • if ( sensorValue == HIGH ) 
      {
        kondisi = !kondisi;
        digitalWrite(pinLED, kondisi);
        Serial.print ("Terdeteksi Suara Frekuensi Tinggi");
      }
      delay(1000);
    Maksud dari kode tsb adalah jika sensor suara mendeteksi ada frekuensi tinggi maka LED akan berubah kondisi.

    Kondisi LED berubah dari nyala menjadi mati atau mati menjadi nyala

Langkah Kerja
  1. Siapkan semua bahan yang akan digunakan.
  2. Rangkaian komponen sesuai gambar di atas.
  3. Buka Arduino IDE
  4. Copy-Paste coding di atas.
  5. Uploud code yang sudah di copy-paste tsb.
  6. Uji alat kalian apakah sudah berjalan dengan sesuai atau belum. Jika belum silahkan cek kembali rangkaian dan coding apakah ada yang salah atau tidak.

10 komentar untuk "Rangkaian Sensor Suara Dengan Mikrokontroler"

Mohon berkomentar dengan baik dan sopan.

- Admin berhak menghapus komentar yang tidak pantas.
..(Mengandung kata kasar dan SARA).
- Dilarang menaruh Link di kolom komentar.
- Dilarang SPAM

Terimakasih sudah berkunjung.....
Mari Berdiskusi di Kolom Komentar......