Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
4.4 kB
12
Indexable
Never
#define t   30
#define t1  20
#define t2  100
#define t3  50

void setup() {
  // set up pins 2 to 13 as output
  for (int i = 2; i <= 13; i++) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  effect_1();
  effect_2();
  effect_3();
  effect_4();
  effect_5();
}

//left to right and right to left
void effect_1()
{
  for (int i = 2; i < 14; i++) {
    digitalWrite(i, HIGH);
    delay(t1);
    digitalWrite(i + 1, HIGH);
    delay(t1);
    digitalWrite(i + 2, HIGH);
    delay(t1);
    digitalWrite(i, LOW);
    delay(t1);
    digitalWrite(i + 1, LOW);
    delay(t1);
  }

  for (int i = 13; i > 1; i--) {
    digitalWrite(i, HIGH);
    delay(t1);
    digitalWrite(i - 1, HIGH);
    delay(t1);
    digitalWrite(i - 2, HIGH);
    delay(t1);
    digitalWrite(i, LOW);
    delay(t1);
    digitalWrite(i - 1, LOW);
    delay(t1);
  }
}

void effect_2()
{
  int count = 13; // keeps track of second LED movement

  // move first LED from left to right and second from right to left
  for (int i = 2; i < 13; i++) {
    clear();
    digitalWrite(i, HIGH);      // chaser 1
    digitalWrite(count, HIGH); // chaser 2
    count--;

    // stop LEDs from appearing to stand still in the middle
    if (count != 7) {
      delay(t2);
    }
  }

  // move first LED from right to left and second LED from left to right
  for (int i = 13; i > 2; i--) {
    clear();
    digitalWrite(i, HIGH);      // chaser 1
    digitalWrite(count, HIGH); // chaser 2
    count++;

    // stop LEDs from appearing to stand still in the middle
    if (count != 8) {
      delay(t2);
    }
  }
}

void effect_3()
{
  for (int i = 2; i < 14; i++) {
    digitalWrite(i, HIGH);
    delay(t3);
  }

  for (int i = 2; i < 14; i++) {
    digitalWrite(i, LOW);
    delay(t3);
  }

  for (int i = 14; i >= 2; i--) {
    digitalWrite(i, HIGH);
    delay(t3);
  }

  for (int i = 14; i >= 2; i--) {
    digitalWrite(i, LOW);
    delay(t3);
  }
}

void effect_4()
{
  for (int j = 2; j <= 13; j++) {
    digitalWrite(j, HIGH);
    delay(t2);
    j = j + 1;
  }

  for (int j = 2; j <= 13; j++) {
    digitalWrite(j, LOW);
    delay(t2);
  }

  for (int k = 15; k > 2; k--) {
    digitalWrite(k, HIGH);
    delay(t2);
    k = k - 1;
  }

  for (int k = 15; k > 2; k--) {
    digitalWrite(k, LOW);
    delay(t2);
  }
}

void effect_5()
{
  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin, HIGH);
    delay(t1);
    digitalWrite(pin + 1, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 1, HIGH);
    delay(t1);
    digitalWrite(pin + 2, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 2, HIGH);
    delay(t1);
    digitalWrite(pin + 3, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 3, HIGH);
    delay(t1);
    digitalWrite(pin + 4, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 4, HIGH);
    delay(t1);
    digitalWrite(pin + 5, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 5, HIGH);
    delay(t1);
    digitalWrite(pin + 6, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 6, HIGH);
    delay(t1);
    digitalWrite(pin + 7, LOW);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin + 7, HIGH);
    delay(t1);
    digitalWrite(pin + 8, LOW);
    delay(t1);
  }

  for (int pin = 9; pin >= 2; pin--)
  {
    digitalWrite(pin + 8, HIGH);
    delay(t1);
    digitalWrite(pin + 9, LOW);
    delay(t1);
  }

  for (int pin = 9; pin >= 2; pin--)
  {
    digitalWrite(pin + 9, HIGH);
    delay(t1);
    digitalWrite(pin + 10, LOW);
    delay(t1);
  }

  for (int pin = 9; pin >= 2; pin--)
  {
    digitalWrite(pin + 10, HIGH);
    delay(t1);
    digitalWrite(pin + 11, LOW);
    delay(t1);
  }

  for (int pin = 14; pin >= 2; pin--)
  {
    digitalWrite(pin + 11, HIGH);
    delay(t1);
  }

  for (int pin = 13; pin >= 2; pin--)
  {
    digitalWrite(pin, LOW);
    delay(t1);
  }
}

// function to switch all LEDs off
void clear(void)
{
  for (int i = 2; i <= 13; i++) {
    digitalWrite(i, LOW);
  }
}