top of page

Arduino with LDR

Photocell

​

A photocell (sometimes called Light Dependent Resistor LDR) is a device that is used to detect and measure light. It is a resistor that changes resistance depending on the amount of light incident on it. There are used in varieties of application such as a switching OFF light during the day and turning them back ON during the night, as we will see below:

photocell.jpg
LDR-Symbols-300x208.jpg

Schematic

​

Required components

  • Arduino UNO R3

  • Solderless breadboard

  • Photocell

  • Resistor (220, 10K)

  • Jumper wires

eLVtcO5Uwk.png

Sketch

​

int ldr = A0;  //set A0 as Analog Input pin for LDR.
int value = 0;

​

void setup(){
   Serial.begin(9600);
}

​

void loop(){
   value = analogRead(ldr)  //read value from LDR.

   Serial.print("LDR values: ");

   Serial.println(value);

​

The above sketch will display the analog LDR values on Serial monitor. Result sample is as shown below:

 

   LDR values:  126

​

​

Control LED based on light intensity detected by LDR

​

int ldr = A0;  //set A0 as Analog Input pin for LDR.
int value = 0;

​

void setup(){
   Serial.begin(9600);
   pinMode(3, OUTPUT);   //set pin3 as output for LED.
}

​

void loop(){
   value = analogRead(ldr)  //read value from LDR.


   if(value<300){
      digitalWrite(3, HIGH);  //turn on LED.
   }


   else{
      digitalWrite(3, LOW);   //turn off LED.
   }
}


The above sketch will turn on an LED when LDR value<300 (low light). This can be used in street light to automatically turn on when dark. 

​

This can be used to automatically turn on street light when it's dark or in cell phones to adjust screen brightness depending on the light intensity of the environment, etc.

bottom of page