BELAJAR ARDUINO : Membuat Lampu Otomatis Dengan LDR (Light Dependent Resistor)/Photoresistor

Pada latihan sebelumnya kita mengatur nyala terang redup lampu menggunakan potensiometer, dimana nilai hambatannya dapat berubah-rubah ketika kita memutar knobnya. Di latihan sekarang ini kita akan membuat lampu otomatis yang menggunakan LDR/Photoresistor.

LDR/Photoresistor merupakan sebuah variable resistor yang sensitif terhadap cahaya dimana hambatanya dapat berubah-ubah tergantung seberapa cerah cahaya yang mengenai sensor tersebut.

Kebutuhan Komponen :

  • Arduino = 1 Pcs
  • Breadboard = 1 Pcs
  • LDR/Photoresistor = 1 Pcs
  • Resistor 330 Ω = 1 Pcs
  • Resistor 10KΩ = 1 Pcs
  • Lampu LED = 1 Pcs
  • Kabel Jumper secukupnya

Skema :

Rangkaian :

Source Code :

/*
Menggunakan photoresistor untuk mengetahui intensitas cahaya 
disebuah ruangan, kemudian menyalakan LED ketika kondisi gelap.
*/

int ledPin = 7;				//pin yang terhubung dengan LED
int photoPin = A0;			//pin yang terhubung dengan photoresistor

int photoresistor = 0;		//variabel ini akan menyimpan nilai yang didasarkan dari dari hambatan photoresistor
int threshold = 750; 		//jika photoresistor membaca dibawah nilai ini maka LED akan menyala

void setup() {
  Serial.begin(115200);		//memulai komunikasi serial
  pinMode(ledPin, OUTPUT);	//set pin 7 sebagai sebuah output yang dapat diset ke HIGH atau LOW
}

void loop() {
  //read nilai photoresistor
  photoresistor = analogRead(photoPin);	//membaca nilai photoresistor antara 0 sampai 1023 bergantung dari nilai hambatan photoresistor
  Serial.println(photoresistor);		//menampilkan nilai photoresistor pada serial monitor

  //jika nilai photoresistor value dibawah nilai threshold maka led menyala, dan begitu sebaliknya akan mati
  if (photoresistor < threshold){
    digitalWrite(ledPin, HIGH);			//menyalakan LED  
  } else{
    digitalWrite(ledPin, LOW);			//mematikan LED
  }

  delay(100);							//jeda untuk membuat penampilan data mudah dibaca
}

Kesimpulan

Dalam program terdapat variable treshold untuk menyimpan sebuah nilai sebagai set point. Menggunakan fungsi if/else untuk membandingkan nilai variable pembacaan dari input sensor dengan nilai treshold, apabila nilai variable tersebut di atas nilai treshold (terang) maka LED mati, sebaliknya jika nilai variable tersebut di bawah nilai treshold (gelap) maka LED nyala. Buka serial monitor dan nilai variable dari photoresistor akan tampil.

Baca juga :  Apa itu arduino?