NIM :19130042
TUGAS : KRSTI
1. Isian Materi nya meliputi ( Penjelasan singkat mengenai sensor suara, Kegunaan Sensor
suara dalam kehidupan sehari-hari, Konfigurasi PIn pada Sensor suara, Datasheet untuk
sensor suara, contoh pengaplikasian sensor suara dengan arduino, foto simulasi dan
rangkaian pengaplikasian sensor suara, dan foto pemrograman untuk sensor suara di
Arduino IDE)
2. Cara menghubungkan sensor suara dengan servo dynamixel (rangkaian dan
pemrograman)
Jawaban:
SENSOR SUARA
Pin A0 merupakan pin untuk analog output, GND untuk (-), + untuk VCC, dan D0 untuk digital
output. Pada pembahasan ini akan membuat saklar LED dengan suara (tepuk tangan).
Konfigurasi pin :
Catatan : Anda juga dapat menggunakan pin D0 dan dihubungkan ke pin digital Arduino. Di
bawah ini terdapat 2 buah sketch untuk rangkaian analog dan digital.
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 :
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.
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.
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.
Cara menghubungkan sensor suara dengan servo dynamixel
Gambar rangkaian diatas adalah rangkaian garasi otomatis, dari rangkaian diatas terdapat
servo yang telah terhubung dengan sensor suara . cara memnghubungkannya yaitu dengan
memasang servo ke arduino dengan kabel kuning ke 9, kabel merah ke 5 volt, hitam ke
ground, untuk memparalel input 5 volt pada servo dan sensor bisa menggunakan breadboard
atau langsung disolder, bisa diterapkan pula pada kabel ground. Berikut program untuk
rangkaian diatas:
#include <Servo.h>
Servo myservo;
void setup()
{
Serial.begin(9600);
myservo.attach(9);
pinMode(3, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
}
void loop()
{
int NS = analogRead(A0);
Serial.println(NS);
int tombolTutup = digitalRead(3);
int tombolBuka = digitalRead(5);
if (NS > 450 && NS < 550)
{
myservo.write(110);
Serial.println("BUKA SENSOR");
delay(1000);
}
if (tombolTutup == 0)
{
myservo.write(30);
Serial.println("TUTUP TOMBOL");
delay(1000);
}
if (tombolBuka == 0)
{
myservo.write(110);
Serial.println("BUKA TOMBOL");
delay(1000);
}
}