LEDs

I did this circuit and did a code that created a christmas light effect I really like

const int Led1pin = 2;
const int Led2pin = 3;
const int Led3pin = 4;
const int Led4pin = 5;
const int Led5pin = 6;
const int BUTTON_PIN= 12;

int ledState = LOW;     // the current state of LED
int lastButtonState;    // the previous state of button
int currentButtonState; // the current state of button
int number = 0;

void setup() {
  // put your setup code here, to run once:
  pinMode(Led1pin,OUTPUT);
  pinMode(Led2pin,OUTPUT);
  pinMode(Led3pin,OUTPUT);
  pinMode(Led4pin,OUTPUT);
  pinMode(Led5pin,OUTPUT);
  pinMode(BUTTON_PIN,INPUT_PULLUP);
  currentButtonState = digitalRead(BUTTON_PIN);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  lastButtonState    = currentButtonState;      // save the last state
  currentButtonState = digitalRead(BUTTON_PIN); // read new state

  if(lastButtonState == HIGH && currentButtonState == LOW) {
    Serial.println("The button is pressed");
      if (number < 3) {
        (number) = (number) + 1;}
      else {
          (number) = 0;
          }
    }
  
  if (number == 0) {
    digitalWrite(Led1pin, HIGH); 
    digitalWrite(Led2pin, HIGH);
    digitalWrite(Led3pin, HIGH);
    digitalWrite(Led4pin, HIGH);
    digitalWrite(Led5pin, HIGH);
  }
  if (number == 1) {
    digitalWrite(Led1pin, HIGH); 
    digitalWrite(Led2pin, HIGH);
    digitalWrite(Led3pin, HIGH);
    digitalWrite(Led4pin, HIGH);
    digitalWrite(Led5pin, HIGH);
    delay(100);
    digitalWrite(Led1pin, LOW); 
    digitalWrite(Led2pin, LOW);
    digitalWrite(Led3pin, LOW);
    digitalWrite(Led4pin, LOW);
    digitalWrite(Led5pin, LOW);
    delay(100);
  }
  
  if (number == 2) {
    digitalWrite(Led1pin, HIGH); 
    digitalWrite(Led2pin, LOW);
    digitalWrite(Led3pin, HIGH);
    digitalWrite(Led4pin, LOW);
    digitalWrite(Led5pin, HIGH);
    delay(100);
    digitalWrite(Led1pin, LOW); 
    digitalWrite(Led2pin, HIGH);
    digitalWrite(Led3pin, LOW);
    digitalWrite(Led4pin, HIGH);
    digitalWrite(Led5pin, LOW);
    delay(100);
  }
  if (number == 3) {
    digitalWrite(Led1pin, HIGH); 
    delay(50);
    digitalWrite(Led2pin, HIGH);
    delay(50);
    digitalWrite(Led3pin, HIGH);
    delay(50);
    digitalWrite(Led4pin, HIGH);
    delay(50);
    digitalWrite(Led5pin, HIGH);
    delay(50);
    digitalWrite(Led1pin, LOW);
    delay(50); 
    digitalWrite(Led2pin, LOW);
    delay(50);
    digitalWrite(Led3pin, LOW);
    delay(50);
    digitalWrite(Led4pin, LOW);
    delay(50);
    digitalWrite(Led5pin, LOW);
    delay(50);
  }

}

This is the code I used, I had to try different logics to see which one worked best with this button system and this one works quite well.

Liked Liked
No Comments