/* RED GIRL ----------- 31.05.2012 -------- --------------- Alexander Revtsov --------- */ int ledPin = 10; int switchPin = 4; int i = 0; int lastSwitch = 1; int loga[64]= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 25, 28, 30, 33, 36, 39, 42, 46, 49, 53, 56, 60, 64, 68, 72, 77, 81, 86, 90, 95, 100, 105, 110, 116, 121, 127, 132, 138, 144, 150, 156, 163, 169, 176, 182, 189, 196, 203, 210, 218, 225, 233, 240, 248, 255 }; void setup() { pinMode(ledPin, OUTPUT); pinMode(switchPin, INPUT_PULLUP); } void loop() { switch(digitalRead(switchPin)) { case 0: { // light ON if(lastSwitch==1) { lastSwitch=0; digitalWrite(13,HIGH); for(i=0; i<64; i++) { analogWrite(ledPin, loga[i]); delay(40); }} break; } case 1: { // light OFF if(lastSwitch==0) { lastSwitch=1; digitalWrite(13,LOW); for(i=63; i>=0; i--) { analogWrite(ledPin, loga[i]); delay(100); }} break; } } }