Anda di halaman 1dari 28

Penjelasan Singkat

Sensor suara merupakan module sensor yang mensensing besaran


suara untuk diubah menjadi besaran listrik yang akan dioleh
mikrokontroler. Module ini bekerja berdasarkan prinsip kekuatan
gelombang suara yang masuk.
Dimana gelombang suara tersebut mengenai membran sensor, yang
berefek pada bergetarnya membran sensor. Dan pada membran
tersebut terdapat kumparan kecil yang dapat menghasilkan besaran
listrik.
Kecepatan bergeraknya membran tersebut juga akan menentukan
besar kecilnya daya listrik yang akan dihasilkan.
Komponen utama untuk sensor ini yaitu condeser mic sebagai
penerima besar kecilnya suara yang masuk.
Bentuk fisik dari condeser mic yaitu berbentuk bulat dan memiliki kaki
dua, dapat dilihat seperti gambar dibawah ini

Prinsip Kerja Condeser


Condenser mic bekerja berdasarkan diafragma atau
susunan backplate yang harus tercatu oleh listrik membentuk sound-
sensitive capacitor.
Gelombang suara yang masuk ke microphone akan menggetarkan
komponen diafragma ini yang dimana terletak didepan backplate yang
terdapat komponen kondesator.
Ketika kondesator terisi dengan muatan, pada diafragma dan
backplate akan tercipta medan listrik. Dan yang dimana besarnya
medan listrik dipengaruhi oleh ruang yang terbentuk diantara kedua
komponen tersebut.
Variasi akan jarak antara diafragma dengan backplate muncul
dikarenakan efek adanya tekanan suara yang mengenai diafragma
yang menyebabkan terjadinya pergerakan diafragma relatif.

Skema dari Condeser Microphone


Karakteristik dari Condeser Mic
 Susunannya lebih kompleks dibanding dengan jenis microphone
lainnya seperti dibanding dengan dynamic Microphone
 Pada frekuensi tinggi, akan menghasilkan suara yang lebih halus
dan natural, serta sensitivitas yang lebih tinggi
 Mudah akan mencapai respon frekuensi flat dan
memiliki range frekuensi yang lebih luas
 Ukurannya lebih kecil dibanding dengan jenis tipe mikrophone
lainnya

Pada pasaran sudah dijual sensor suara menggunakan condeser mic


ini dalam bentuk modul, sehingga mudah dan praktis dalam
penggunaannya.
Modul Sensor Suara
Spesifikasi dari modul sensor suara antara lain

 Sensitivitas dapat diatur (pengaturan manual pada potensiometer)


 Condeser yang digunakan memiliki sensitivitas yang tinggi
 Tegangan kerja antara 3.3V – 5V
 Terdapat 2 pin keluaran yaitu tegangan analog dan Digital output
 Sudah terdapat lubang baut untuk instalasi
 Sudah terdapat indikator led

Tutorial sensor suara 1 : Pembacaan


sinyal Digital output
Bahan yang diperlukan antara lain :

 Arduino Uno
 Komputer + Software IDE Arduino
 Modul Sensor suara
 Kabel Jumper
Skema yang perlu dirangkaikan
Untuk contoh kode pemrogramannya :

1
2
3 /* --- www.nyebarilmu.com --- */
4
5 int Led=13;//Definisi Led pada pin 13 (default)
6 int OutputDO=2; //Definisi pin 2 sebagai keluaran sensor
7 int val;//val sebagai buffer data
8
9 void setup(){
10 //Inisialisasi I/O
11 pinMode(Led,OUTPUT);
12 pinMode(OutputDO,INPUT);
13 }
14
15 void loop(){
16 //Membaca sinyal keluaran dari sensor berupa logika 1 atau 0
17 val=digitalRead(OutputDO);
18 if(val==HIGH) {
19 //Jika berlogika 1 maka LED akan menyala
20 digitalWrite(Led,HIGH);}
21 else
22 {
23 //jika berlogika 0 maka LED akan mati
24 digitalWrite(Led,LOW);}
25 }
26
Catatan : setting terlebih dahulu sensitivitas sensor
dengan memutarkan potensiometer yang tersedia pada modul.

