how Do not repeat red color

const int r1 = 3;
const int r2 = 4;
const int r3 = 5;
const int r4 = 6;
const int r5 = 7;
const int r6 = 8;
const int r7 = 9;
const int r8 = 10;
const int b1 = 2;
int val;

void setup() {
pinMode(r1,OUTPUT);
pinMode(r2,OUTPUT);
pinMode(r3,OUTPUT);
pinMode(r4,OUTPUT);
pinMode(r5,OUTPUT);
pinMode(r6,OUTPUT);
pinMode(r7,OUTPUT);
pinMode(r8,OUTPUT);
pinMode(b1,INPUT);

}

void loop() {
val = digitalRead(b1);
if(val == HIGH)
{
digitalWrite(r8,LOW);
digitalWrite(r7,LOW);
digitalWrite(r6,LOW);
digitalWrite(r5,LOW);
digitalWrite(r4,LOW);
digitalWrite(r3,LOW);
digitalWrite(r2,LOW);
digitalWrite(r1,LOW);
delay(200);
digitalWrite(r8,HIGH);
digitalWrite(r7,HIGH);
digitalWrite(r6,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r1,HIGH);
delay(200);
digitalWrite(r8,LOW);
digitalWrite(r7,LOW);
digitalWrite(r6,LOW);
digitalWrite(r5,LOW);
digitalWrite(r4,LOW);
digitalWrite(r3,LOW);
digitalWrite(r2,LOW);
digitalWrite(r1,LOW);
delay(200);
digitalWrite(r8,HIGH);
digitalWrite(r7,HIGH);
digitalWrite(r6,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r1,HIGH);
delay(200);

digitalWrite(r8,LOW);
delay(200);
digitalWrite(r7,LOW);
delay(200);
digitalWrite(r6,LOW);
delay(200);
digitalWrite(r5,LOW);
delay(200);
digitalWrite(r4,LOW);
delay(200);
digitalWrite(r3,LOW);
delay(200);
digitalWrite(r2,LOW);
delay(200);
[digitalWrite(r1,LOW);
}
else if(val == LOW)
{
digitalWrite(r1,HIGH);
delay(200);
digitalWrite(r2,HIGH);
delay(200);
digitalWrite(r3,HIGH);
delay(200);
digitalWrite(r4,HIGH);
delay(200);
digitalWrite(r5,HIGH);
delay(200);
digitalWrite(r6,HIGH);
delay(200);
digitalWrite(r7,HIGH);
delay(200);
}

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

What does your code do, and what is it doing wrong?

This should help develop your code;

Thanks.. Tom.. :slight_smile:

Code:


---




```
const uint8_t outputPins[] = {3, 4, 5, 6, 7, 8, 9, 10};
const uint8_t inputPin = 2;

void setupcolor=#000000[/color] {
 for (const uint8_t &outputPin : outputPins)
   pinMode(outputPin, OUTPUT);
 pinMode(inputPin, INPUT);
}

void setAllOutputs(bool state) {
 for (const uint8_t &outputPin : outputPins)
   digitalWrite(outputPin, state);
}

void loopcolor=#000000[/color] {
 if (digitalReadcolor=#000000[/color] == HIGH) {
   for (uint8_t i = 0; i < 4; i++) {
     setAllOutputs(i % 2);
     delaycolor=#000000[/color];
   }
   for (int8_t i = sizeofcolor=#000000[/color] / sizeofcolor=#000000[/color]; i >= 0; i--) {
     digitalWrite(outputPins[i], LOW);
     delaycolor=#000000[/color];
   }
 } else {
   for (const uint8_t &outputPin : outputPins) {
     digitalWrite(outputPin, HIGH);
     delaycolor=#000000[/color];
   }
 }
}
```

|