// Define the LED pins and button pin
#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define BUTTON 6
// Define the initial blink rates for each LED
int blinkRate1 = 60;
int blinkRate2 = 60;
int blinkRate3 = 60;
int blinkRate4 = 60;
void setup() {
// Set LED pins as outputs
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
// Set button pin as input
pinMode(BUTTON, INPUT_PULLUP);
// Start serial communication
Serial.begin(9600);
}
void loop() {
// Blink LED1 with a faster rate if the button is pressed
if (digitalRead(BUTTON) == LOW) {
blinkRate1 *= 0.99; // Increase blink rate by 20%
} else {
blinkRate1 = 60; // Set blink rate back to original value
}
// Blink all LEDs at their respective blink rates
digitalWrite(LED1, HIGH);
delay(blinkRate1);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(blinkRate2);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
delay(blinkRate3);
digitalWrite(LED3, LOW);
digitalWrite(LED4, HIGH);
delay(blinkRate4);
digitalWrite(LED4, LOW);
// Print the blink rates of all LEDs to serial monitor
Serial.print("LED1: ");
Serial.print(60000 / blinkRate1);
Serial.print(" bpm, LED2 : ");
Serial.print(60000 / blinkRate2);
Serial.print(" bpm, LED3 : ");
Serial.print(60000 / blinkRate3);
Serial.print(" bpm, LED4 : ");
Serial.print(60000 / blinkRate4);
Serial.println(" bpm");
}