/*
This has been discussed here on https://forum.arduino.cc/t/help-me-achieving-this-effect-through-pinout/913543
Fix has been provided in minimum line of codes by *printedcircuitbirds* - https://forum.arduino.cc/u/printedcircuitbirds
Solved project here - https://wokwi.com/arduino/projects/312144637779247681
Thanks for the code @printedcircuitbirds. :)
*/
#define t1 20
int nanoPin[16] = {
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17
};
const int chCount = sizeof(nanoPin) / sizeof(nanoPin[0]);
void setup() {
for (int op=0; op < chCount; op++) {
pinMode(nanoPin[op], OUTPUT);
delay(10);
}
}
void loop(){
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+1], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+1], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+2], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+2], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+3], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+3], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+4], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+4], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+5], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+5], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+6], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+6], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+7], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+7], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+8], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+8], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+9], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+9], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+10], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+10], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+11], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+11], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+12], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+12], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+13], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+13], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+14], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+14], HIGH);
delay(t1);
digitalWrite(nanoPin[pin+15], LOW);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin+15], HIGH);
delay(t1);
}
for(int pin = chCount; pin >= 0; pin--)
{
digitalWrite(nanoPin[pin], LOW);
delay(t1);
}
}