You are on page 1of 6


Get tutorials Arduino Super Kit V2.0 for Arduino

Lesson 3 Controlling an LED by PWM Introduction
In this lesson, let’s try something a
little easier – gradually changing the luminance of an LED through programming. Since the pulsing light looks like breathing, we give it a magical name -
breathing LED. We’ll accomplish this effect with pulse width modulation (PWM).

- 1 * SunFounder Uno board
- 1 * Breadboard
- Jumper wires
- 1 * LED
- 1 * Resistor (220Ω)
- 1 * USB cable

Pulse width modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal
switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the
signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. To get varying analog values, you change, or
modulate, that pulse width. If you repeat this on-off pattern fast enough with an LED for example, the result is as if the signal is a steady voltage between 0
and 5V controlling the brightness of the LED. (See the PWM description on the official website of Arduino).

We can see from the top oscillogram that the amplitude of the DC voltage output is 5V. However, the actual voltage output is only 3.75V through PWM
because the high level only takes up 75% of the total voltage within a period.

Here is an introduction to the three basic parameters of PWM:

converted by W

Duty cycle describes the proportion of "on" time to the regular interval or period of . Experimental Procedures Step 1: Build the circuit The schematic diagram converted by W eb2PDFConvert. Period describes the reciprocal of pulses in one second. The voltage amplitude here is 0V–5V.

com . and then slowly dimmer.Step 2: Program (please go to our official website to download related code by clicking LEARN -> Get Tutorials) Step 3: Compile the code Step 4: Upload the sketch to the SunFounder Uno board Here you should see the LED gets brighter and brighter.sunfounder. just like breathing. converted by W eb2PDFConvert.

Code //C ontrolling LED By PWM //The LED lights up gradually. OUTPUT).a--) //loop from 255 down to 0 { analogWrite(ledPin. // the pin that the LED is attached to pin 9 void setup () { pinMode(ledPin.7 /**************************************************************/ const int ledPin = 9. // declare pin 9 to be an output } void loop() { for (int a=0. //wait for 800 ms } Video converted by W eb2PDFConvert. // set the brightness of pin 9: delay(8). //wait for 8 ms } for (int a=255.a++) //loop from 0 to 255 { analogWrite( //Website:www. a). // set the brightness of pin 9: delay(8). //wait for 8 ms } delay(800). a).and then goes out //2015. a<=255.repeatedly //Email:support@sunfounder.5. a> .

Previous chapter: Lesson 2 Controlling an LED by Button Next chapter: Lesson 4 Controlling an LED by Potentiometer SunFounder Sep 08 2017 at 06:55 am Join our community Company Account About Us My Account Contact Us Orders and Returns Sitemap customer-service Distributor Terms of Use Return Shipping Copyright Notice Privacy Policy Get updates. and special offers to w in free gift! converted by W eb2PDFConvert. All Rights Reserved.Copyright © 2012 .discounts.2016 .

Your Email Address Submit © 2012-2017 Sunfounder. converted by W All Rights .