Home 9 The Art of Technology 9 How to Use an LDR (Light Dependent Resistor) in MCU Applications : Part 1

How to Use an LDR (Light Dependent Resistor) in MCU Applications

play a significant role in automating tasks. One of the simplest sensors you can start experimenting with is the LDR, or Light Dependent Resistor. Whether you’re interested in building a project that automatically turns on lights when it gets dark or simply want to understand the basics of light detection, an LDR is a great starting point. LDRs are one of the easiest components to use in light-sensitive , making them ideal for both beginners and experienced hobbyists. From creating DIY automatic lights to integrating sensors into microcontroller projects, the LDR offers a simple, effective solution that opens the door to a wide range of creative experiments.

What Is an LDR (Light Dependent Resistor)?

At its core, an LDR is a type of resistor. But unlike fixed resistors that maintain a constant resistance, an LDR’s resistance changes based on the amount of light hitting its surface. When exposed to bright light, its resistance drops. In darker conditions, its resistance increases. Think of it like sunglasses that react to sunlight by darkening — in this case, the LDR “reacts” by changing its resistance based on light levels.

How Does an LDR (Light Dependent Resistor) Work?

The LDR’s behavior is simple but powerful. As light intensity increases, the resistance decreases, and as light decreases, resistance increases. This makes it perfect for light-sensitive applications. In a basic circuit, the LDR can control the flow of electricity based on the light around it. This ability is key in applications like automatic street lights or light-activated alarms.

Why Use an LDR (Light Dependent Resistor)?

LDRs are easy to use, affordable, and reliable. For beginners, they’re a fantastic introduction to light-sensitive components, and you don’t need advanced skills to get started. They’re great for small projects like night lights, or more complex systems like home automation.

While there are other light sensors available — such as photodiodes and phototransistors — LDRs offer a simpler and more accessible way to work with light detection, making them a go-to for hobbyists.

Where LDRs (Light Dependent Resistor) Are Used

LDRs are versatile and can be found in many everyday applications:

  • Automatic street lights: Lights turn on at dusk and off at dawn based on the surrounding light levels.
  • Solar garden lights: These small outdoor lights charge during the day and automatically turn on when it gets dark.
  • Smartphones: Many devices use LDRs or other light sensors to automatically adjust screen brightness based on ambient light.
  • DIY projects: If you’re into creating your own gadgets, LDRs can be used for light-sensitive alarms, automatic window blinds, and much more.

Common (Light Dependent Resistor) Issues

While LDRs are simple, there are a few things to keep in mind:

  • Sensitivity: Depending on the lighting environment, your LDR might be too sensitive or not sensitive enough. You can adjust this by using different resistor values or adding filters to the LDR to reduce sensitivity.
  • Environment: Indoor vs. outdoor lighting can significantly affect the LDR’s performance. If you’re working outside, consider weatherproofing your components.
  • Response Time: LDRs have a slower response time compared to other light sensors, so they may not be suitable for high-speed detection applications.

For Our Little LDR Project

Some time ago, I bought a sensor kit that included an LDR, which I’ll be using for this example. If you don’t have one, you can easily build your own following the diagram below.

LDR Sensor
LDR Sensor from Kit
LDR Sensor Circuit 1
LDR Sensor Circuit

The LDR sensor from the kit is a simple setup, consisting of an LDR paired with a 10K resistor. Together, they form a basic voltage divider circuit. When ground is connected to the negative input and 5V is applied to the center pin, the sensor adjusts the output voltage at the S pin in response to changes in light levels. The varying resistance of the LDR based on light intensity causes this output voltage to shift, making it easy to detect the light level in your project.

In this setup, the LDR is connected to ground, while the resistor is connected to 5V. Under bright conditions, the LDR’s resistance is low, allowing most of the current to flow through it, which results in a lower voltage output. As the environment gets darker, the LDR’s resistance increases, directing more current through the resistor, and consequently, raising the voltage output. This change in voltage can be easily monitored and used to trigger actions in your circuit based on the ambient light levels.

Using some glue logic, you could turn off/on a light when it gets dark.

Voltage Readings with Ground Tied to LDR

LDR Voltage Ambient Room Light v1
LDR Sensor Under Ambient Room Light
LDR Voltage Bright Light v1
LDR Sensor Voltage Under Bright Light
LDR Voltage dark v1
LDR Sensor Voltage Covered (Dark)

As we see, when the LDR is covered or the room gets darker the voltage will increase. The higher the voltage the darker the enviorment. Which is fine in most cases..

However, my goal is to integrate this setup into a PIC Microcontroller and use the ADC (Analog to Digital Conversion) to take action based on the detected light levels. I want the voltage output from the LDR sensor to increase with higher light levels, meaning the brighter the light, the higher the voltage the LDR sensor outputs. To achieve this, I’m going to reverse the connections: the 5V positive supply will be connected to the LDR, while the ground will be connected to the resistor.

By reversing these inputs, the voltage output will now vary directly with the light levels—more light will result in a higher voltage, while less light will lower it. This setup provides a straightforward correlation between the voltage and the light level, making it easier to interpret the sensor’s output. The increasing voltage with more light simplifies the process of monitoring brightness changes and allows for clearer data when integrating the sensor into a system like a PIC microcontroller.

Everybody loves clear data! Ok, maybe not everybody… but I do.

Voltage Readings with +5V Tied to LDR

LDR Sensor Circuit 2
Modified LDR Circuit to Have Brighter the Light, the More Voltage
LDR Votlage Ambient Room Light
LDR Sensor Voltage – Ambient Light
LDR Sensor Voltage Bright v2
LDR Sensor Under Bright Light

Stay Tuned In

Stay tuned for the next post, where we’ll dive into using the ADC of the PIC16F15313 along with my CORE Framework to read the light levels from the sensor and trigger specific actions based on those readings. Exciting things ahead!

Here is the Next Post:

Light-Sensing System with LDR, Potentiometer, and LED


Have a Creative or Technical Project in Mind?

Looking for guidance, insights, or a fresh perspective on your technical or creative journey? Or just somebody to chat with?


LET’S KEEP IN TOUCH!

Get notified when I post something new!

We don’t spam! Read our privacy policy for more info.


Pin It on Pinterest

Share This