How to make a knight rider LED chaser (part ii)
How to make a knight rider LED chaser (part ii)

Hello guys, Welcome back to my blog. Today we are going to talk about the second or last part of the article on making a knight rider LED bulb chaser. We created one LED bulb pattern in the previous project. Do you remember it? Its code does not match a good programmer. It is a match for one LED bulb pattern, but not for multiple LED bulb patterns.
what is the for loop?



/*copy and paste below code */
#define t 100 //time delay
void setup() {
for (byte a = 2; a <= 9; a++) {
pinMode(a, OUTPUT);
}
}
void loop() {
//pattern one
for (byte i = 2; i <= 9; i++) {
digitalWrite(i, HIGH);
delay(t);
digitalWrite(i, LOW);
}
for (byte z = 8; z > 2; z--) {
digitalWrite(z, HIGH);
delay(t);
digitalWrite(z, LOW);
}
//pattern two
for (byte i = 2; i <= 9; i++) {
digitalWrite(i, HIGH);
digitalWrite(i + 1, HIGH);
digitalWrite(i + 2, HIGH);
delay(t);
digitalWrite(i, LOW);
digitalWrite(i - 1, LOW);
digitalWrite(i - 2, LOW);
}
for (byte z = 8; z > 2; z--) {
digitalWrite(z, HIGH);
digitalWrite(z - 1, HIGH);
digitalWrite(z - 2, HIGH);
delay(t);
digitalWrite(z, LOW);
digitalWrite(z - 1, LOW);
digitalWrite(z - 2, LOW);
}
//pattern three
for (byte i = 2; i <= 9; i++) {
digitalWrite(i, HIGH);
delay(t);
}
for (byte z = 9; z > 2; z--) {
digitalWrite(z, LOW);
delay(t);
}
//pattern four
for (byte i = 2; i <= 9; i++) {
digitalWrite(i, HIGH);
delay(t);
}
for (byte x = 2; x <= 9; x++) {
digitalWrite(x, LOW);
delay(t);
}
for (byte y = 9; y >= 2; y--) {
digitalWrite(y, HIGH);
delay(t);
}
for (byte z = 9; z >= 2; z--) {
digitalWrite(z, LOW);
delay(t);
}
//pattern five
int led [8] = {2, 3, 4, 5, 6, 7, 8, 9};
for (byte i = 0; i <= 8; i++) {
digitalWrite(led[i], HIGH);
}
delay(400);
for (byte i = 0; i <= 8; i++) {
digitalWrite(led[i], LOW);
}
delay(400);
}


Step 4


/*copy and paste below code */
#define t 100
void setup() {
for (byte a = 2; a <= 13; a++) {
pinMode(a, OUTPUT);
}
}
void loop() {
Pattern1(2);
Pattern2(2);
Pattern3(2);
Pattern4(2);
Pattern5(2);
Pattern6(2);
Pattern7(2);
Pattern8(2);
}
void Pattern1(byte a) {
for (byte j = 0; j <= a; j++) {
for (byte i = 2; i <= 13; i++) {
digitalWrite(i, HIGH);
delay(t);
digitalWrite(i, LOW);
}
for (byte z = 12; z > 2; z--) {
digitalWrite(z, HIGH);
delay(t);
digitalWrite(z, LOW);
}
}
}
void Pattern2(byte a) {
for (byte j = 0; j <= a; j++) {
for (byte i = 2; i <= 13; i++) {
digitalWrite(i, HIGH);
digitalWrite(i + 1, HIGH);
digitalWrite(i + 2, HIGH);
delay(t);
digitalWrite(i, LOW);
digitalWrite(i - 1, LOW);
digitalWrite(i - 2, LOW);
}
for (byte z = 12; z > 2; z--) {
digitalWrite(z, HIGH);
digitalWrite(z - 1, HIGH);
digitalWrite(z - 2, HIGH);
delay(t);
digitalWrite(z, LOW);
digitalWrite(z - 1, LOW);
digitalWrite(z - 2, LOW);
}
}
}
void Pattern3(byte a) {
for (byte j = 0; j <= a; j++) {
for (byte i = 2; i <= 13; i++) {
digitalWrite(i, HIGH);
delay(t);
}
for (byte z = 13; z > 2; z--) {
digitalWrite(z, LOW);
delay(t);
}
}
}
void Pattern4(byte a) {
for (byte j = 0; j <= a; j++) {
for (byte i = 2; i <= 13; i++) {
digitalWrite(i, HIGH);
delay(t);
}
for (byte x = 2; x <= 13; x++) {
digitalWrite(x, LOW);
delay(t);
}
for (byte y = 13; y > 2; y--) {
digitalWrite(y, HIGH);
delay(t);
}
for (byte z = 13; z > 2; z--) {
digitalWrite(z, LOW);
delay(t);
}
}
}
void Pattern5(byte a) {
for (byte j = 0; j <= a; j++) {
int leds [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
for (byte i = 0; i <= 13; i++) {
digitalWrite(leds[i], HIGH);
}
delay(t);
for (byte i = 0; i <= 13; i++) {
digitalWrite(leds[i], LOW);
}
delay(t);
}
}
void Pattern6(byte a) {
for (byte w = 0; w <= 3; w++) {
int leds [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
for (byte i = 0; i <= 7; i++) {
digitalWrite(leds[i], HIGH);
}
delay(t);
for (byte i = 0; i <= 7; i++) {
digitalWrite(leds[i], LOW);
}
delay(t);
for (byte x = 8; x <= 13; x++) {
digitalWrite(leds[x], HIGH);
}
delay(t);
for (byte x = 8; x <= 13; x++) {
digitalWrite(leds[x], LOW);
}
delay(t);
}
}
void Pattern7(byte a) {
for (byte j = 0; j <= a; j++) {
byte w = 6;
for (byte i = 2; i <= 7; i++) {
digitalWrite(i, HIGH);
digitalWrite(i + w, HIGH);
delay(t);
digitalWrite(i, LOW);
digitalWrite(i + w, LOW);
}
}
}
void Pattern8(byte a) {
for (byte j = 0; j <= a; j++) {
byte w = 6;
for (byte i = 2; i <= 7; i++) {
digitalWrite(i, HIGH);
digitalWrite(i + w, HIGH);
delay(t);
digitalWrite(i, LOW);
digitalWrite(i + w, LOW);
}
byte u = 6;
for (byte x = 6; x > 2; x--) {
digitalWrite(x, HIGH);
digitalWrite(x + u, HIGH);
delay(t);
digitalWrite(x, LOW);
digitalWrite(x + u, LOW);
}
}
}





All right, it’s over. Watch the video below to see how this project works.Okay, we’ll see in the next article. Have a good day. Bye.
Good job