How do you plan to solve it?
step 1: Declare gpio pin For led AND PUSHBUTTON
step2 : initialize led as output AND PUSHBUTTON AS INPUT
step3: will write code for led so led will blink for 2000ms AS PATTERN 1,2,3,4 using delay method.
/*Paste your code here*/
// C++ code
//
#define pushbutton 9
int LED[4]={2, 3, 4, 5};
void setup()
{
pinMode(LED[4], OUTPUT);
pinMode(pushbutton, INPUT);
}
void Pattrn1(){
for(int i=0;i<4; i++){
digitalWrite(LED[i],HIGH);
}
for(int i=0;i<4; i++){
digitalWrite(LED[i],LOW);
}
}
void Pattrn2(){
digitalWrite(LED[0],HIGH);
digitalWrite(LED[1],LOW);
digitalWrite(LED[2],HIGH);
digitalWrite(LED[3],LOW);
}
void Pattrn3(){
digitalWrite(LED[0],HIGH);
digitalWrite(LED[1],LOW);
digitalWrite(LED[2],LOW);
digitalWrite(LED[3],LOW);
delay(100);
digitalWrite(LED[0],LOW);
digitalWrite(LED[1],HIGH);
digitalWrite(LED[2],LOW);
digitalWrite(LED[3],LOW);
delay(100);
digitalWrite(LED[0],LOW);
digitalWrite(LED[1],LOW);
digitalWrite(LED[2],HIGH);
digitalWrite(LED[3],LOW);
delay(100);
digitalWrite(LED[0],LOW);
digitalWrite(LED[1],LOW);
digitalWrite(LED[2],LOW);
digitalWrite(LED[3],HIGH);
delay(100);
}
void Pattrn4(){
digitalWrite(LED[0],HIGH);
digitalWrite(LED[1],HIGH);
digitalWrite(LED[2],LOW);
digitalWrite(LED[3],LOW);
delay(400);
digitalWrite(LED[0],LOW);
digitalWrite(LED[1],LOW);
digitalWrite(LED[2],HIGH);
digitalWrite(LED[3],HIGH);
delay(400);
}
void loop()
{
int BUTTONSTATE =digitalRead(pushbutton);
if( BUTTONSTATE== HIGH){
Pattrn1();
delay(2000);
Pattrn2();
delay(2000);// Wait for 1000 millisecond(s)
Pattrn3();
delay(2000);
Pattrn4();
delay(2000); // Wait for 1000 millisecond(s)
}}

Add a video of the output (know more)