Lampu Malam RGB
Pada Latihan kali ini akan sama konsepnya dengan latihan sebelumnya bernama lampu otomatis cuma ditambahkan LED RGB dan potensiometer.LED RGB: bisa dikatakan seperti tiga LED kecil dengan warna berbeda merah, hijau dan biru digabung menjadi satu. Kaki negatif/katoda dari masing-masing warna LED digabung sehingga hanya memiliki 4 kaki. Untuk menyalakan LED ini hubungkan kaki katoda dengan tegangan ground/negatif dan kaki masing-masing warna LED dengan tegangan positif, dan jangan lupa memasang resistor untuk membatasi arus.
Kebutuhan Komponen:
— 1 x Arduino UNO— 1 x Breadboard
— 1 x Photoresistor
— 1 x Potensiometer
— 1 x LED RGB
— 3 x Resistor 330Ω
— 1 x Resistor 10KΩ
— 11 x Kabel Jumper
Perakitan:
Rangkaian:
Upload sketch:
Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.
Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
06 - Lampu Malam RGB
Menyalakan dan mematikan sebuah LED RGB berdasarkan intensitas cahaya yang diterima oleh photoresistor.
Putar potensiometer untuk merubah warna nyala LED.
*/
int photoresistor; //variabel untuk menyimpan nilai photoresistor
int potentiometer; //variabel untuk menyimpan nilai potensiometer
int threshold = 700; //jika photoresistor membaca dibawah nilai ini maka LED akan menyala
//LED RGB dihubungkan dengan tiga pin digital
int RedPin = 9;
int GreenPin = 10;
int BluePin = 11;
int photoPin = A0; //pin yang terhubung dengan photoresistor
int potPin = A1; //pin yang terhubung dengan potensiometer
void setup() {
Serial.begin(115200); //memulai komunikasi dengan serial monitor
//set pin digital LED sebagai output
pinMode(RedPin,OUTPUT);
pinMode(GreenPin,OUTPUT);
pinMode(BluePin,OUTPUT);
}
void loop() {
photoresistor = analogRead(photoPin); //membaca nilai dari photoresistor
potentiometer = analogRead(potPin); //membaca nilai dari potensiometer
Serial.print("Photoresistor value:");
Serial.print(photoresistor); //menampilkan nilai photoresistor ke serial monitor
Serial.print(" Potentiometer value:");
Serial.println(potentiometer); //menampilkan nilai photoresistor ke serial monitor
if(photoresistor < threshold){ //jika kondisi gelap (nilai photoresistor dibawah nilai threshold) maka LED menyala
//jika kondisi gelap maka akan menjalankan fungsi-fungsi warana
//yang berbeda disesuaikan dengan nilai dari pembacaan potensiometer.
if(potentiometer > 0 && potentiometer <= 150)
red();
if(potentiometer > 150 && potentiometer <= 300)
orange();
if(potentiometer > 300 && potentiometer <= 450)
yellow();
if(potentiometer > 450 && potentiometer <= 600)
green();
if(potentiometer > 600 && potentiometer <= 750)
cyan();
if(potentiometer > 750 && potentiometer <= 900)
blue();
if(potentiometer > 900)
magenta();
}
else { //jika kondisi terang maka akan mematikan LED
turnOff(); //memanggil fungsi untuk mematikan LED
}
delay(100); //jeda untuk membuat penampilan data mudah dibaca
}
void red() {
//set pin LED dengan nilai untuk membuat nyala LED menjadi merah
analogWrite(RedPin, 100);
analogWrite(GreenPin, 0);
analogWrite(BluePin, 0);
}
void orange() {
//set pin LED dengan nilai untuk membuat nyala orange
analogWrite(RedPin, 100);
analogWrite(GreenPin, 50);
analogWrite(BluePin, 0);
}
void yellow() {
//set pin LED dengan nilai untuk membuat nyala kuning
analogWrite(RedPin, 100);
analogWrite(GreenPin, 100);
analogWrite(BluePin, 0);
}
void green() {
//set pin LED dengan nilai untuk membuat nyala hijau
analogWrite(RedPin, 0);
analogWrite(GreenPin, 100);
analogWrite(BluePin, 0);
}
void cyan() {
//set pin LED dengan nilai untuk membuat nyala cyan
analogWrite(RedPin, 0);
analogWrite(GreenPin, 100);
analogWrite(BluePin, 100);
}
void blue() {
//set pin LED dengan nilai untuk membuat nyala biru
analogWrite(RedPin, 0);
analogWrite(GreenPin, 0);
analogWrite(BluePin, 100);
}
void magenta() {
//set pin LED dengan nilai untuk membuat nyala magenta
analogWrite(RedPin, 100);
analogWrite(GreenPin, 0);
analogWrite(BluePin, 100);
}
void turnOff() {
//set semua pin LED ke 0 atau mati
analogWrite(RedPin, 0);
analogWrite(GreenPin, 0);
analogWrite(BluePin, 0);
}
0 comments:
Posting Komentar