int buttonRand = 8; int buttonRandState = 0; int buttonOrder = 7; int buttonOrderState = 0; int buttonRandPot = 13; int buttonRandPotState = 0; int buttonOther = 4; int buttonOtherState = 0; int LEDPins[] = { 3, 5, 6, 9, 10 }; int PinCount = 5; int LENGTH = 5000; int timer = 150; int delaytimer; int val; int POT = A0; void setup() { int thisPin; for(int thisPin = 0; thisPin < PinCount; thisPin++) { pinMode(LEDPins[thisPin], OUTPUT); } pinMode(buttonRand, INPUT); pinMode(buttonOrder, INPUT); pinMode(buttonRandPot, INPUT); pinMode(buttonOther, INPUT); } void loop() { buttonRandState = digitalRead(buttonRand); buttonOrderState = digitalRead(buttonOrder); buttonRandPotState = digitalRead(buttonRandPot); buttonOtherState = digitalRead(buttonOther); if (buttonRandState == HIGH) { val = analogRead(POT); for(int thisPin = 0; thisPin <= PinCount; thisPin++) { if(val <= 200) { digitalWrite(LEDPins[0], HIGH); } else if (val <= 400) { digitalWrite(LEDPins[0, 1], HIGH); } else if(val <= 600) { digitalWrite(LEDPins[0, 1, 2], HIGH); } else if(val <= 800) { digitalWrite(LEDPins[0, 1, 2, 3], HIGH); } else { digitalWrite(LEDPins[0, 1, 2, 3, 4], HIGH); } } for(int thisPin = PinCount - 1; thisPin > 0; thisPin--) { if(val >= 800) { digitalWrite(LEDPins[0, 1, 2, 3], LOW); } else if(val >= 600) { digitalWrite(LEDPins[0, 1, 2], LOW); } else if(val >= 400) { digitalWrite(LEDPins[0,1], LOW); } else if(val >= 200) { digitalWrite(LEDPins[0], LOW); } else { digitalWrite(LEDPins[0,1,2,3,4], HIGH); } } if(val >= 1000) { digitalWrite(LEDPins[0,1,2,3,4], LOW); } } else if(buttonOrderState == HIGH) { for(int thisPin = 0; thisPin < PinCount; thisPin++) { digitalWrite(LEDPins[thisPin], HIGH); delay(timer); digitalWrite(LEDPins[thisPin], LOW); } for(int thisPin = PinCount - 1; thisPin >= 0; thisPin--) { digitalWrite(LEDPins[thisPin], HIGH); delay(timer); digitalWrite(LEDPins[thisPin], LOW); } } else if(buttonRandPotState == HIGH) { val = analogRead(POT); if(val <= 100) { delaytimer = 1; } else if(val <= 200) { delaytimer = 5; } else if(val <= 300) { delaytimer = 25; } else if(val <= 400) { delaytimer = 50; } else if(val <= 500) { delaytimer = 75; } else if(val <= 600) { delaytimer = 100; } else if(val <= 700) { delaytimer = 150; } else if(val <= 800) { delaytimer = 200; } else if(val <= 900) { delaytimer = 250; } else { delaytimer = 300; } for(int thisPin = 0; thisPin < 1; thisPin++) { int randLED = random(1, 6); if(randLED == 1) { digitalWrite(LEDPins[0], HIGH); delay(delaytimer); digitalWrite(LEDPins[0], LOW); delay(delaytimer); } else if(randLED == 2) { digitalWrite(LEDPins[1], HIGH); delay(delaytimer); digitalWrite(LEDPins[1], LOW); delay(delaytimer); } else if(randLED == 3) { digitalWrite(LEDPins[2], HIGH); delay(delaytimer); digitalWrite(LEDPins[2], LOW); delay(delaytimer); } else if(randLED == 4) { digitalWrite(LEDPins[3], HIGH); delay(delaytimer); digitalWrite(LEDPins[3], LOW); delay(delaytimer); } else if(randLED == 5) { digitalWrite(LEDPins[4], HIGH); delay(delaytimer); digitalWrite(LEDPins[4], LOW); delay(delaytimer); } } } else if(buttonOtherState == HIGH) { for(int thisPin = 0; thisPin < PinCount; thisPin++) { digitalWrite(LEDPins[0], HIGH); digitalWrite(LEDPins[4], HIGH); delay(timer); digitalWrite(LEDPins[1], HIGH); digitalWrite(LEDPins[3], HIGH); delay(timer); digitalWrite(LEDPins[2], HIGH); delay(timer); for(int thisPin = 0; thisPin < PinCount; thisPin++) { digitalWrite(LEDPins[thisPin], HIGH); delay(timer); digitalWrite(LEDPins[thisPin], LOW); } for(int thisPin = PinCount - 1; thisPin >= 0; thisPin--) { digitalWrite(LEDPins[thisPin], HIGH); delay(timer); digitalWrite(LEDPins[thisPin], LOW); } } } }