coseru.id - Coding asik & Seru

🔍 Cari Materi & Kelas

Elektronika Tingkat: Pemula 3 x dilihat

LED Aktif oleh Sensor Suara dengan LCD untuk Menampilkan Data Tingkat Suara

LED Aktif oleh Sensor Suara dengan LCD untuk Menampilkan Data Tingkat Suara

Ringkasan Proyek

Proyek ini menggunakan Arduino UNO dan sensor suara KY-038 untuk membaca tingkat suara, lalu menyalakan delapan LED sesuai ambang nilai yang terdeteksi. LCD 16x2 opsional menampilkan nilai sensor secara langsung sehingga pengguna dapat mengamati perubahan suara dan respons LED.

Bahan & Komponen

Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.

Daftar Komponen & Perangkat Keras

  • 1x Arduino UNO (Mikrokontroler untuk membaca sensor dan mengendalikan LED serta LCD)
  • 1x Solderless Breadboard ukuran penuh (Tempat merangkai komponen tanpa penyolderan)
  • 1x Sound Sensor Module KY-038 (Mendeteksi suara melalui mikrofon dan menyediakan keluaran analog AO serta digital DO)
  • 2x LED 5 mm kuning (Indikator tingkat suara pada kelompok nilai rendah)
  • 4x LED 5 mm hijau (Indikator tingkat suara pada kelompok nilai menengah)
  • 2x LED 5 mm merah (Indikator tingkat suara pada kelompok nilai tinggi)
  • 4x LED 5 mm putih (LED tambahan yang tercantum dalam daftar komponen proyek)
  • 4x LED 5 mm biru (LED tambahan yang tercantum dalam daftar komponen proyek)
  • 8x Resistor 100 ohm (Pembatas arus untuk LED putih dan biru)
  • 4x Resistor 220 ohm (Pembatas arus untuk LED merah dan kuning)
  • 4x Resistor 330 ohm (Pembatas arus untuk LED hijau)
  • 1x LCD 16x2 dengan I2C backpack (Menampilkan nilai sensor suara; bersifat opsional)
  • 1x set kabel jumper male-to-male (Menghubungkan komponen pada breadboard)
  • 1x set kabel jumper male-to-female (Menghubungkan modul sensor dan LCD ke Arduino)
  • 1x baterai 9V (Catu daya opsional sesuai dokumentasi proyek)
  • 1x konektor 9V ke barrel jack (Menghubungkan baterai 9V ke konektor daya Arduino; opsional)

Perangkat Lunak

  • Arduino IDE (Menulis dan mengunggah program ke Arduino UNO)
  • LiquidCrystal_PCF8574 library (Mengendalikan LCD 16x2 melalui I2C dengan backpack PCF8574)

Catatan: Daftar komponen Hackster mencantumkan LED putih dan biru beserta resistor masing-masing, tetapi kode yang dipublikasikan hanya mengendalikan delapan LED pada pin D3 sampai D10, yaitu dua LED kuning, empat hijau, dan dua merah. Jangan menambahkan LED tambahan ke pin yang sama tanpa mengubah rancangan dan program.

Langkah Pembuatan

Khusus Member

Panduan perakitan tahap demi tahap dan catatan proses pengerjaan.

Proyek ini memantau tingkat suara menggunakan modul KY-038. Arduino membaca nilai analog dari pin AO, menampilkan data melalui Serial Monitor dan LCD 16x2 opsional, kemudian menyalakan LED sesuai ambang nilai sensor. Kelompok LED kuning, hijau, dan merah digunakan sebagai indikator tingkat suara yang berbeda.

\"ProyekTampilan utama proyek sensor suara dengan indikator LED dan LCD dari dokumentasi Hackster.io.

Langkah 1: Siapkan Komponen

Siapkan Arduino UNO, modul sensor suara KY-038, delapan LED indikator, resistor pembatas arus, breadboard, kabel jumper, dan LCD 16x2 dengan I2C backpack jika ingin menampilkan data pada layar. LCD bersifat opsional; proyek tetap dapat mengirimkan data sensor ke Serial Monitor tanpa LCD.

Langkah 2: Pasang LED pada Breadboard

Pasang delapan LED yang dikendalikan program pada breadboard. Susun dua LED kuning, empat LED hijau, dan dua LED merah. Hubungkan setiap LED secara seri dengan resistor pembatas arus yang sesuai. Dalam rancangan penulis, LED kuning menggunakan resistor 220 ohm, LED hijau menggunakan resistor 330 ohm, dan LED merah menggunakan resistor 220 ohm. Perhatikan polaritas LED: kaki anoda menuju jalur keluaran melalui resistor, sedangkan kaki katoda menuju GND.

Langkah 3: Hubungkan Sensor Suara KY-038

