so i made a countdown from 30 seconds, but how do i make the built in LED quickly flash during the last 5 seconds? with my current code it flashed with the clock - one flash a second. but i want it to go faster than that.
int btn = 9;
byte clk = 30;
int RXLED = 17;
void setup() {
 // put your setup code here, to run once:
pinMode(btn, INPUT);
pinMode(17, OUTPUT);
digitalWrite(btn, HIGH);
}
void loop() {
 // put your main code here, to run repeatedly:
while (digitalRead(btn) == HIGH);
 {
  delay(100);
 }
  Â
clock:
if(clk == 255)
 {
  delay(100);
 }
 else
  {
   clk--;
   Serial.println(clk);
   delay(1000);
  }
while (clk <= 5)
 {
  digitalWrite(RXLED, LOW);
  delay(100);
  digitalWrite(RXLED, HIGH);
  delay(100);
  goto clock;
 }
}
const int btn = 9;
byte clk = 30;
const int RXLED = 17;
unsigned long prevTime; prevBlinkTime;
unsigned long blinkInterval = 1000;
void setup() {
 Serial.begin(9600);
 pinMode(btn, INPUT_PULLUP);
 pinMode(RXLED, OUTPUT);
 digitalWrite(RXLED, LOW);
 // wait for button press to begin
 while (digitalRead(btn) == HIGH) {
  // do nothing
 }
 prevTime = millis();
 prevBlinkTime = millis();
 digitalWrite(RXLED, HIGH);
}
void loop() {
 unsigned long currentTime = millis();
 if ( currentTime - prevTime >= interval ) {
  prevTime = currentTime;
  clk--;
  Serial.println(clk);
  if ( clk == 5 ) {
   blinkInterval = 100;
  }
 }
 if ( clk == 0 ) {
  // all done, loop forever
  digitalWrite( RXLED, LOW);
  while (1);
 }
 if ( currentTime - prevBlinkTime >= blinkInterval ) {
  prevBlinkTime = currentTime;
  digitalWrite( RXLED, !digitalRead(RXLED));
 }
}