9.8 PROJECT 9.8 – Changing the Brightness of LEDs

9.8.1 Project Description

In some applications we may want to change the brightness of an LED. Perhaps the easiest way to do this is to vary the current through the LED by using a potentiometer. By keeping the supply voltage the same, we can connect a potentiometer in series with the LED and by varying the potentiometer we effectively change the current through the LED, which in turn changes its brightness. But in microcontroller applications, we wish to write a program and then change the LED brightness by running the program. Before we can do this, it is worthwhile looking at the theory briefly on how we can change the power delivered to an LED.

One of the common techniques used to change the power delivered to an LED is to use a Pulse-Width-Modulated (PWM) signal. This is basically a positive square wave signal where the ON to OFF period can be changed by software. Let us initially consider applying a square wave signal to the LED with equal ON and OFF periods. If the duration of these signals are long (e.g. 1 s), then we will see the LED flashing ON and OFF. If we now decrease the duration to say around 100 ms, we will see rapid flashing. If we continue to decrease the duration to around 20 ms, the LED will seem to have stopped flashing and we will see reduced brightness. This is because the LED brightness is now determined by the average current produced by the square wave signal. Now, if we change the ON to OFF ratio of the ...

Get Using LEDs, LCDs and GLCDs in Microcontroller Projects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.