Baca juga : Cara membuat mp3 player menggunakan Arduino

Tutorial sensor suara 2 : Pembacaan


sinyal tegangan analog

Skema yang perlu dirangkaikan


Program atau code
Arduino

1
2
3 /* --- www.nyebarilmu.com --- */
4
5 //Inisialisasi pin
6 int sensorPin = A0; //output dari sensor
7 int ledPin = 13; //untuk LED
8 int sensorValue = 00; //Nilai default sensor
9 int CompareSensor=300;
10
11 void setup() {
12 //inisialisasi i/o
13 pinMode(ledPin, OUTPUT);
14 Serial.begin(9600);
15 }
16
17 void loop() {
18 //Pembacaan sensor
19 sensorValue = analogRead(sensorPin);
20 //menampilkan nilai pembacaan sensor di serial monitor
21 Serial.print("Nilai pembacaan sensor: ");
22 Serial.println(sensorValue, DEC);
23
24 //untuk indikator dan pembanding
25 if(sensorValue > CompareSensor){
26 digitalWrite(ledPin, HIGH);
27 }
28 else{
29 digitalWrite(ledPin, LOW); }
30 delay(1000);
31 }
32
Pada tutorial kedua diatas sama memiliki kelebihan dan kekurangan
masing – masing.
Tutorial pertama tidak bisa mengetahui nilai dari suara yang telah ter-
sensing hanya dapat mendeteksi nilai 1 atau 0.
Tutorial kedua dapat mengetahui nilai dari suara yang ter-sensing
hanya saja memerlukan pin khusus ADC agar dapat membaca nilai
keluaran.
Terimakasih sudah berkunjung, dan semoga bermanfaat.
Salam nyebarilmu.com!
Membaca Sensor Suara
dengan Arduino dan
Menghidupkan Led dan
Program
by Jimmi Sitepu

Februari 18, 2018

in Arduino, Sensor

Penjelasan Dasar Sensor Suara dengan


Arduino
Sensor suara adalah sebuat sensor yang merubah suara melalui mic kemudian
di konversi ke tegangan analog. Dahulu mungkin kita menghitung dan desain
rangkaian penguat suara, kemudian di filter untuk membuang noise dari
output sensor suara baru di input kan ke mikrokontroller kemudian data data
nya di olah, tapi sekarang sudah tersedia sensor suara dengan harga
terjangkau dan mudah di untuk di akses.
pin out sensor suara arduino
mic akan ada di pin sebelah kiri, kemudian di olah sinyalnya, di kuatkan dan
di filter, kemudian di outkan berupa tegangan analog maupun signal ke pin
A0 sebelah kanan di gambar di atas, Untuk pin D0 akan mengeluarkan
tegangan 0 volt atau 5 volt. Jadi ada dua tipe data yang bisa dapatkan dari
modul sensor ini, ada yang berupa tengangan analog yang untuk membaca
nya dengan ADC ( analog to digital converter ), dan D0 ( digital output )
yang untuk membaca nya dengan Level 1 dan 0. untuk contoh coding
Arduino nya bisa kita lihat di bagian bawah nanti.

Manfaat sensor Suara Arduino atau


dengan Controller lain ( project sample
)
Sensor suara untuk Arduino ini atau dengan controller lain bisa kita gunakan
untuk beberapa project yang berhubungan dengan suara, contoh nya adalah
sebagai berikut:

Sensor Suara untuk mengukur ritme jantung atau


nafas pada hewan
Sensor suara Arduino ini sebenar nya bisa kita gunakan untuk menganalisa
ritme jantung hewan atau manusia. Apakah sedang cepat atau lambat.
Sebenarnya ide ini muncul ketika salah satu orang WhatsApp saya tentang
deteksi masa subur sapi, kayaknya start up bisnis juga, cowlar namanya.

