Project: Auto Intensity Control Of Street Light Using Arduino

Project Auto Intensity Control Of Street Light

Auto Intensity Control Of Street Light Using Arduino

In this project, I am going to show you how to control the intensity of LED lights according to the time and the light intensity of outer atmosphere.

Project Auto Intensity Control Of Street Light

This is an amazing and very useful project because it prevents the wastage of electricity.

This project automatically turns on the streetlight at evening and turns off in the morning. It also controls the intensity of light. Light intensity is automatically adjusted according to the time and traffic. The number of vehicles is very low after 12AM.  For example, the intensity of light is low in the evening and it starts increasing until 8PM After 8PM the light glows at full intensity and this intensity will not change. It glows on full intensity until 12AM and intensity starts decreasing after 12AM, and the lights are fully turned off after 6AM. This approach saves about 30 percentage energy.

In the circuit two LEDs are also used, one is Green and other is Red. The Red LED indicates the evening and the Green Led indicates midnight time 12AM. The Arduino is not programmed for the real time, because we cannot observe the changes in live. Therefore, time delay is very low (1hr is equal to 3 second). You can change the time delay according to your use. You can make many modifications in the project according to your use, you can also use RTC (Real Time Clock) in this project.


In the circuit a LDR (Light Dependent Resistor) is used, which detect the intensity of the lights, when the intensity of light comes under a fixed values the led Light is turn ON.  But at the starting intensity of the light is low because the time is 5PM. Now the intensity is increasing with the time and light glows on full intensity at 8 PM.

Intensity of the light is controlled by using PWM (pulse width modulation). The Arduino and other digital devices cannot give analog output; they can only give the digital output (High or Low). Means they can only turn OFF and turn ON the device, but sometimes we need the voltage between Vcc and GND. PWM can fulfill this requirement. PWM simply Turn On and Turn Off the output device at the high frequency. In this way the output voltage becomes under Vcc. Value of the output voltage depends upon “Turn On” time and “Turn Off” time, which can be calculated by the given function below

Duty Cycle = Ton / (Ton + Toff)

Vout = Duty Cycle * Vcc

The Arduino Nano have six PWM pins, they all are 8 bit. In other words, we can change the output value from 0 to 255 where 0 is low and 255 is High.

Two LEDs are also used on Circuit, they indicates the time, RED LED turns on when LDR cross the threshold value, in my case I suppose time is 5 PM, at this time our street light (power LED) also switched on but the intensity is low. The intensity is gradually increasing and it will works on full intensity at 8 PM. Now the intensity is not changed until 12 am.

Street Light schematics

After 12 AM, the Green LED is turned on and the power LED’s intensity become low this intensity is not changed until 4 AM. After 4AM, the intensity of the light starts gradually decreasing. In addition, it becomes fully turn off at 6 AM.


Components Specifications Quantity
Arduino Nano 1
Power Source DC Adapter 12 volt 1
LDR (Light Dependent Resistor) 1
LED Green, Red 2
Power LED 12 Volt 1
Transistor BC 547 1
Resistor 330 Ohm 2
Resistor 10K 1
Resistor 1K 1
Diode 1N4007/ 1N4004 1


The circuit is very simple, you can make this circuit on breaboard or ZERO PCB using the circuit below.

If you are good in the PCB Etching use the images given below.

In the circuit Arduino Nano is used, PWM pin D9 is connected to the base pin of the transistor (2N2222) emitter pin is connected to the GND. Power LED’s Cathode pin is connected to the Collector pin of the transistor and the anode pin is connected to 12-volt, A diode is connected parallel to the Power LED in the reverse bias.

The LDR is connected to the Vcc and the GND through a resistance of 10k ohm, junction point of LDR and Resistance is connected to the A5 pin of the Arduino.

Two LEDs are connected to the A4 and A3 pin of the Arduino through 330 ohm Resistance. Circuit is powered by 12 volt adapter and 12 volt line is also connected to the Vin pin of the Arduino through a Switch.

Read more: Project: Auto Intensity Control Of Street Light Using Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *