All submissions

 Solving Approach

How do you plan to solve it?

 I coded the sequence of LED and put it in a Case statement so I can switch pattern by using a push button. The push button increment the variable "BlinkSeq" (short for blink sequence) that I declared in the code in order to switch blinking pattern.
 

 

 

 

Code

/*Paste your code here*/


int BlinkSeq = 0;
const int BtnNiArdi = 2;

void setup() {
  pinMode(BtnNiArdi, INPUT_PULLUP);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int ButtonState = digitalRead(BtnNiArdi);
  delay(100); // Hold buton for 1 second hehe

  if (ButtonState == 0){
    BlinkSeq += 1;
  }
  if (BlinkSeq > 5){
  BlinkSeq = 0;
  Serial.println("Next sequence");
  }

switch (BlinkSeq){
case 1:
Serial.println("Pattern: 1");
  digitalWrite(12, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(9,  HIGH);
  delay(400);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9,  LOW);
  delay(400);
  break;

case 2:
Serial.println("Pattern: 2");
  digitalWrite(12, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(10, HIGH);
  digitalWrite(9,  LOW);
  delay(400);
  digitalWrite(12, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(10, LOW);
  digitalWrite(9,  HIGH);
  delay(400);
  break;
case 3:
Serial.println("Pattern: 3");
  digitalWrite(12, HIGH);
  delay(300);
  digitalWrite(12, LOW);
  digitalWrite(11, HIGH);
  delay(300);
  digitalWrite(11, LOW);
  digitalWrite(10, HIGH);
  delay(300);
  digitalWrite(10, LOW);
  digitalWrite(9,  HIGH);
  delay(300);
  digitalWrite(9, LOW);
  delay(300);
  break;
case 4:
Serial.println("Pattern: 4");
  digitalWrite(12, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(10, LOW);
  digitalWrite(9,  LOW);
  delay(400);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, HIGH);
  digitalWrite(9,  HIGH);
  delay(400);
  break;

case 5:
Serial.println("Pattern: 5");
  digitalWrite(12, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9,  HIGH);
  delay(400);
  digitalWrite(12, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(9,  LOW);
  delay(400);
  break;
  }
}

 

 

 

Output

Video

Add a video of the output (know more)

 

https://wokwi.com/projects/442540138108182529

 

Submit Your Solution

Note: Once submitted, your solution goes public, helping others learn from your approach!