Hubungkan pin VCC modul KY-038 ke 5V Arduino dan GND ke GND Arduino. Hubungkan pin AO (Analog Output) ke A0 Arduino untuk membaca nilai analog suara. Hubungkan pin DO (Digital Output) ke D2 Arduino untuk membaca sinyal digital berdasarkan ambang yang diatur oleh trimpot pada modul. Pada kode sumber, pin D2 digunakan sebagai input digital dan A0 sebagai input analog.

Langkah 4: Hubungkan LCD 16x2 (Opsional)

Jika menggunakan LCD 16x2 dengan I2C backpack PCF8574, hubungkan VCC ke 5V, GND ke GND, SDA ke A4, dan SCL ke A5 pada Arduino UNO. Kode proyek menggunakan alamat I2C 0x27, ukuran layar 16 kolom dan 2 baris, serta library LiquidCrystal_PCF8574. Alamat I2C dapat berbeda pada modul lain, sehingga perlu diperiksa jika LCD tidak menampilkan tulisan.

Langkah 5: Hubungkan LED ke Pin Arduino

Hubungkan LED indikator sesuai pemetaan pin pada kode: LED1 ke D3, LED2 ke D4, LED3 ke D5, LED4 ke D6, LED5 ke D7, LED6 ke D8, LED7 ke D9, dan LED8 ke D10. Pastikan setiap LED memiliki resistor pembatas arus sendiri dan semua GND tersambung bersama.

Langkah 6: Siapkan Arduino IDE

Buka Arduino IDE dan pasang library LiquidCrystal_PCF8574 melalui Library Manager atau sumber library yang sesuai. Hubungkan Arduino UNO ke komputer menggunakan kabel USB, lalu pilih board Arduino UNO dan port yang benar.

Langkah 7: Unggah dan Jalankan Program

Masukkan program pada bagian kode ke Arduino IDE, lalu unggah ke Arduino UNO. Buka Serial Monitor dan atur Baud Rate ke 9600 sesuai perintah Serial.begin(9600). Nilai sensor yang terbaca dapat diamati melalui Serial Monitor. Jika LCD dipasang dan alamat I2C sesuai, layar juga akan menampilkan teks \"SoundLevel Data:\" serta nilai sensor.

Langkah 8: Amati Respons LED terhadap Suara

Berikan suara di dekat sensor, misalnya tepukan tangan atau suara dari speaker. Nilai analog yang terbaca akan dibandingkan dengan ambang pada program. LED menyala ketika nilai sensor mencapai atau melewati ambang masing-masing: LED1 pada 650, LED2 pada 675, LED3 pada 700, LED4 pada 715, LED5 pada 720, LED6 pada 725, LED7 pada 735, dan LED8 pada 750. Nilai tersebut merupakan contoh hasil kalibrasi penulis, bukan ukuran desibel (dB) yang berlaku universal.

Langkah 9: Sesuaikan Ambang Sensor

Amati nilai sensor melalui Serial Monitor pada kondisi lingkungan yang berbeda. Catat nilai saat suasana tenang dan saat ada suara lebih keras. Sesuaikan angka ambang dalam perintah if agar LED merespons sesuai lingkungan dan karakteristik sensor yang digunakan. Nilai analog KY-038 dipengaruhi sensitivitas modul, jarak sumber suara, dan kondisi lingkungan, sehingga kalibrasi perlu dilakukan kembali jika perangkat dipindahkan.

Langkah 10: Periksa Tampilan LCD

Program sumber menambahkan spasi setelah nilai sensor untuk membersihkan digit sisa dari pembacaan sebelumnya. Contohnya, jika angka sebelumnya 1234 dan angka baru 619, karakter lama yang tersisa di layar dapat membuat tampilan terbaca 6194. Spasi tambahan membantu membersihkan karakter tersebut. Jika LCD tidak menyala, periksa alamat I2C, jalur SDA/SCL, VCC, GND, dan kontras layar.

Catatan penting tentang kode sumber: Kode yang dipublikasikan memiliki beberapa kekeliruan yang perlu diperbaiki sebelum digunakan. Baris pembacaan analog seharusnya membaca pin A0, bukan memanggil analogRead(sensorValue). Kondisi SensorData menggunakan operator perbandingan ==, bukan operator penugasan =. Selain itu, pin sensorValue tidak perlu diatur sebagai OUTPUT karena variabel tersebut menyimpan data pembacaan analog. Kode pada halaman juga tampak tidak lengkap pada bagian akhir. Karena itu, bagian kode di bawah ditampilkan sebagai ekstrak yang tersedia dari Hackster, bukan sebagai program yang sudah diverifikasi dapat dikompilasi.

\"DiagramDiagram skema rangkaian proyek yang disediakan oleh pembuat pada Hackster.io.

🔒
Akses Gratis Khusus Member

Buka Seluruh Panduan, Skema & Source Code

Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!

✓ Akses Gratis Selamanya
✓ Copy-Paste Source Code
✓ Kembali Otomatis ke Proyek

Petualangan Belajar di coseru

💡 Saksikan keseruan anak-anak belajar merakit robot dan coding! Daftar Kelas Uji Coba →