I have an assignment wherein we have 8 LEDs connected to an Arduino Uno which has a switch. These LEDs light up according to the johnson counter but every time I turn the switch off it should reset back to the start. An example is if I turned the switch off while the pin is at 8 going back to 1 , then when i turn it on it should be back to 1 again. I got the 1 to 8 reset part right but the 8 to 1, I'm having trouble solving.
Here is my code:
int pin;
int sw3 = 10;
void setup() {
// put your setup code here, to run once:
for (pin = 2; pin <= 9; pin++) {
pinMode(pin, OUTPUT);
}
pinMode(sw3, INPUT);
}
void loop() {
pin == 2;
if (digitalRead(sw3) == HIGH) {
for (pin = 2; pin <= 9; pin++) {
digitalWrite(pin, HIGH);
delay(200);
}
}
else {
digitalWrite(pin, LOW);
}
delay(200);
for (pin = 2; pin <= 9; pin++)
{
digitalWrite(pin, LOW);
}
delay(200);
if (digitalRead(sw3) == HIGH) {
for (pin = 9; pin >= 2; pin--) {
digitalWrite(pin, HIGH);
delay(200);
}
}
else {
digitalWrite(pin, LOW);
}
delay(200);
for (pin = 9; pin >= 2; pin--) {
digitalWrite(pin, LOW);
}
delay(200);
{
if (digitalRead(sw3) == LOW) {
digitalWrite(pin, LOW);
}
else {
digitalWrite(pin, LOW);
}
}
}