Fade a LED without delay() – use Arduino’s analogWrite and millis()
Bald Engineer gives another brilliant Arduino tutorial, not only courtesy of the code he provides but the section-by-section explanation afterwards will really help even novice Arduino makers understand how the code translates to fading LEDs.
It’s a well-known fact of engineering: LEDs make everything look better. And that means a Fading LED is even better. Using Arduino’s analogWrite(), fading a LED is just a matter of a loop. If you use delay(), you can’t easily add other actions. What can you do? Well, Fading a LED with millis() is pretty simple. Here’s the code to do it and a quick explanation.