我使用的是MPX4115a
有六隻腳,但用到的只有前三隻。第一隻腳上有一個小缺刻,可以用來辨識,
1.輸出電壓
2.GND
3.VCC,接5V
datasheet如下
http://www.farnell.com/datasheets/8723.pdf
可以量測15 to 115 kPa (2.2 to 16.7 psi),也就是0.15到1.13大氣壓,由於是用類比電壓來換算,所以解析度大約是9.9毫米水柱。換句話說,如果用來測水壓,誤差大概是一公分的水深。(舉例來說,如果想量20公分和21公分的水壓差異是沒辦法的,但是20公分和30公分是可以)
MPX4115a具有一個入氣孔,可以跟風管相連,把風管直接插入水中,就可以測量水壓了。
這有一段說明的影片
程式碼如下,為了讓波動的數據能平穩,所以收了100筆資料作平均再吐出來
void setup() {
Serial.begin(9600);
}
void loop(){
float pressure = readPressure(A0);
float gwcm2 = pressure*0.0102; //單位是每平方公分幾克重
float atm = pressure/101.325; //單位是atm
/*Serial.println();
Serial.print("Pressure = ");
Serial.print(pressure);
Serial.println(" pascals");
Serial.print("Pressure = ");
Serial.print(millibars);
Serial.println(" millibars");
*/
Serial.print("E");
Serial.println(atm);
delay(100);
}
/* Reads pressure from the given pin.
* Returns a value in Pascals
*/
float readPressure(int pin){
float sum=0;
for (int i=0; i < 100; i++){
int pressureValue = analogRead(pin);
float pressure=((pressureValue/1024.0)+0.095)/0.009;
sum=pressure+sum;
}
float MeanP=sum/100;
return MeanP;//單位是kPa
}