Arduino Uno Example Sketch: Fade

The original code is set on pin 9. You will need to use this pin because it is one of the pins that support pulse width modulation (PWM). The output pins marked with a “~” on the Arduino also support PWM output. Each value in analog write (from 0 to 255) represents how much distance between each pulse should be.

Start Example Code

/*
 Fade

 This example shows how to fade an LED on pin 9
 using the analogWrite() function.

 The analogWrite() function uses PWM, so if
 you want to change the pin you're using, be
 sure to use another PWM capable pin. On most
 Arduino, the PWM pins are identified with 
 a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.

 This example code is in the public domain.
 */

int led = 9;           // the PWM pin the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup() {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // set the brightness of pin 9:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}

Initial Code Wiring Diagram

This uses the onboard LED, it doesn’t have a wiring diagram.

Expanded Code

To do my own little project I added an LED and a resistor on pin 9. I then also changed the fade amount and brightness value.

On the integer “brightness”, I changed the brightness from 0 to 10 , so in turn, you start out bright instead of dim. I also changed my fade amount to 2 instead of 5. So the fade will be slower. In the “if” statement I limited the range of fading from 0 - 255 to 2-150. So the LED does not get as bright as it would in the example.

int led = 9;           // the PWM pin the LED is attached to
int brightness = 10;    // how bright the LED is
int fadeAmount = 2;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup() {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // set the brightness of pin 9:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness <=  2|| brightness >= 150) {
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}

Expanded Code Wiring Diagram

fadeimage

Bill of Materials


Link to Cart: https://www.digikey.com/short/pq2v19

1 Like