//Connect 8 LEDs to arduino uno pins 2,3,4,5,6,7,8,9
//Connect 1 push button to arduino uno pin 10
int led1=2;
int led2=3;
int led3=4;
int led4=5;
int led5=6;
int led6=7;
int led7=8;
int led8=9;
int button1=10;
int currentbuttonstate=1;
int lastbuttonstate=1;
int pattern_count=0;
void setup() {
Serial.begin(115200);
pinMode(button1,INPUT);
pinMode(led1,OUTPUT);
digitalWrite(led1,LOW);
pinMode(led2,OUTPUT);
digitalWrite(led2,LOW);
pinMode(led3,OUTPUT);
digitalWrite(led3,LOW);
pinMode(led4,OUTPUT);
digitalWrite(led4,LOW);
pinMode(led5,OUTPUT);
digitalWrite(led5,LOW);
pinMode(led6,OUTPUT);
digitalWrite(led6,LOW);
pinMode(led7,OUTPUT);
digitalWrite(led7,LOW);
pinMode(led8,OUTPUT);
digitalWrite(led8,LOW);
}
void loop() {
currentbuttonstate=digitalRead(button1);
Serial.print("current:");
Serial.println(currentbuttonstate);
Serial.print("last:");
Serial.println(lastbuttonstate);
Serial.println("********************");
if(currentbuttonstate==0 and lastbuttonstate==1){
pattern_count=pattern_count+1;
}
if(pattern_count==1){
delay(50);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
delay(50);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led3,HIGH);
digitalWrite(led6,HIGH);
delay(50);
digitalWrite(led3,LOW);
digitalWrite(led6,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led7,HIGH);
delay(50);
digitalWrite(led2,LOW);
digitalWrite(led7,LOW);
digitalWrite(led1,HIGH);
digitalWrite(led8,HIGH);
delay(50);
digitalWrite(led1,LOW);
digitalWrite(led8,LOW);
delay(50);
}
if(pattern_count==2){
delay(50);
digitalWrite(led1,HIGH);
delay(50);
digitalWrite(led1,LOW);
delay(50);
digitalWrite(led2,HIGH);
delay(50);
digitalWrite(led2,LOW);
delay(50);
digitalWrite(led3,HIGH);
delay(50);
digitalWrite(led3,LOW);
delay(50);
digitalWrite(led4,HIGH);
delay(50);
digitalWrite(led4,LOW);
delay(50);
digitalWrite(led5,HIGH);
delay(50);
digitalWrite(led5,LOW);
delay(50);
digitalWrite(led6,HIGH);
delay(50);
digitalWrite(led6,LOW);
delay(50);
digitalWrite(led7,HIGH);
delay(50);
digitalWrite(led7,LOW);
delay(50);
digitalWrite(led8,HIGH);
delay(50);
digitalWrite(led8,LOW);
delay(50);
}
if(pattern_count==3){
digitalWrite(led2,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led8,HIGH);
delay(100);
digitalWrite(led2,LOW);
digitalWrite(led4,LOW);
digitalWrite(led6,LOW);
digitalWrite(led8,LOW);
delay(100);
digitalWrite(led1,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led7,HIGH);
delay(100);
digitalWrite(led1,LOW);
digitalWrite(led3,LOW);
digitalWrite(led5,LOW);
digitalWrite(led7,LOW);
delay(100);
}
lastbuttonstate=currentbuttonstate;
delay(200);
}