2010-07-27 01:02:52 +02:00
|
|
|
/*
|
|
|
|
Fade
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2010-07-27 01:02:52 +02:00
|
|
|
This example shows how to fade an LED on pin 9
|
|
|
|
using the analogWrite() function.
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2015-10-31 20:37:26 +01:00
|
|
|
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.
|
|
|
|
|
2010-07-27 01:02:52 +02:00
|
|
|
This example code is in the public domain.
|
|
|
|
*/
|
2012-04-16 13:58:55 +02:00
|
|
|
|
2015-10-31 20:37:26 +01:00
|
|
|
int led = 9; // the PWM pin the LED is attached to
|
2010-07-27 01:02:52 +02:00
|
|
|
int brightness = 0; // how bright the LED is
|
|
|
|
int fadeAmount = 5; // how many points to fade the LED by
|
|
|
|
|
2012-04-16 13:58:55 +02:00
|
|
|
// the setup routine runs once when you press reset:
|
2013-10-21 09:58:40 +02:00
|
|
|
void setup() {
|
2010-09-08 19:49:27 +02:00
|
|
|
// declare pin 9 to be an output:
|
2012-04-16 13:58:55 +02:00
|
|
|
pinMode(led, OUTPUT);
|
2013-10-21 09:58:40 +02:00
|
|
|
}
|
2010-07-27 01:02:52 +02:00
|
|
|
|
2012-04-16 13:58:55 +02:00
|
|
|
// the loop routine runs over and over again forever:
|
2013-10-21 09:58:40 +02:00
|
|
|
void loop() {
|
2010-07-27 01:02:52 +02:00
|
|
|
// set the brightness of pin 9:
|
2013-10-21 09:58:40 +02:00
|
|
|
analogWrite(led, brightness);
|
2010-07-27 01:02:52 +02:00
|
|
|
|
|
|
|
// change the brightness for next time through the loop:
|
|
|
|
brightness = brightness + fadeAmount;
|
|
|
|
|
2013-10-21 09:58:40 +02:00
|
|
|
// reverse the direction of the fading at the ends of the fade:
|
2010-07-27 01:02:52 +02:00
|
|
|
if (brightness == 0 || brightness == 255) {
|
2013-10-21 09:58:40 +02:00
|
|
|
fadeAmount = -fadeAmount ;
|
|
|
|
}
|
|
|
|
// wait for 30 milliseconds to see the dimming effect
|
|
|
|
delay(30);
|
2010-07-27 01:02:52 +02:00
|
|
|
}
|