Nikhil_being_honest
Nikhil_being_honest

Reputation: 59

Glow LED in sequence Arduino c++

I want to build a circuit with 8 LEDs glow in sequence from left to right 3 at a time. I have written the code, but 3 LEDs are not working at all. Please let me know why is this.

tinkercad link:

https://www.tinkercad.com/things/365xyKIrEuI-copy-of-microcontrollerled-and-resistor/editel?sharecode=blB-NRxJIIaxMQ6i9CisG-G079o9UAT2xuvjDNJv2Z4

code:

    int ledpin[] = {
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12
};
int switchPinStatus = 0;
int delay1 = 50;

void setup() {
  pinMode(4, INPUT);
  for (int i = 0; i <= 7; i++)
    pinMode(ledpin[i], OUTPUT);

}

void sequence() {
  for (int i = 0; i <= 8; i++) {
    for (int j = i; j <= i + 2; j++) {
      analogWrite(ledpin[j], 100);
      delay(delay1);
    }
    analogWrite(ledpin[i], 0);
  }
  //for backwards
  for (int i = 7; i >= -1; i--) {
    for (int j = i; j >= i - 2; j--) {
      analogWrite(ledpin[j], 100);
      delay(delay1);
    }
    analogWrite(ledpin[i], 0);
  }
}

void loop() {
  switchPinStatus = digitalRead(4);
  while (switchPinStatus == 1) {
    for (int i = 0; i < 3; i++) {
      {
        sequence();
      }
      switchPinStatus = digitalRead(4);
    }
  }
}

Upvotes: 0

Views: 363

Answers (1)

Leo
Leo

Reputation: 404

This code turns each LED on in order and turns off the third one behind.

int ledpin[] = {5,6,7,8,9,10,11,12};
int delay1 = 100;

void setup(){
  pinMode(4, INPUT);
    for(int i = 0; i <= 7; i++)
        pinMode(ledpin[i], OUTPUT);
        
}

void sequence(){
  for(int i=0;i <= 10;i++)
 {
    if(i <= 7){
     digitalWrite(ledpin[i],HIGH);
    }
    
    if(i >= 3){
     digitalWrite(ledpin[i-3], LOW);
    }
    
    delay(delay1);
 }
  
 //for backwards
  for(int i=7;i >= -3;i--)
 {
    if(i >= 0){
     digitalWrite(ledpin[i],HIGH);
    }
    
    if(i <= 4){
     digitalWrite(ledpin[i+3], LOW);
    }
    
    delay(delay1);
 }
}

void loop(){
   if(digitalRead(4) == 1){
      for (int i = 0; i < 3; i++) {
      {
        sequence();
      }
    }
  }
}

Upvotes: 1

Related Questions