Pada proyek ini, kita akan membuat sistem pembaca suara sederhana menggunakan Arduino UNO dan sensor suara analog.
Tujuan Proyek:
- Mendeteksi tingkat kebisingan (noise level) dari lingkungan sekitar.
- Menampilkan hasil pembacaan suara melalui Serial Monitor.
- Mengenal cara kerja sensor analog dan pembacaan ADC (Analog to Digital Converter) di Arduino
Komponen yang Dibutuhkan:
Komponen | Jumlah | Keterangan |
---|---|---|
Arduino UNO | 1 | Mikrokontroler utama |
Sensor Suara Analog | 1 | Dapat berupa KY-038 atau sejenisnya |
Kabel Jumper | Beberapa | Untuk menghubungkan sensor ke Arduino |
Breadboard (opsional) | 1 | Untuk perakitan prototipe |
Laptop + Kabel USB | 1 | Untuk upload program dan membaca output |
Skema Koneksi (Wiring):

Hubungkan sensor suara ke Arduino sesuai tabel berikut:
Pin Sensor | Ke Arduino | Fungsi |
---|---|---|
VCC | 5V | Tegangan kerja sensor |
GND | GND | Ground |
A0 | A0 | Output analog |
📷 Kamu juga bisa mencari gambar wiring “KY-038 to Arduino UNO” untuk gambaran visualnya. Kalau mau, saya juga bisa buatkan gambarnya.
Kode Program Lengkap:
#include <Arduino.h>
int port_sensor_suara = A0; // Pin analog yang digunakan
void setup() {
Serial.begin(9600); // Memulai komunikasi serial
pinMode(port_sensor_suara, INPUT); // Atur pin sensor sebagai input
}
void loop() {
int sensor_suara = analogRead(port_sensor_suara); // Baca nilai analog dari sensor
Serial.println("SUARA : " + (String)sensor_suara); // Tampilkan ke serial monitor
delay(100); // Tunggu sebentar agar tidak terlalu cepat membaca
}
Cara Melihat Hasil:
- Upload kode ke Arduino UNO menggunakan Arduino IDE.
- Buka Serial Monitor (
Ctrl + Shift + M
). - Ubah baudrate menjadi
9600
. - Coba tepuk tangan, berbicara, atau buat suara keras dekat sensor.
- Perhatikan nilai
SUARA : ...
akan naik turun sesuai intensitas suara.
Penjelasan Kerja:
Sensor suara analog menghasilkan tegangan yang berubah-ubah tergantung dari intensitas suara. Arduino membaca tegangan ini menggunakan pin analog (A0
), lalu mengubahnya ke nilai digital antara 0 hingga 1023 (karena ADC 10-bit). Nilai ini kemudian ditampilkan di Serial Monitor.
- Nilai kecil (0-300): Lingkungan hening/senyap.
- Nilai menengah (300-600): Suara sedang seperti percakapan.
- Nilai besar (>600): Suara keras seperti teriakan atau tepuk tangan dekat sensor.
Nilai bisa berbeda tergantung jenis sensor dan lingkungan.
Eksperimen dan Pengembangan Lanjut:
1. 🎇 Menyalakan LED saat suara keras
Tambahkan LED dan buat sistem seperti “tepuk tangan menyalakan lampu”.
2. ⏱️ Sistem alarm kebisingan
Jika nilai suara terlalu tinggi dalam waktu lama, aktifkan buzzer atau kirim peringatan.
3. 🌐 Integrasi IoT
Gabungkan dengan ESP32 + Blynk untuk mengirim nilai suara ke smartphone.
4. 📦 Logging data
Kirim data suara ke SD Card atau simpan ke database lewat komunikasi serial.
Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :