// C++ code
//
#define SIGNAL_PIN 12
int LED1 = 11;
int LED2 = 10;
int LED3 = 9;
int LED4 = 8;
int LED5 = 7;
int LED6 = 6;
int LED7 = 5;
int LED8 = 4;
int LED9 = 3;
int LED10 = 2;
int speed1 = 80;
int speed2 = 100;
int speed3 = 40;
void setup()
{
Serial.begin(9600);
pinMode(SIGNAL_PIN, INPUT);
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
pinMode (LED4, OUTPUT);
pinMode (LED5, OUTPUT);
pinMode (LED6, OUTPUT);
pinMode (LED7, OUTPUT);
pinMode (LED8, OUTPUT);
pinMode (LED9, OUTPUT);
pinMode (LED10, OUTPUT);
}
void loop()
{
if (digitalRead(SIGNAL_PIN) == HIGH)
{
// Pattern 1
digitalWrite(LED1, HIGH);
delay(speed1);
digitalWrite(LED1, LOW);
delay(speed1);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
delay(speed1);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(speed1);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
delay(speed1);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(speed1);
digitalWrite(LED6, HIGH);
digitalWrite(LED7, HIGH);
delay(speed1);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
delay(speed1);
digitalWrite(LED8, HIGH);
delay(speed1);
digitalWrite(LED8, LOW);
delay(speed1);
digitalWrite(LED9, HIGH);
digitalWrite(LED10, HIGH);
delay(speed1);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
delay(speed1);
// Pattern 2
digitalWrite(LED9, HIGH);
digitalWrite(LED10, HIGH);
delay(speed2);
digitalWrite(LED8, HIGH);
delay(speed2);
digitalWrite(LED6, HIGH);
digitalWrite(LED7, HIGH);
delay(speed2);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
delay(speed2);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
delay(speed2);
digitalWrite(LED1, HIGH);
delay(speed2);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
delay(speed2);
digitalWrite(LED8, LOW);
delay(speed2);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
delay(speed2);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(speed2);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(speed2);
digitalWrite(LED1, LOW);
delay(speed2);
// Pattern 3 x 3
digitalWrite(LED1, HIGH);
delay(speed3);
digitalWrite(LED1, LOW);
delay(speed3);
digitalWrite(LED2, HIGH);
delay(speed3);
digitalWrite(LED2, LOW);
delay(speed3);
digitalWrite(LED4, HIGH);
delay(speed3);
digitalWrite(LED4, LOW);
delay(speed3);
digitalWrite(LED6, HIGH);
delay(speed3);
digitalWrite(LED6, LOW);
delay(speed3);
digitalWrite(LED9, HIGH);
delay(speed3);
digitalWrite(LED9, LOW);
delay(speed3);
digitalWrite(LED8, HIGH);
delay(speed3);
digitalWrite(LED8, LOW);
delay(speed3);
digitalWrite(LED10, HIGH);
delay(speed3);
digitalWrite(LED10, LOW);
delay(speed3);
digitalWrite(LED7, HIGH);
delay(speed3);
digitalWrite(LED7, LOW);
delay(speed3);
digitalWrite(LED5, HIGH);
delay(speed3);
digitalWrite(LED5, LOW);
delay(speed3);
digitalWrite(LED3, HIGH);
delay(speed3);
digitalWrite(LED3, LOW);
delay(speed3);
digitalWrite(LED1, HIGH);
delay(speed3);
digitalWrite(LED1, LOW);
delay(speed3);
digitalWrite(LED2, HIGH);
delay(speed3);
digitalWrite(LED2, LOW);
delay(speed3);
digitalWrite(LED4, HIGH);
delay(speed3);
digitalWrite(LED4, LOW);
delay(speed3);
digitalWrite(LED6, HIGH);
delay(speed3);
digitalWrite(LED6, LOW);
delay(speed3);
digitalWrite(LED9, HIGH);
delay(speed3);
digitalWrite(LED9, LOW);
delay(speed3);
digitalWrite(LED8, HIGH);
delay(speed3);
digitalWrite(LED8, LOW);
delay(speed3);
digitalWrite(LED10, HIGH);
delay(speed3);
digitalWrite(LED10, LOW);
delay(speed3);
digitalWrite(LED7, HIGH);
delay(speed3);
digitalWrite(LED7, LOW);
delay(speed3);
digitalWrite(LED5, HIGH);
delay(speed3);
digitalWrite(LED5, LOW);
delay(speed3);
digitalWrite(LED3, HIGH);
delay(speed3);
digitalWrite(LED3, LOW);
delay(speed3);
digitalWrite(LED1, HIGH);
delay(speed3);
digitalWrite(LED1, LOW);
delay(speed3);
digitalWrite(LED2, HIGH);
delay(speed3);
digitalWrite(LED2, LOW);
delay(speed3);
digitalWrite(LED4, HIGH);
delay(speed3);
digitalWrite(LED4, LOW);
delay(speed3);
digitalWrite(LED6, HIGH);
delay(speed3);
digitalWrite(LED6, LOW);
delay(speed3);
digitalWrite(LED9, HIGH);
delay(speed3);
digitalWrite(LED9, LOW);
delay(speed3);
digitalWrite(LED8, HIGH);
delay(speed3);
digitalWrite(LED8, LOW);
delay(speed3);
digitalWrite(LED10, HIGH);
delay(speed3);
digitalWrite(LED10, LOW);
delay(speed3);
digitalWrite(LED7, HIGH);
delay(speed3);
digitalWrite(LED7, LOW);
delay(speed3);
digitalWrite(LED5, HIGH);
delay(speed3);
digitalWrite(LED5, LOW);
delay(speed3);
digitalWrite(LED3, HIGH);
delay(speed3);
digitalWrite(LED3, LOW);
delay(speed3);
// Pattern 2 x 2
digitalWrite(LED9, HIGH);
digitalWrite(LED10, HIGH);
delay(speed2);
digitalWrite(LED8, HIGH);
delay(speed2);
digitalWrite(LED6, HIGH);
digitalWrite(LED7, HIGH);
delay(speed2);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
delay(speed2);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
delay(speed2);
digitalWrite(LED1, HIGH);
delay(speed2);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
delay(speed2);
digitalWrite(LED8, LOW);
delay(speed2);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
delay(speed2);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(speed2);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(speed2);
digitalWrite(LED1, LOW);
delay(speed2);
digitalWrite(LED9, HIGH);
digitalWrite(LED10, HIGH);
delay(speed2);
digitalWrite(LED8, HIGH);
delay(speed2);
digitalWrite(LED6, HIGH);
digitalWrite(LED7, HIGH);
delay(speed2);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
delay(speed2);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
delay(speed2);
digitalWrite(LED1, HIGH);
delay(speed2);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
delay(speed2);
digitalWrite(LED8, LOW);
delay(speed2);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
delay(speed2);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(speed2);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(speed2);
digitalWrite(LED1, LOW);
delay(speed2);
if (digitalRead(SIGNAL_PIN) == LOW)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
digitalWrite(LED8, LOW);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
}
}
}