How do you plan to solve it?
/*Paste your code here*/
//define button pin
#define btnPin 2
// define LED pins
#define ledPin13 13
#define ledPin12 12
#define ledPin11 11
#define ledPin10 10
// define led states
#define ON 0
#define OFF 1
volatile unsigned long prevTimeBtnPresses = 0;
byte debounceDelay = 50;
volatile bool buttonPressed = false;
byte btnClicks = 0;
void pattern1();
void pattern2();
void pattern3();
void pattern4();
void pattern5();
void setup()
{
Serial.begin( 9600 );
// button pin initialisation
pinMode(btnPin, INPUT);
// led pins initialisation
pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin10, OUTPUT);
// initially all leds are off
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, OFF );
attachInterrupt( digitalPinToInterrupt( btnPin ),
buttonPressedInterrupt, RISING);
}
void loop()
{
if ( buttonPressed )
{
buttonPressed = false;
btnClicks++;
if ( btnClicks == 6 )
{
btnClicks = 1;
}
}
// if count of button clicks is 1 then turn on all four leds
// then wait for 1000ms then turn off all the leds then wait
// for 1000ms
if ( btnClicks == 1 )
{
pattern1();
}
if ( btnClicks == 2 )
{
pattern2();
}
if ( btnClicks == 3 )
{
pattern3();
}
if ( btnClicks == 4 )
{
pattern4();
}
if ( btnClicks == 5 )
{
pattern5();
}
}
void buttonPressedInterrupt()
{
if ( millis() - prevTimeBtnPresses > debounceDelay )
{
prevTimeBtnPresses = millis();
buttonPressed = true;
}
}
void pattern1()
{
digitalWrite( ledPin13, ON );
digitalWrite( ledPin12, ON );
digitalWrite( ledPin11, ON );
digitalWrite( ledPin10, ON );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, OFF );
delay(700);
}
void pattern2()
{
digitalWrite( ledPin13, ON );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, ON );
digitalWrite( ledPin10, OFF );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, ON );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, ON );
delay(700);
}
void pattern3()
{
digitalWrite( ledPin13, ON );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, OFF );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, ON );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, OFF );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, ON );
digitalWrite( ledPin10, OFF );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, ON );
delay(700);
}
void pattern4()
{
digitalWrite( ledPin13, ON );
digitalWrite( ledPin12, ON );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, OFF );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, ON );
digitalWrite( ledPin10, ON );
delay(700);
}
void pattern5()
{
digitalWrite( ledPin13, ON );
digitalWrite( ledPin12, OFF );
digitalWrite( ledPin11, OFF );
digitalWrite( ledPin10, ON );
delay(700);
digitalWrite( ledPin13, OFF );
digitalWrite( ledPin12, ON );
digitalWrite( ledPin11, ON );
digitalWrite( ledPin10, OFF );
delay(700);
}
Add a video of the output (know more)