aplikasi sensor suara arduino


Inseminasi sapi membutuhkan biaya yang tidak sedikit, bayangkan jika kita
inseminasi sapi tapi birahi sapi ( masa subur nya belum sampai) maka
inseminasi sapi akan gagal dan terbuang sia sia, dari ritme jantung juga bisa
di analisa apakah sapi sedang sehat atau tidak.

Jadi teman ini ingin membuat stetoskop digital yang di tempel di sapi
kemudian bisa di monitoring, saya piker sensor apa yang cocok? apakah
strain gauge? sensor MPX atau yang lain, setelah saya cari cari refrensi yang
bagus sensor suara. Mungkin teman teman bisa tiru dan kembangkan riset
untuk sapi ini.
Sensor Suara untuk deteksi Switch Gear, Flash
over Discharge di Gardu Listrik
Manfaat sensor suara bisa juga kita terapkan untuk deteksi suara pada switch
gear di Gardu Listrik. Sebenarnya saya juga tidak terlalu mengerti dengan
system ini pada awal nya. Ada orang dari bali WhatsApp saya tentang
pembuatan system untuk deteksi suara selama 10 detik, jika suara terdeteksi
dalam range tertentu selama 10 detik, maka akan menghidupkan relay
contactor selama 10 menit.

Awal nya saya bingung apa sih guna nya system ini. Tanya punya Tanya
ternyata ada sebuah perangkat di system gardu listrik ( wilayah PLN ) yang
mengeluarkan flash over, bunga api karena sambungan kabel di dalam nya
longgar. Suara nya begitu tinggi katanya. Untuk itu perlu deteksi cepat dari
system untuk memutus listrik nya dan memberikan notifikasi ke operator
terdekat
aplikasi sensor suara arduino gardu
Untuk aplikasi Sensor suara lain nya bisa kamu lihat dari kondisi lapangan
yang lain nya, apakah check gardu, harmonisasi suara untuk mesin dan lain
lain

Contoh program dan coding Sensor


Suara dengan Arduino
Program sensor suara dengan Arduino sebenar nya cukup mudah jika hanya
untuk membaca output sensor saja, ada dua cara pembacaan sensor suara jika
di lihat dari output sensor suara ini, pertama adalah dengan ADC nya
Arduino dan digital input Arduino. Sebelum pelajari lebih lanjut, ada baik
nya teman teman membaca artikel tentang ADC ( analog to digital converter)
Pada dasar nya Arduino/chip control lain ( microcontroll lain ) tidak bisa
membaca tegangan analog, hanya bisa membaca data data biner. Untuk itu
tegangan analog dari sensor suara tadi di Konversi dulu ke biner.

Berikut contoh Pemrograman nya

output sensor suara arduino

1 void setup() {

2 // initialize serial communication at 9600 bits per second:

3 Serial.begin(9600);

4 }

6 // the loop routine runs over and over again forever:

7 void loop() {
8 // read the input on analog pin 0:

9 int sensorValue = analogRead(A0);

10 // print out the value you read:

11 Serial.println(sensorValue);

12 delay(1); // delay in between reads for stability

13 }

pin out arduino nano sensor suara

wiring arduino
sensor suara
Setelah di program buka serial plotter pada Arduino kemudian check output
sinyal nya, jika kita dekat kan suara, maka akan gelombang sensor suara nya.
Data data sensor itu lah yang akan kita analisa. Selamat berkereasi.
Menghidupkan LED dengan Sensor
Suara Arduino
Untuk menghidupkan led dengan sensor suara, tinggal kamu tambah program
if di dalam nya, Seperti berikut

Menghidupkan led dengan sensor suara arduino


C

1 void setup() {

2 // initialize serial communication at 9600 bits per second:

3 Serial.begin(9600);

4 pinMode(LED_BUILTIN,OUTPUT);

5 }

