SD card data acquisition

The way I read the data sheet, I think that your sensor will put out .5v at 14.7 psi and 4.5 v at 150 psi. That calculates to a range of analog readings from 102 to 920 from 14.7 to 150 psi.

Rather than work out the math your self, I would use the map function to convert the readings to psi. map() does not return a float, so I would work with 10x the psi values and cast the result to a float.

See if this doesn't put the sensor in better agreement with the gage.

int sensorReading;
int psi;
float f_psi;

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);

}

void loop() {

  sensorReading = analogRead(A0);   // read the sensor voltage
  psi = map(sensorReading, 102, 920, 147, 1500);
  f_psi = (float)psi / 10.0;
  Serial.println(f_psi, 1);
  
  delay (1000);
}