/* Super Brite LED Sneakers 1.0 by i am jen (iamjen.com) Code help credited to Arduino community How To and Videos @ instructables.com */ int ledPin = 9; int LEDbrightness; int programnum = 0; volatile int state = HIGH; void setup() { pinMode(ledPin, OUTPUT); pinMode (2, INPUT); digitalWrite(2,HIGH); attachInterrupt(0, Trigger, CHANGE); } void loop() { ProgChange(); } void Trigger() { static unsigned long last_interrupt_time = 0; unsigned long interrupt_time = millis(); if (interrupt_time - last_interrupt_time > 200) { if (state=!state){ if (programnum<6){ programnum=programnum+1;} else { programnum=(programnum%6);} } } last_interrupt_time = interrupt_time; } void ProgChange() { switch (programnum) { case 0: FadeMe(); break; case 1: BlinkMeSlo(); break; case 2: BlinkMeMed(); break; case 3: BlinkMeFast(); break; case 4: AllOn(); break; case 5: AllOff(); } } void AllOn() { digitalWrite(ledPin, HIGH); delay(1500); } void AllOff() { digitalWrite(ledPin, LOW); delay(1500); } void BlinkMeFast() { for(int i=1; i<20; i+=1) { digitalWrite(ledPin, HIGH); delay(50); digitalWrite(ledPin, LOW); delay(50); } } void BlinkMeMed() { for(int i=1; i<8; i+=1) { digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); delay(100); } } void BlinkMeSlo() { for(int i=1; i<5; i+=1) { digitalWrite(ledPin, HIGH); delay(300); digitalWrite(ledPin, LOW); delay(300); } } void FadeMe() { {for(int fadeLED = 255; fadeLED >= 0; fadeLED -=5) { analogWrite(ledPin, fadeLED); delay(25); } delay(50); for(int fadeLED = 255; fadeLED >= 0; fadeLED -=5) { analogWrite(ledPin, 255-fadeLED); delay(25); } } }