//Slide switch
int led1 = 15;
int led2 = 2;
int led3 = 0;
int led4 = 4;
int led5 = 16;
int led6 = 17;
int led7 = 5;
int led8 = 18;
int LED_COUNT = 8;
#define BUTTON_PIN1 32
#define BUTTON_PIN2 33
#define BUTTON_PIN3 34
#define BUTTON_PIN4 35
int BTN_COUNT = 4;
byte LED_PINS[] = {led1, led2, led3, led4, led5, led6, led7, led8};
byte BTN_PINS[] = {BUTTON_PIN1, BUTTON_PIN2, BUTTON_PIN3, BUTTON_PIN4};
int BTN_NUM = 0;
int BTN_STATUS = 0;
int count;
int pinNum;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(BUTTON_PIN1, INPUT_PULLUP);
pinMode(BUTTON_PIN2, INPUT_PULLUP);
pinMode(BUTTON_PIN3, INPUT_PULLUP);
pinMode(BUTTON_PIN4, INPUT_PULLUP);
}
void loop() {
count=0;
BTN_STATUS = LOW;
BTN_NUM =0;
pinNum = 0;
do {
delay(200);
BTN_STATUS = digitalRead(BTN_PINS[count]);
BTN_NUM = count;
if (BTN_STATUS == HIGH) {
if (BTN_NUM == 0) {
BTN_FUNCTION_0(BTN_NUM);
}
else if (BTN_NUM == 1){
BTN_FUNCTION_1(BTN_NUM);
}
else if (BTN_NUM == 2){
BTN_FUNCTION_2(BTN_NUM);
}
else if (BTN_NUM == 3){
BTN_FUNCTION_3(BTN_NUM);
}
}
count++;
} while (count<BTN_COUNT);
}
void BTN_FUNCTION_0(int num_btn){
digitalWrite(led4, HIGH);
delay(1000);
digitalWrite(led4, LOW);
delay(1000);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(1000);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
digitalWrite(led5, HIGH);
delay(1000);
digitalWrite(led5, LOW);
delay(1000);
digitalWrite(led6, HIGH);
delay(1000);
digitalWrite(led6, LOW);
delay(1000);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led7, LOW);
delay(1000);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led8, LOW);
delay(1000);
}
void BTN_FUNCTION_1(int num_btn) {
digitalWrite(led1, HIGH);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led1, LOW);
digitalWrite(led8, LOW);
delay(1000);
digitalWrite(led3, HIGH);
digitalWrite(led6, HIGH);
delay(1000);
digitalWrite(led3, LOW);
digitalWrite(led6, LOW);
delay(1000);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
delay(1000);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
delay(1000);
digitalWrite(led2, HIGH);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led2, LOW);
digitalWrite(led7, LOW);
delay(1000);
}
void BTN_FUNCTION_2(int num_) {
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(1000);
digitalWrite(led4, HIGH);
delay(1000);
digitalWrite(led4, LOW);
delay(1000);
digitalWrite(led5, HIGH);
delay(1000);
digitalWrite(led5, LOW);
delay(1000);
digitalWrite(led6, HIGH);
delay(1000);
digitalWrite(led6, LOW);
delay(1000);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led7, LOW);
delay(1000);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led8, LOW);
delay(1000);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led8, LOW);
delay(1000);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led7, LOW);
delay(1000);
digitalWrite(led6, HIGH);
delay(1000);
digitalWrite(led6, LOW);
delay(1000);
digitalWrite(led5, HIGH);
delay(1000);
digitalWrite(led5, LOW);
delay(1000);
digitalWrite(led4, HIGH);
delay(1000);
digitalWrite(led4, LOW);
delay(1000);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(1000);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
}
void BTN_FUNCTION_3(int num_) {
digitalWrite(led1, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
digitalWrite(led5, LOW);
digitalWrite(led7, LOW);
delay(1000);
digitalWrite(led2, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
digitalWrite(led6, LOW);
digitalWrite(led8, LOW);
delay(1000);
}