Pada suatu speaker atau sound system terdapat kumpulan LED yang akan menyala apabila mendapatkan input suara dari Mic. Nah, pada tutorial kali ini kita akan membuat hal demikian dengan memanfaatkan LED, Arduino, dan Microphone. Berikut ini tutorialnya:
Alat-Alat:
- 7 LED
- Arduino Uno
- Microphone sensor
- Breadboard
- Kabel Jumper
Prinsip Kerja:
Pada tutorial ini, menggunakan 7 led sebagai indikator dari input mic. Semakin keras suara yang masuk ke mic, maka jumlah LED yang akan menyala akan semakin banyak. Kira-kira seperti itulah prinsip kerja yang sederhana dari tutorial ini, selebihnya dapat diubah tergantung dari kreatifitas anda.
Step-By-Step:
1. Buatlah susunan rangkaian alat seperti dibawah ini:
LED 1 = pin 3 Arduino
LED 2 = pin 4 Arduino
LED 3 = pin 5 Arduino
LED 4 = pin 6 Arduino
LED 5 = pin 7 Arduino
LED 6 = pin 8 Arduino
LED 7 = pin 9 Arduino
AUD Mic = pin A0 Arduino
Vcc Mic = 5v
Gnd Mic = pin GND Arduino
2. Buatlah program pada software Arduino IDE dan upload pada mikrokontroler Arduino.
Gunakan Serial monitor dengan cara menekan Ctrl+Shift+M untuk melihat hasil pembacaan mic dari pin A0.
Berikut ini adalah sourcecodenya:
/*
* original version:
* https://sites.google.com/site/summerfuelrobots/arduino-sensor-tutorials/arduino-sound-sensor
This is the code to make a LED blink with sound.
You have to set the threshold so it' sensible enough to make the led blink.
Translate by: D. Yuzwan (May 2016)
*/
int led1 = 3;
int led2 = 4;
int led3 = 5;
int led4 = 6;
int led1 = 7;
int led6 = 8;
int led7 = 9;
int volume;
int ambang = 25;
int tambahan = 5;
void setup() {
//Serial.begin(9600); // debugging
pinMode(led1, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
}
void loop() {
volume = analogRead(A0); // membaca nilai suara mic dari pin A0
/*
//Debug mode, melihat nilai volume dgn serial monitor
Serial.println(volume);
delay(100);
*/
if(volume>=ambang){
digitalWrite(led1, HIGH); //LED 1 ON
}
else{
digitalWrite(led1, LOW); // LED 1 OFF
}
if(volume>=ambang + tambahan){
digitalWrite(led2, HIGH); //LED 2 ON
}
else{
digitalWrite(led2, LOW); // LED 2 OFF
}
if(volume>=ambang + (tambahan * 2)){
digitalWrite(led3, HIGH); //LED 3 ON
}
else{
digitalWrite(led3, LOW); // LED 3 OFF
}
if(volume>=ambang + (tambahan * 3)){
digitalWrite(led4, HIGH); //LED 4 ON
}
else{
digitalWrite(led4, LOW); // LED 4 OFF
}
if(volume>=ambang + (tambahan * 4)){
digitalWrite(led5, HIGH); //LED 5 ON
}
else{
digitalWrite(led5, LOW); // LED 5 OFF
}
if(volume>=ambang + (tambahan * 5)){
digitalWrite(led6, HIGH); //LED 6 ON
}
else{
digitalWrite(led6, LOW); // LED 6 OFF
}
if(volume>=ambang + (tambahan * 6)){
digitalWrite(led7, HIGH); //LED 7 ON
}
else{
digitalWrite(led7, LOW); // LED 7 OFF
}
}

0 komentar:
Posting Komentar