Learning   Examples | Foundations | Hacking | Links

Examples > Analog I/O

Fading

Demonstrates the use of analog output (PWM) to fade an LED.

Circuit

An LED connected to digital output pin 9 through a 220-ohm resistor.

click the image to enlarge

Schematic

click the image to enlarge

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Code

 /*
  Fading
  
  This example shows how to fade an LED using the analogWrite() function.
  
  The circuit:
  * LED attached from digital pin 9 to ground.
  
  Created 1 Nov 2008
  By David A. Mellis
  Modified 17 June 2009
  By Tom Igoe
  
  http://arduino.cc/en/Tutorial/Fading
  
  */

 int ledPin = 9;    // LED connected to digital pin 9

 void setup()  { 
   // nothing happens in setup 
 } 

 void loop()  { 
   // fade in from min to max in increments of 5 points:
   for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { 
     // sets the value (range from 0 to 255):
     analogWrite(ledPin, fadeValue);         
     // wait for 30 milliseconds to see the dimming effect    
     delay(30);                            
   } 

   // fade out from max to min in increments of 5 points:
   for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { 
     // sets the value (range from 0 to 255):
     analogWrite(ledPin, fadeValue);         
     // wait for 30 milliseconds to see the dimming effect    
     delay(30);                            
   } 
 }