Digital Electrics Assignment 4

Below is my code:

int ledPinArray[4] = { 8, 9, 10, 11 };
int blinkAllLedsPin = 33;
int sequencePin = 34;
int sequenceDirectionPin = 35;
int potValue = 0;
int numLEDS = 4;

void setup() {
  for (int i = 0; i < numLEDS; i++) {
    pinMode(ledPinArray[i], OUTPUT);
  }
  pinMode(blinkAllLedsPin, INPUT);
  pinMode(sequencePin, INPUT);
  pinMode(sequenceDirectionPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  potValue = analogRead(A13);
  Serial.println(potValue);

  if (digitalRead(blinkAllLedsPin) == HIGH) {
    turnOnAllLeds();
    delay(potValue);
    turnOffAllLeds();
    delay(potValue);
  }

  if (digitalRead(sequencePin) == HIGH) {
    if (digitalRead(sequenceDirectionPin) == HIGH) {
      sequenceForward();
    }
    if (digitalRead(sequenceDirectionPin) == LOW) {
      sequenceBackwards();
    }
  }
}

void turnOnAllLeds() {
  for (int i = 0; i < numLEDS; i++) {
    digitalWrite(ledPinArray[i], HIGH);
  }
}

void turnOffAllLeds() {
  for (int i = 0; i < numLEDS; i++) {
    digitalWrite(ledPinArray[i], LOW);
  }
}

void sequenceForward() {
  for (int i = 0; i < numLEDS; i++) {
    digitalWrite(ledPinArray[i], HIGH);
    delay(potValue);
    digitalWrite(ledPinArray[i], LOW);
  }
}
void sequenceBackwards() {
  for (int i = numLEDS - 1; i >= 0; i--) {
    digitalWrite(ledPinArray[i], HIGH);
    delay(potValue);
    digitalWrite(ledPinArray[i], LOW);
  }
}

Leave a comment

Design a site like this with WordPress.com
Get started