#include <Arduino.h>
const int ledPin = 13;
const int initialDelay = 2000; // 2 seconds in milliseconds
const int finalDelay = 100; // 0.1 seconds in milliseconds
const int delayDecrement = 250; // Milliseconds to decrease delay each iteration
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
int currentDelay = initialDelay;
// Decrease delay until finalDelay
while (currentDelay >= finalDelay) {
digitalWrite(ledPin, HIGH);
delay(currentDelay);
digitalWrite(ledPin, LOW);
delay(currentDelay);
Serial.print("Current delay: ");
Serial.println(currentDelay);
currentDelay -= delayDecrement;
}
// Blink 100 times at finalDelay
for (int i = 0; i < 100; i++) {
digitalWrite(ledPin, HIGH);
delay(finalDelay);
digitalWrite(ledPin, LOW);
delay(finalDelay);
Serial.print("Blinking at final delay, count: ");
Serial.println(i + 1);
}
// Increase delay back to initialDelay
while (currentDelay <= initialDelay) {
digitalWrite(ledPin, HIGH);
delay(currentDelay);
digitalWrite(ledPin, LOW);
delay(currentDelay);
Serial.print("Current delay: ");
Serial.println(currentDelay);
currentDelay += delayDecrement;
}
}