Proyek kali ini memiliki tujuan untuk memanipulasi lampu LED supaya mampu menyala. Namun, kampu LED yang dibuat dengan Arduino tidak hanya sekedar menyala saja. Akan ditambahkan beberapa trik supaya lampu LED dapat menyala dengan pola-pola yang unik dan menarik.
Untuk proyek kali ini akan digunakan alat dan bahan sebagai berikut.
Untuk proyek kali ini akan digunakan alat dan bahan sebagai berikut.
- Arduino UNO
- Jumpers
- Breadboard
- Resistor
- LED
- Komputer
- Sensor suara
Rangkaian Arduino yang akan dibuat sesuai dengan gambar berikut.
Source : http://startingelectronics.org/beginners/arduino-projects-for-beginners/clap-switch/
Rangkaian Arduino yang dibuat diatas akan menerima input berupa suara yang akan diterima oleh sensor suara. Input tersebut akan diproses oleh board Arduino. Adapun hasil pancaran lampu LED yang diharapkan adalah.
- Fase pertama, lampu LED mati.
- Fase kedua, ketika diterima input suara, Lampu LED akan hidup.
- Fase ketiga, ketika diterima input suara, Lampu LED akan berkedip-kedip dengan cepat
- Fase keempat, ketika diterima input suara, Lampu LED akan berkedip-kedip dengan lambat
- Ketika diterima input suara, kembali ke fase pertama
Untuk mencapai keempat fase diatas, perlu diberikan source code sebagai berikut.
//Awal source code
//Clap Switch
// Pin outputnya jadi pin 6
int count = 0;
int analog_val; // analog value read from A2
void setup() {
Serial.begin(9600); // using serial port to check analog value
pinMode(2, OUTPUT); // LED on digital pin 6
}
void loop() {
//static bool led_state = false; // current state of LED
analog_val = analogRead(A2);
if (analog_val > 10) { // trigger threshold
// toggle LED
int state = count % 4;
//clap LED
if (state==0){
digitalWrite(2, LOW);
} else if (state==1){
digitalWrite(2, HIGH);
} else if (state==2){
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
} else{ //state == 3
digitalWrite(2, HIGH);
delay(900);
digitalWrite(2, LOW);
delay(900);
digitalWrite(2, HIGH);
delay(900);
digitalWrite(2, LOW);
delay(900);
digitalWrite(2, HIGH);
delay(900);
}
count += 1;
delay(50); // wait for clap noise to subside
}
}
//Akhir source code
Berikut ini adalah hasil proyek lampu LED Arduino yang dihasilkan
Ada pula video dari hasil proyek ini.
Comments
Post a Comment