Implementasi Sensor Suara Menggunakan ESP32 untuk Mendeteksi Intensitas Suara

| Simak vidio selengkapnya

Proyek ini bertujuan untuk membuat sistem pendeteksi kebisingan berbasis Internet of Things (IoT). Dalam hal ini, modul sensor suara digunakan untuk menangkap gelombang suara di sekitar. Selanjutnya, mikrokontroler ESP32 akan membaca data input tersebut dan secara otomatis mengontrol nyala LED sesuai tingkat intensitas suara yang diterima.

| Alat dan Bahan

Sound Sensor

Light Emitting Dioda (LED)

LCD 16x2

| Design Wiring

Rangkaian ini menghubungkan daya VCC/GND sensor ke 3.3V/GND ESP32, pin analog (AO) ke pin D34, serta pin D26 ke anoda LED via resistor 220Ω.

| Diagram Blok

Sistem bekerja tiga tahap: Input (sensor menangkap suara jadi sinyal analog), Proses (ESP32 mengolahnya jadi PWM), dan Output (LED menyala sesuai kekerasan suara).

| Implementasi

Tabel koneksi ESP32 dengan Sound Sensor
ESP-32 SOUND SENSOR
3V3
VCC
GND
GND
D34
OUT

Hardware

  • Siapkan ESP32, 2 Controller PS2, dan LCD 16×2 I2C.

  • Hubungkan seluruh kabel jumper sesuai tabel koneksi di atas.

  • Pastikan semua pin terpasang kencang agar sinyal tidak goyah.

Software

  • Buka Arduino IDE, pilih board ESP32 Dev Module dan port yang sesuai.

  • Jika belum ada, masukkan URL https://dl.espressif.com/dl/package_esp32_index.json di Preferences, lalu install ESP32 dari Boards Manager.

  • Tempelkan kode program, klik Verify (✓), lalu klik Upload (→).

  • Buka Serial Monitor dan periksa nilai sensornya

| Hasil Akhir

Sederhananya, alat ini bekerja menangkap getaran suara di lingkungan. Ketika kondisi ruangan tenang, lampu LED akan tetap mati. Namun, begitu ada suara nyaring seperti tepukan tangan, ESP32 akan langsung merespons. Akibatnya, lampu LED akan menyala dengan kecerahan yang mengikuti tingkat kekerasan suara.

| Code

➕➕
SoundSensorCode.cpp
const int sensorPin = 34;
const int ledMerah = 26;
const int batasMinimal = 50;

void setup() {
  Serial.begin(115200);

  pinMode(sensorPin, INPUT);
  ledcAttach(ledMerah, 5000, 8);
  analogReadResolution(12);
}

void loop() {

  long total = 0;

  for (int i = 0; i < 20; i++) {
    total += analogRead(sensorPin);
    delay(2);
  }

  int nilaiSuara = total / 20;

  Serial.print("Nilai sensor: ");
  Serial.println(nilaiSuara);

  
  if (nilaiSuara < batasMinimal) {

    ledcWrite(ledMerah, 0);

  } 
  else {

    int brightness = map(
      nilaiSuara,
      50,
      4095,
      10,
      255
    );

    brightness = constrain(brightness, 0, 255);

    ledcWrite(ledMerah, brightness);

    Serial.print("Kecerahan LED: ");
    Serial.println(brightness);
  }

  delay(50);
}

| Kesimpulan

Kesimpulannya, pembuatan sensor suara menggunakan ESP32 sangat praktis dan responsif. Selain itu, Anda dapat mengembangkannya menjadi berbagai perangkat IoT pintar lainnya. Oleh sebab itu, sistem ini sangat cocok untuk saklar lampu tepuk maupun alarm kebisingan otomatis.

Kami Siap Bantu Kamu

Jasa IoT Industri

Integrasi IoT untuk efisiensi industri.

  • ✔ Solusi custom
  • ✔ Implementasi profesional
  • ✔ Support berkelanjutan
Konsultasi Gratis

Web Dashboard IoT

Monitoring data real-time & modern.

  • ✔ Real-time
  • ✔ UI modern
  • ✔ Aman & scalable
Hubungi Kami

Sertifikasi IoT BNSP

Upgrade skill + sertifikat resmi.

  • ✔ Sertifikasi BNSP
  • ✔ Praktik langsung
  • ✔ Untuk profesional
Daftar Sekarang

| FAQ (Frequently Asked Questions)

Mengapa bacaan sensor terlalu sensitif atau tidak stabil?

Hal ini terjadi karena kondisi suara lingkungan mudah berfluktuasi. Oleh karena itu, putar baut kecil (potensiometer) pada modul sensor untuk menyesuaikan kepekaan mikrofon.

Apa bedanya pin Analog (AO) dan pin Digital (DO) pada sensor suara?

Pin Analog (AO) mengukur tingkat kekerasan suara secara bertahap (0–4095). Sementara itu, pin Digital (DO) hanya berfungsi sebagai saklar ON/OFF saat suara melewati batas tertentu.

Seberapa jauh jarak maksimal sensor ini bisa mendeteksi suara?

Sensor KY-037/KY-038 sangat efektif menangkap suara nyaring dalam jarak 1 hingga 3 meter.