In this guide, we will learn how to interface an LDR (Light Dependent Resistor) sensor with the microcontroller. The LDR sensor is used to detect light intensity. We will use the P89V51RD2 GPIO pins to connect the LDR sensor and control an LED based on the light intensity detected by the sensor. When the light intensity is low, the LED will turn on, indicating low light conditions.
The objective of this project is to interface the LDR sensor with the P89V51RD2 and control an LED based on the light intensity detected by the sensor.
To successfully complete this project, you will need the following components:
P89V51RD2 development board
LDR sensor
LED
Resistor (220/330 ohms)
Jumper wires
Breadboard
Connect P1.1 to LED
Connect P0.0 to LDRs Output
Connect +5v of LDR Sensor and ground to VCC and ground of microcontroller respectively.
Copy and paste the following code into Main.c or download it from here:
#include <reg51.h>
void delay(void);
sbit ldr = P0 ^ 0;
sbit led = P1 ^ 1;
void main()
{
P0 = 0xFF; //assigning as input port
P1 = 0x00; //assigning as output port
while (1)
{
if (ldr == 0)
led = 1;
delay();
if (ldr == 1)
led = 0;
delay();
}
}
void delay() //delay function
{
int i, j;
for (i = 0; i < 500; i++)
{
for (j = 0; j < 1000; j++)
{
}
}
}
After uploading the code to the P89V51RD2, the program will continuously monitor the light intensity detected by the LDR sensor. If the light intensity is low (indicating low light conditions), the LED will turn on. Conversely, if the light intensity is high (indicating sufficient light conditions), the LED will turn off.
By following this guide, you have successfully interfaced the LDR sensor with the P89V51RD2 microcontroller. You can now control an LED based on the light intensity detected by the sensor. This project can be expanded further by incorporating additional features, such as adjusting the LED brightness based on the light intensity or integrating it into a home automation system.
IR Proximity Sensor<- Previous Next->Motors