Arduino Light Intensity Meaurement


                The lux (symbol: lx) is the SI unit of luminance, measuring luminous flux per unit area. It is equal to one lumen per square meter. In photometry, this is used as a measure of the intensity, as perceived by the human eye, of light that hits or passes through a surface.

Light Measurement

                The easiest way to measure light with an Arduino is with an LDR. LDR’s (Light dependent resistors) have a low resistance in bright light and a high resistance in the darkness.

Doing that on an Arduino Analog port, would give a reading between 0 and 1024, which of course are really non-descriptive numbers.  What you would want is an output in Lux or Lumen. That is possible but mind you that LDR’s are not really accurate for precise readings. There is a somewhat rough formula that relates the resistance of an LDR to the light in Lux. That is:
Rldr=500/Lux, or
Lux=500/Rldr (in kOhm)

 Component Used

  1. Arduino Uno
  2. Connecting Wires
  3. LDR
  4. 10K Ohm resistor

Light Measurement Circuit

Arduino Light Measurement Circuit
Arduino Light Measurement Circuit

Arduino Code for Light Intensity Measurement

//Light Intencity Measurement

double Light (int RawADC0)
  double Vout=RawADC0*0.0048828125;
  //int lux=500/(10*((5-Vout)/Vout));//use this equation if the LDR is in the upper part of the divider
  int lux=(2500/Vout-500)/10;
  return lux;

void setup() {

void loop() {
  Serial.print("Light Intensity:");
  Serial.println(" Lux");

Result of Light measurement

Open serial monitor and check your creation.

Light Measurement Results
Light Measurement Results

Leave a Reply