I am making a weather station using Arduino 2009
For my pressure sensor I chose a MPX4115.
It was the cheapest (AUD $17) accurate one I could find.
The data sheet is at:http://www.datasheetcatalog.org/datasheet/motorola/MPX4115.pdf
The air pressure range I wanted was 950 to 1070mb.
This equates to 95 to 107 kPa. Using Fig.4 from data sheet the output voltage will be 3.88 to 4.42v(nominal).
I use a LM3900 dc amplifier to amplify and shift the output voltage to 0 - 5.0v.
This uses the full range of the adc for the best accuracy available.
/* A simple air pressure sensor check program
The circuit uses one point calibration.
Adjust the pot to give the known atmospheric pressure.
1070 mb = 107 kpa = 802 mm Hg
const int analogpin = 0; // Analog input pin
Serial.begin(9600); // initialize serial communications at 9600 bps:
int adcvalue = analogRead(analogpin); // read the analog in value:
Serial.print("sensor = " );
Serial.print(adcvalue); // print the adc value to the serial monitor:
long pressure = 950 + adcvalue / 8.5; //convert it to milli bars
Serial.print("\t pressure = ");
Serial.print(pressure); // print the pressure
delay(1000); // wait 1 second before next sample
I calibrated the sensor using my Oregon scientific WMR 100.
This is the best I'm able to arrange. It is accurate enough for my use.
I have logged the data from the WMR 100 and my pressure sensor over some days and the result are within 2 mb over this time.
The sensor circuit and other files are at the site given below.