Aidan Singh
Here is the updated code that utilizes the for loops and arrays (INCLUDING BONUS).
int potValue=0;
int pause=0;
int someVar= 0;
int numLED = 4;
int ledPins[4] = {28,29,30,31};
int buttonPins[4] = {33,34,35,36};
void setup() {
Serial.begin(9600);
for(int i=0;i<4;i++){
pinMode(ledPins[i], OUTPUT);
pinMode(buttonPins[i], INPUT);
}
}
void loop(){
potValue = analogRead(A13);
pause = potValue;
numLED= map(analogRead(A21),0,1024, 1,4);
if(digitalRead(buttonPins[0]) == HIGH) {
for(int i=0;i<numLED;i++){
digitalWrite(ledPins[i], HIGH);
}
delay(pause);
for(int i=0;i<numLED;i++){
digitalWrite(ledPins[i], LOW);
}
delay(pause);
}
if((digitalRead(buttonPins[1]) == HIGH) && (digitalRead(buttonPins[2]) == HIGH)) {
for(int i=0;i<numLED;i++){
digitalWrite(ledPins[i], HIGH);
delay(pause);
digitalWrite(ledPins[i], LOW);
}
}
if((digitalRead(buttonPins[1]) == HIGH) && (digitalRead(buttonPins[2]) == LOW)) {
for(int i=numLED;i>0;i--){
digitalWrite(ledPins[i-1], HIGH);
delay(pause);
digitalWrite(ledPins[i-1], LOW);
}
}
if(digitalRead(buttonPins[3]) == HIGH){
someVar = random(28, 32);
digitalWrite(someVar, HIGH);
delay(pause);
digitalWrite(someVar, LOW);
}
}