7 // the loop routine runs over and over again forever:

8 void loop() {

9 // read the input on analog pin 0:

10 int sensorValue = analogRead(A0);

11 // print out the value you read:

12

13 if ( sensorValue > 512 ){

14 digitalWrite(LED_BUILTIN,HIGH);

15 }

16 else{

17 digitalWrite(LED_BUILTIN,LOW);

18 }

19

20 Serial.println(sensorValue);

21 delay(1); // delay in between reads for stability


22 }

Sekian dulu sensor suara dengan Arduino, silahkan dikembangkan, dan


semoga bermanfaat.
Menyalakan Lampu Dengan
Perintah Suara © CC BY
Menghubungkan arduino ke android melalui bluetooth dan
kemudian menggunakan perintah suara untuk mengendalikan
perangkat menggunakan relay

 home automation
 7,875 VIEWS
 4 COMMENTS
 2 RESPECTS
COMPONENTS AND SUPPLIES
Arduino UNO & Genuino UNO

Tessel Relay Module

Breadboard (generic)

×
Jumper wires (generic)

Android device

Tessel Bluetooth Low Energy Module

APPS AND ONLINE SERVICES


Arduino IDE

ABOUT THIS PROJECT


Pada postingan ini saya akan mencoba untuk menjelaskan salah satu pengaplikasian dari
interfacing antara user dengan sistem melalui sebuah project yaitu menyalakan lampu
menggunakan smartphone android. Pada project ini untuk menghubungkan antara android
dengan arduino, nantinya akan dihubungkan melalui komunikasi serial menggunakan
bluetooth HC-05, yaitu modul bluetooth yang compatible dengan arduino.
A. Alat dan komponen:
1. Arduino Uno
2. Modul Bluetooth

3. Modul Relay
4. Breadboard

5. Kabel Jumper
6. Lampu Neon

7. Smartphone Android
B. Uji Coba Modul Relay
Kita akan mencoba untuk menguji relay apakah berfungsi dengan baik atau tidak.
Menghubungkan kabel jumper pada skema yang telah diberikan dibawah ini. Pastikan pin
JD-VCC dan VCC lalu kita akan melihat LED menyala dan mati setiap dua detik akan tetapi
tidak akan ada suara klik untuk peralihan

#define relay 2 //attaches the relay to pin 2


void setup()
{
pinMode(relay, OUTPUT); //sets the relay as an output
}
void loop()
{
digitalWrite(relay, HIGH); //relay open
delay(2000); //wait 2 seconds
digitalWrite(relay, LOW); //relay closed
delay(2000); //wait 2 seconds
}
C. Uji Coba Modul Bluetooth
String voice;
#define relay1 3 //Connect relay1 to pin 3
void setup()
{
Serial.begin(9600); //Set rate for communicating with phone
pinMode(relay1, OUTPUT); //Set relay1 as an output
digitalWrite(relay1, LOW); //Switch relay1 off
}
void loop()
{
while(Serial.available()) //Check if there are available bytes to read
{
delay(10); //Delay to make it stable
char c = Serial.read(); //Conduct a serial read
if (c == '#'){
break; //Stop the loop once # is detected after a
word
}
voice += c; //Means voice = voice + c
}
if (voice.length() >0)
{
Serial.println(voice);
if(voice == "*switch on"){
switchon();
} //Initiate function switchon if voice is switch on
else if(voice == "*switch off"){
switchoff();
} //Initiate function switchoff if voice is switch off
else if(voice == "*lamp on"){
//You can replace 'lamp on' with anything you want...same applies to others
digitalWrite(relay1, HIGH);
}
else if(voice == "*lamp off"){
digitalWrite(relay1, LOW);
}
voice="";
}
}
void switchon() //Function for turning on relays
{
digitalWrite(relay1, HIGH);
}
void switchoff() //Function for turning on relays
{
digitalWrite(relay1, LOW);
}

