Improve Knight Rider Circuit
Change by: https://www.instructables.com/Knight-Rider-Circuit/
It's just a simple circuit that uses Arduino to make nine LEDs light up in different ways.
Supplies
- 9 LED (same color)
- Arduino Leonardo x 1
- A 220 Ohm Resistor
- 3 120 Ohm Resistor
Set Up the Circuit and the Button
Different from the circuit that I change, it will need 3 buttons to make it have more pattern.
Programing
int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int pin8 = 8;
int pin9 = 9;
int pin10 = 10;
int timer = 50;//改1:間隔時間從40改成50的;
void setup() {
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(pin5, OUTPUT);
pinMode(pin6, OUTPUT);
pinMode(pin7, OUTPUT);
pinMode(pin8, OUTPUT);
pinMode(pin9, OUTPUT);
pinMode(pin10, OUTPUT);
pinMode(11, INPUT);
}
void loop() {
digitalWrite(pin2, HIGH);
delay(timer);
digitalWrite(pin2, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin8, HIGH);
delay(timer);
digitalWrite(pin8, LOW);
delay(timer);
digitalWrite(pin9, HIGH);
delay(timer);
digitalWrite(pin9, LOW);
delay(timer);
digitalWrite(pin10, HIGH);
delay(timer);
digitalWrite(pin10, LOW);
delay(timer);
digitalWrite(pin10, HIGH);
delay(timer);
digitalWrite(pin10, LOW);
delay(timer);
digitalWrite(pin9, HIGH);
delay(timer);
digitalWrite(pin9, LOW);
delay(timer);
digitalWrite(pin8, HIGH);
delay(timer);
digitalWrite(pin8, LOW);
delay(timer);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
if (digitalRead ( 11 )) {
digitalWrite(pin2, HIGH); //改2:我增加了三個按鈕,每個if下面的動作都是自行增加的,
digitalWrite(pin10, HIGH);
delay(timer);
digitalWrite(pin2, LOW);
digitalWrite(pin10, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
digitalWrite(pin9, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
digitalWrite(pin9, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
digitalWrite(pin8, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
digitalWrite(pin8, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
}
if (digitalRead ( 12 )){
for (int i = 0 ; i < 2 ; ++i ){
digitalWrite (pin2, HIGH);
digitalWrite (pin3, HIGH);
digitalWrite (pin4, HIGH);
digitalWrite (pin5, HIGH);
digitalWrite (pin6, HIGH);
delay(timer);
digitalWrite (pin2, LOW);
digitalWrite (pin3, LOW);
digitalWrite (pin4, LOW);
digitalWrite (pin5, LOW);
digitalWrite (pin6, LOW);
delay(timer);
digitalWrite (pin6, HIGH);
digitalWrite (pin7, HIGH);
digitalWrite (pin8, HIGH);
digitalWrite (pin9, HIGH);
digitalWrite (pin10, HIGH);
delay(timer);
digitalWrite (pin6, LOW);
digitalWrite (pin7, LOW);
digitalWrite (pin8, LOW);
digitalWrite (pin9, LOW);
digitalWrite (pin10, LOW);
delay(timer);
}
}
if (digitalRead ( 13 )) {
digitalWrite (pin6, HIGH);
delay(timer);
digitalWrite (pin6, LOW);
delay(timer);
digitalWrite (pin5, HIGH);
digitalWrite (pin7, HIGH);
delay(timer);
digitalWrite (pin5, LOW);
digitalWrite (pin7, LOW);
delay(timer);
digitalWrite (pin4, HIGH);
digitalWrite (pin8, HIGH);
delay(timer);
digitalWrite (pin4, LOW);
digitalWrite (pin8, LOW);
delay(timer);
digitalWrite (pin3, HIGH);
digitalWrite (pin9, HIGH);
delay(timer);
digitalWrite (pin3, LOW);
digitalWrite (pin9, LOW);
delay(timer);
digitalWrite (pin2, HIGH);
digitalWrite (pin10, HIGH);
delay(timer);
digitalWrite (pin2, LOW);
digitalWrite (pin10, LOW);
delay(timer);
}
}<br>Download the code, and you can change the time of the interval or the order of the LEDs.