need help with subroutine

Why is distance a global variable? You would be much better off learning how to pass values to, and return values from functions.

#define LED 13

int IRpin = 1;
void setup()
{
   pinMode(LED, OUTPUT);                            //sets the digital pin as output
   Serial.begin(9600);                             // start the serial port
}
 
float measure() 
{
  float volts = analogRead(IRpin)*0.0048828125;   // value from sensor * (5/1024)
  float distance = 65*pow(volts, -1.10);          // worked out from graph 65 luckylarry.co.uk
  return distance;
}

void loop()
{
  float distance = measure();
  Serial.println("Dist = ");
  Serial.println(distance);
  Serial.println("end");
  if (distance < 30.00)
  {
    digitalWrite(LED, HIGH);
  }
  else
  {
    digitalWrite(LED, LOW);
  }
      
  delay(5000);

  digitalWrite(LED, LOW);
  
  delay(5000);    
}