Cara Membuat Lampu Malam RGB Mengunakan Arduino
Content
RGB Yang dimaksud disini adalah LED RGB yaitu LED yang terdiri atas tiga LED kecil dengan warna merah, hijau dan biru yang digabung menjadi satu. Dimana Kaki negatif atau katoda dari masing-masing warna LED digabungkan sehingga hanya memiliki 4 kaki.
Untuk dapat menyalakan LED RGB kamu dapat menghubungkan kaki katoda dengan tegangan ground, kaki masing-masing warna LED dengan tegangan positif, dan memasang sebuah resistor untuk membatasi arus.
Sistem Kerja Lampu Malam RGB
Sistem kerja lampu malam RGB yang akan dibuat kali ini yaitu apabila kondisi ruangan terang atau sensor photoresistor tidak tertutup maka LED RGB akan mati dan apabila kondisi ruangan gelap atau sensor ditutup maka LED RGB akan menyala. Nyala warna LED RGB dapat kamu ubah dengan cara memutar knob potensiometer.Komponen Yang Diperlukan :
- 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
Rangkaian:
Perakitan:
Cara Mengisikan Program Ke Board Arduino
Untuk mengisikan program Lampu Malam RGB ke board Arduino dapat menggunakan PC/Laptop dan smartphone android. Jika dengan PC/Laptop kamu dapat menggunakan software Arduino IDE dan jika dengan smartphone Android kamu dapat menggunakan aplikasi Bluino Loader. Untuk cara uploadnya kamu bisa melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.Script Program
/*
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);
}
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);
}
Post a Comment for "Cara Membuat Lampu Malam RGB Mengunakan Arduino"