VCC modul bluetooth dihubungkan ke Pin +5V pada arduino. GND modul bluetooth
dihubungkan ke Pin GND pada arduino. Pin TXD pada modul bluetooth dihubungkan ke pin
RXD pada arduino (pin 0). Dan Pin RXD pada modul bluetooth terhubung ke pin TXD pada
arduino (pin 1).
Bila anda mengupload source code ke arduino, pastikan anda mencabut pin 0 dan 1. Jika
tidak anda mungkin akan mengalami error seperti ini, Avrdude: stk500_getsync (): tidak
sinkron: resp = 0x00 Sekarang di ponsel android anda unduh
aplikasi https://play.google.com/store/apps/details?id=robotspace.simplelabs.amr_voice&hl=
en Hubungkan ke modul bluetooth dan pertama kali akan meminta password yang biasanya
1234. Setelah anda terhubung katakan perintah yang telah anda tuliskan dalam kode dan
mudah-mudahan relay akan berjalan sesuai apa yang anda perintahkan.
CODE
String voice;
#define relay1 3 //Connect relay1 to pin 3
void setup()
{
Serial.begin(9600); //Set rate for
communicating with phone
pinMode(relay1, OUTPUT); //Set relay1 as an
output
digitalWrite(relay1, LOW); //Switch relay1 off
}
void loop()
{
while(Serial.available()) //Check if there are
available bytes to read
{
delay(10); //Delay to make it stable
char c = Serial.read(); //Conduct a serial read
if (c == '#'){
break; //Stop the loop once # is
detected after a word
}
voice += c; //Means voice = voice + c
}
if (voice.length() >0)
{
Serial.println(voice);
if(voice == "*switch on"){
switchon();
} //Initiate function switchon if
voice is switch on
else if(voice == "*switch off"){
switchoff();
} //Initiate function switchoff if
voice is switch off
else if(voice == "*lamp on"){
//You can replace 'lamp on' with anything you
want...same applies to others
digitalWrite(relay1, HIGH);
}
else if(voice == "*lamp off"){
digitalWrite(relay1, LOW);
}
voice="";
}
}
void switchon() //Function for turning on
relays
{
digitalWrite(relay1, HIGH);
}
void switchoff() //Function for turning on
relays
{
digitalWrite(relay1, LOW);
}

Sketch program :
Rangkaian analog output : rangkaian komponen seperti gambar di
atas

1. int sensorSuara = A0;


2. int pinLED = 2;
3.
4. void setup() {
5. Serial.begin(9600);
6. pinMode(pinLED, OUTPUT);
7. }
8.
9. void loop() {
10. int sensorValue = analogRead(sensorSuara);
11. if ( sensorValue > 512 ) {
12. digitalWrite(pinLED, HIGH);
13. }
14. else {
15. digitalWrite(pinLED, LOW);
16. }
17.
18. Serial.println(sensorValue);
19. delay(1);
20. }

Rangkaian digital output : rangkaian di ubah lihat di bawah ini


 Pin D0 dihubungkan ke pin 3
Rangkaian digital output sensor suara dan Arduino
1. int sensorSuara = 3;
2. int pinLED = 2;
3. void setup() {
4. Serial.begin(9600);
5. pinMode(pinLED, OUTPUT);
6. pinMode (sensorSuara, INPUT) ;
7. }
8.
9. void loop () {
10. int sensorValue = digitalRead(sensorSuara);
11. if (sensorValue == HIGH) {
12. digitalWrite (pinLED, HIGH);
13. }
14. else {
15. digitalWrite (pinLED, LOW);
16. }
17. }

Penggunaan :
Silahkan rangkai dan upload program pada Arduino IDE seperti
biasanya sesuai rangkaian mau analog atau digital sebenarnya sama
saja fungsinya. Yang berbeda hanya pada analog nilainya (lihat
pada sketch program analog output berwarna merah 512) yang bisa
kita ubah sesuai keinginan.
Demikian pembahasan kali ini, terima kasih.

Anda mungkin juga menyukai