int whitePin = 10; int leds[10]; int totalLeds = 10; // the pin that the array of pins begin on // int beginPin = 3; // hold the current pin that is being incremented // int startPin = 2; int state_1 = 0; int prevReading_1 = 0; int reading_1 = 0; int state_2 = 0; int prevReading_2 = 0; int reading_2 = 0; int button1 = 1; int button2 = 5; int blink = 0; void setup() { Serial.begin(9600); leds[0] = 3; leds[1] = 4; leds[2] = 5; leds[3] = 7; leds[4] = 6; leds[5] = 13; leds[6] = 9; leds[7] = 8; leds[8] = 11; leds[9] = 12; for (int i = 0; i < totalLeds; i++) { pinMode(leds[i], OUTPUT); } pinMode(whitePin, OUTPUT); } void loop() { checkButtons(); checkStates(); } void checkStates() { if (state_1 == 0) { redOff(); } if (state_1 == 1 && state_2 == 0) { redOn(); } if (state_2 == 0) { whiteOff(); } if (state_2 == 1 && state_1 == 0) { whiteOn(); } if (state_1 == 1 && state_2 == 1) { blinkEm(); } } void redOff() { for (int i = 0; i < totalLeds; i++) { digitalWrite(leds[i], LOW); } } void redOn() { for (int i = 0; i < totalLeds; i++) { digitalWrite(leds[i], HIGH); } } void whiteOn() { digitalWrite(whitePin, HIGH); } void whiteOff() { digitalWrite(whitePin, LOW); } void blinkEm() { if (blink == 1) { redOn(); whiteOff(); blink = 0; } else { redOff(); whiteOn(); blink = 1; } } void checkButtons() { reading_1 = analogRead(button1); reading_2 = analogRead(button2); Serial.print("state_1: "); Serial.print(state_1); Serial.print(" - "); Serial.print("state_2: "); Serial.print(state_2); Serial.print("\n"); if ((reading_1 > 550 && prevReading_1 < 300) || (reading_2 > 550 && prevReading_2 < 300)) { delay(30); // invert states // if (reading_1 > 550) { if (state_1 == 1) { state_1 = 0; } else { state_1 = 1; } } if (reading_2 > 550) { if (state_2 == 1) { state_2 = 0; } else { state_2 = 1; } } } prevReading_1 = reading_1; prevReading_2 = reading_2; }