Introduction
A Light Intensity Controller is an electronic system used to control the brightness of a light source according to user requirements or environmental conditions. This project demonstrates how the brightness of an LED or lamp can be smoothly increased or decreased using electronic components.
Light intensity control is widely used in homes, offices, theaters, display panels, and energy-efficient lighting systems.
Objective of the Project
The main objectives of this project are:
- To control the brightness of a light source.
- To understand the concept of voltage control and PWM (Pulse Width Modulation).
- To design an energy-efficient lighting system.
- To learn practical applications of electronics in lighting control.
Working Principle
There are two common methods to control light intensity:
1. Analog Method (Without Microcontroller)
- A potentiometer is used to vary the voltage supplied to the LED.
- As the resistance changes, the current through the LED changes.
- This results in an increase or decrease in brightness.
2. Digital Method (Using Arduino – PWM)
- Arduino uses PWM signals to control brightness.
- The duty cycle of the PWM signal determines how long the LED stays ON in each cycle.
- Higher duty cycle → brighter light
- Lower duty cycle → dimmer light
Components Required
Basic Light Intensity Controller
- LED / DC Lamp
- Potentiometer (10kΩ)
- Resistor (220Ω)
- Transistor (BC547 or MOSFET)
- Power Supply (5V–12V)
- Breadboard & wires
Arduino-Based Light Intensity Controller
- Arduino Uno
- LED
- Potentiometer (10kΩ)
- Resistor (220Ω)
- Breadboard & jumper wires
Circuit Diagram
Basic Circuit (Without Arduino)
+Vcc ---- Potentiometer ----|
|---- Base of Transistor
GND ------------------------|
Collector ---- LED ---- 220Ω ---- +Vcc
Emitter -------------------- GND
Arduino-Based Circuit
Potentiometer Middle Pin ---- A0
Potentiometer Side Pins ----- 5V & GND
Arduino PWM Pin (9) ---- 220Ω ---- LED ---- GND
Arduino Code for Light Intensity Controller
int potPin = A0; // Potentiometer pin
int ledPin = 9; // PWM pin
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int potValue = analogRead(potPin); // Read potentiometer
int brightness = map(potValue, 0, 1023, 0, 255);
analogWrite(ledPin, brightness); // Control brightness
}
Code Explanation
analogRead()reads the potentiometer value.map()converts it into PWM range (0–255).analogWrite()adjusts the LED brightness.
Advantages
- Smooth brightness control
- Energy-efficient lighting
- Simple and low-cost design
- Easy to upgrade and modify
- Reduces power consumption
Applications
- Home lighting dimmers
- Decorative lighting systems
- Display panels
- Smart lighting systems
- Stage and studio lighting
