Cara Membuat Lampu Malam RGB Mengunakan Arduino


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 Membuat Lampu Malam RGB Mengunakan Arduino

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);
}

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel