Digital Lecture 4

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);
  }
}



Leave a comment

Design a site like this with WordPress.com
Get started