/* 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 30 Aug 2011 by Tom Igoe This example code is in the public domain. http://www.arduino.cc/en/Tutorial/Fading */ int ledPin = 5; // 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); } delay(5000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 10); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 20); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 30); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 40); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 50); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 60); delay(500); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 70); delay(200); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 80); delay(200); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 90); delay(200); analogWrite(ledPin, 0); delay(1000); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 100); delay(200); analogWrite(ledPin, 0); delay(1000); //200ms is too large delay analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(200); delay(5000); //minimum vibration speed analogWrite(ledPin, 255); delay(150); analogWrite(ledPin, 0); delay(150); analogWrite(ledPin, 255); delay(150); analogWrite(ledPin, 0); delay(150); analogWrite(ledPin, 255); delay(150); analogWrite(ledPin, 0); delay(150); delay(5000); //minimum vibration speed analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(100); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(100); analogWrite(ledPin, 255); delay(200); analogWrite(ledPin, 0); delay(100); delay(5000); //minimum vibration duration analogWrite(ledPin, 255); delay(100); analogWrite(ledPin, 0); delay(100); analogWrite(ledPin, 255); delay(100); analogWrite(ledPin, 0); delay(100); analogWrite(ledPin, 255); delay(100); analogWrite(ledPin, 0); delay(100); delay(5000); //minimum vibration speed analogWrite(ledPin, 255); delay(50); analogWrite(ledPin, 0); delay(100); analogWrite(ledPin, 255); delay(100); analogWrite(ledPin, 0); delay(50); delay(5000); //this does not work analogWrite(ledPin, 255); delay(50); analogWrite(ledPin, 0); delay(50); analogWrite(ledPin, 255); delay(40); analogWrite(ledPin, 0); delay(40); analogWrite(ledPin, 255); delay(30); analogWrite(ledPin, 0); delay(30); delay(5000); analogWrite(ledPin, 255); delay(10); analogWrite(ledPin, 0); delay(10); delay(5000); for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 10) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } analogWrite(ledPin, 0); delay(5000); for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 25) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } analogWrite(ledPin, 0); delay(5000); }