[Android] Barometer
Published in
2 min readFeb 27, 2014
Barometer คืออะไร
Barometer หรือ บารอมิเตอร์ เป็นอุปกรณ์สำหรับวัดความกดอากาศ (หรือความดันบรรยากาศ,ความดันอากาศ) การวัดค่าความกดอากาศ เป็นการวัดแรงที่เกิดจากความกดดันของอากาศ โดยใช้ของเหลวหรือของแข็ง ที่สัมผัสโดยตรงกับอากาศ ซึ่งแนวโน้นมการเปลี่ยนแปลงของความกดอากาศ จะสามารถนำไปทำนายการเปลี่ยนแปลงสภาพของอากาศในเวลาๆสั้นๆได้นั้นเอง
- หลักการ
อากาศมีความดันในทุกทิศทาง ความดันอากาศจะทำให้เกิดแรงดัน ที่ผลักวัสดุ เช่นน้ำ ปรอท หรือ สปริง ทำให้ระดับของเหลวหรือเข็มชี้เคลื่อนที่ ทำให้สามารถอ่านค่าได้ - โดยการวัดความดันอากาศ ในแต่ละช่วงวัน จะพบว่า แต่ละช่วงวัน ความดันอากาศไม่เท่ากัน
- โดยการวัดความดันอากาศ ในแต่ละระดับความสูงต่างๆกัน จะพบว่า ยิ่งสูงจากพื้นโลก ความดันอากาศยิ่งน้อยลง (ระดับของเหลวในท่อต่ำลง)
- ประเภทของ Barometer
มีอยู่ด้วยกัน 2 ประเภทใหญ่ๆ
- บารอมิเตอร์แบบปรอท (Mercury Barometer) เป็นบารอมิเตอร์แบบง่ายๆ ที่มีหลอดแก้วสูญญากาศ ปลายด้านหนึ่งเปิดจุ่มอยู่ในอ่างปรอท โดยที่ปรอทจะสูงขึ้นหรือต่ำลง ขึ้นอยู่กับความเปลี่ยนแปลงของความดันอากาศภายนอก ซึ่งความดันอากาศปกติที่ระดับน้ำทะเลวัดได้ 760 มิลลิเมตรปรอท (mmHg) หรือ 1,013 มิลลิบาร์ (mbar)
- แอนนิรอยด์บารอมิเตอร์ (Aneriod Barometer) ชนิดไม่ใช้ปรอทหรือของเหลวแบบอื่นๆ เป็นบารอมิเตอร์ที่จะทำเป็นตลับโลหะแล้วนำเอาอากาศออกจนเหลือน้อย (คล้ายจะทำให้เป็นสุญญากาศ) เมื่อมีแรงจากอากาศมากดตลับโลหะ จะทำให้ตลับโลหะมีการเคลื่อนไหว ทำให้เข็มที่ติดไว้กับตัวตลับชี้บอกความกดดันของอากาศโดยทำสเกลบอกระดับความ ดันของอากาศไว้ แอนนิรอยด์บารอมิเตอร์ประดิษฐ์โดยวีดี (Vidi) ในปี พ.ศ. 2388 มีขนาดเล็กพกพาไปได้สะดวก
- ความดันคืออะไร
ถ้าพูดในเรื่องฟิสิกส์ก็คือ ความดัน(P) คือ แรง (F) ที่กระทำต่อพื้นที่ (A)
[math] P = F/A [/math]
- หน่วยวัดบรรยากาศ
- 1 บรรยากาศ (atm) ≡ 1.013 25 บาร์
- 1 บรรยากาศ (atm) ≡ 101325 ปาสกาล (Pa)
- 1 บรรยากาศ (atm) ≡ 1013.25 มิลลิบาร์ (mbar)
- 1 บรรยากาศ (atm) ≡ 760 ทอร์
- 1 บรรยากาศ (atm) ≈ 760 มิลลิเมตรปรอท (mmHg) ที่ 0 °C
- 1 บรรยากาศ(atm) ≈ 76 เซนติเมตรปรอท (cmHg) ที่ 0 °C
การใช้งาน Barometer ใน Android
- MainActivity.java
package com.scuta.mybarometer;import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;public class MainActivity extends Activity implements SensorEventListener {private TextView myPressureValue;
private SensorManager mySensorManager;
private Sensor myPressureSensor;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);myPressureValue = (TextView) findViewById(R.id.pressure_textview);
mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
myPressureSensor = mySensorManager
.getDefaultSensor(Sensor.TYPE_PRESSURE);
}@Override
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
myPressureValue.setText("Pressure = "+x);
}@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {}@Override
protected void onResume() {
super.onResume();
mySensorManager.registerListener(this, myPressureSensor,
SensorManager.SENSOR_DELAY_NORMAL);
}@Override
protected void onPause() {
super.onPause();
mySensorManager.unregisterListener(this);
}}
- activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" ><TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Barometer" /><TextView
android:id="@+id/pressure_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pressure = " /></LinearLayout>อ้างอิงhttp://www.digikey.com/product-highlights/us/en/bosch-sensortec-digital-barometric-pressure-sensor/501
http://th.wikipedia.org/wiki/บารอมิเตอร์
http://th.wikipedia.org/wiki/ความดันบรรยากาศ
http://en.wikipedia.org/wiki/Pressure_sensor
http://www.myfirstbrain.com/student_view.aspx?ID=27505
http://www.il.mahidol.ac.th/e-media/ap-chemistry2/gases/web/link/pressure.htm