//initializing pins for LED and Button:
#define LED_PAIR1_PIN 13
#define LED_PAIR2_PIN 12
#define LED_PAIR3_PIN 11
#define LED_PAIR4_PIN 10
#define LED_PAIR5_PIN 9
#define LED_PAIR6_PIN 8
#define LED_PAIR7_PIN 7
#define BUTTON_PIN 6
int speedCount = 1; //how much slower the speed is
void setup(){
// put your setup code here, to run once:
pinMode(LED_PAIR1_PIN, OUTPUT);
pinMode(LED_PAIR2_PIN, OUTPUT);
pinMode(LED_PAIR3_PIN, OUTPUT);
pinMode(LED_PAIR4_PIN, OUTPUT);
pinMode(LED_PAIR5_PIN, OUTPUT);
pinMode(LED_PAIR6_PIN, OUTPUT);
pinMode(LED_PAIR7_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop(){
//main code here, to run repeatedly:
if(digitalRead(BUTTON_PIN) == HIGH) {
ledHigh();
speedCount = speedCount + 1; //decreasing blink speed
//blink sequentially all paired LEDs 5 times in a row:
int i = 5;
while ( i > 0){
blinkLED(50*speedCount);
i--;
}
}
else{
ledLow();
}
}
void blinkLED(int msTime){
//blink for given time in ms:
digitalWrite(LED_PAIR1_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR2_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR3_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR4_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR5_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR6_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR7_PIN, HIGH);
delay(msTime);
digitalWrite(LED_PAIR1_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR2_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR3_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR4_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR5_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR6_PIN, LOW);
delay(msTime);
digitalWrite(LED_PAIR7_PIN, LOW);
delay(msTime);
}
void ledLow(){
//turn off all LEDs at once:
digitalWrite(LED_PAIR1_PIN, LOW);
digitalWrite(LED_PAIR2_PIN, LOW);
digitalWrite(LED_PAIR3_PIN, LOW);
digitalWrite(LED_PAIR4_PIN, LOW);
digitalWrite(LED_PAIR5_PIN, LOW);
digitalWrite(LED_PAIR6_PIN, LOW);
digitalWrite(LED_PAIR7_PIN, LOW);
}
void ledHigh(){
//turn on all LEDs at once:
digitalWrite(LED_PAIR1_PIN, HIGH);
digitalWrite(LED_PAIR2_PIN, HIGH);
digitalWrite(LED_PAIR3_PIN, HIGH);
digitalWrite(LED_PAIR4_PIN, HIGH);
digitalWrite(LED_PAIR5_PIN, HIGH);
digitalWrite(LED_PAIR6_PIN, HIGH);
digitalWrite(LED_PAIR7_PIN, HIGH);
}