blink led without slowing down serial monitor

ok so i just started playing around with an ultrasonic sensor and i ran into a problem with the refresh rate.
so in this code i have an if else statement. when the uS number is less then 900 then the led 13 comes on and this all works but i want to blink the led when it is closer then 900. but when i do that it slows down the refresh rate of the serial monitor and the sensor. so i guess my question is "is there a way to get the led to blink without slowing the rate of the serial monitor and sensor."

code 1 without blink

// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     11  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
  pinMode(13, OUTPUT);

  
}

void loop() {
  delay(50);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
  Serial.print(uS);
  if (uS < 900)
{ digitalWrite(13, HIGH);

}
else { 
   digitalWrite(13, LOW);
}
  
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_IN); // Convert ping time to distance in cm and print result (0 = outside set distance range)
  Serial.println("in");
}

Code 2 with blink

// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     11  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
  pinMode(13, OUTPUT);

  
}

void loop() {
  delay(50);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
  Serial.print(uS);
  if (uS < 900)
{ digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(100);              // wait for a second

}
else { 
   digitalWrite(13, LOW);
}
  
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_IN); // Convert ping time to distance in cm and print result (0 = outside set distance range)
  Serial.println("in");
}

The below might be the basis of your issues.

 delay(50);

Delay(50) is not good, but delay 200 is worse.

  delay(100);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(100);              // wait for a second

Look at blink led without delay.

sonar.ping(); I think is also a blocking function, it provides time delays before the next function can run.

sonar.ping(); I think is also a blocking function, it provides time delays before the next function can run.

No. NewPing uses interrupts - no blocking.

The demo several things at a time illustrates - well, have a guess.

It is an extended example of BWoD.

...R