স্মার্টফোনে ব্যারোমিটার হল একটি MEMS সেন্সর যা উচ্চতা নির্ধারণ এবং আবহাওয়ার পূর্বাভাসের জন্য বায়ুমণ্ডলীয় চাপ পরিমাপ করে। আধুনিক ব্যারোমিটারগুলি 300 থেকে 1100 hPa পর্যন্ত 1 hPa নির্ভুলতার সাথে চাপ রেকর্ড করে, যা 1 মিটারের কম উচ্চতা ত্রুটির সাথে সামঞ্জস্যপূর্ণ। Bosch Sensortec BMP580, 2024 অনুসারে, আধুনিক চাপ সেন্সরগুলির পরম নির্ভুলতা ±0.5 hPa, যা 0.4 মিটার নির্ভুলতার সাথে উচ্চতা নির্ধারণের অনুমতি দেয়।
মূল পয়েন্ট
মোবাইল ফোনে ব্যারোমিটার হল MEMS প্রযুক্তি (মাইক্রো-ইলেক্ট্রো-মেকানিক্যাল সিস্টেম) ভিত্তিক একটি ক্ষুদ্র পরম চাপ সেন্সর। এটি হেক্টোপাস্কাল (hPa) এ বায়ুমণ্ডলীয় চাপ পরিমাপ করে, যা মিলিবারের সমতুল্য। ব্যারোমিটার সহ প্রথম ব্যাপক-বাজার স্মার্টফোন — Samsung Galaxy Note 2 (2012) — ফ্ল্যাগশিপ ডিভাইসে সেন্সর সংহতকরণের প্রবণতা শুরু করে।
বাজারের নেতারা হলেন Bosch Sensortec (BMP সিরিজ) এবং STMicroelectronics (LPS সিরিজ)। একটি সাধারণ BMP580 সেন্সর 2.0×2.0×0.7 মিমি পরিমাপ করে, নিম্ন-শক্তি মোডে 1.3 µA খরচ করে এবং 300–1250 hPa পরিসীমা রাখে। আপেক্ষিক নির্ভুলতা ±0.08 hPa, যা 0.7 মিটার উচ্চতা পরিবর্তন সনাক্ত করতে দেয়। BMP580 ডেটাশিট (2024) অনুসারে, শব্দের মাত্রা 0.2 Pa অতিক্রম করে না।
| প্যারামিটার | মান |
|---|---|
| পরিসীমা | 300–1250 hPa |
| পরম নির্ভুলতা | ±0.5 hPa |
| আপেক্ষিক নির্ভুলতা | ±0.08 hPa |
| শক্তি খরচ | 1.3 µA (নিম্ন শক্তি) |
| আকার | 2.0×2.0×0.7 মিমি |
| ইন্টারফেস | I²C / SPI |
প্রধান কাজ হল নেভিগেশনে উচ্চতা নির্ধারণ। মার্কিন যুক্তরাষ্ট্রে, ফেডারেল কমিউনিকেশন কমিশন (FCC) 2015 সাল থেকে স্মার্টফোনে ব্যারোমিটার লাগানোর সুপারিশ করে আসছে যাতে জরুরি 911 কলের সময় অবস্থান নির্ভুলতা উন্নত হয় — উল্লম্ব নির্ভুলতা বহুতল ভবনে জীবন বাঁচায়।
MEMS ব্যারোমিটারের কেন্দ্রে রয়েছে 1–3 মাইক্রন পুরু একটি সিলিকন ডায়াফ্রাম যা বায়ুমণ্ডলীয় চাপের নিচে বেঁকে যায়। ডায়াফ্রামটি একটি ভ্যাকুয়াম গহ্বর — একটি রেফারেন্স চাপ — এর সাথে সংহত। বিক্ষেপণ পরিমাপের জন্য ক্যাপাসিটিভ বা পাইজোরেসিস্টিভ পদ্ধতি ব্যবহার করা হয়।
ক্যাপাসিটিভ সেন্সরে (Bosch BMP), ডায়াফ্রামটি একটি চলমান ক্যাপাসিটর ইলেক্ট্রোড হিসাবে কাজ করে। যখন চাপ পরিবর্তিত হয়, ডায়াফ্রাম এবং স্থির ইলেক্ট্রোডের মধ্যে ফাঁক 0.1–1 ন্যানোমিটার পরিবর্তিত হয়, যার ফলে ক্যাপাসিট্যান্সে 5–50 fF পরিবর্তন হয়। একটি C/V রূপান্তর সার্কিট (ক্যাপাসিট্যান্স-টু-ভোল্টেজ) সংকেতকে 24-বিট ADC-র জন্য যথেষ্ট স্তরে প্রসারিত করে।
MEMS ব্যারোমিটারে একটি সংহত তাপমাত্রা সেন্সর থাকে, কারণ গ্যাসের চাপ সরাসরি তাপমাত্রার উপর নির্ভর করে P = ρRT নিয়ম অনুসারে। ক্ষতিপূরণ ছাড়া, 1 °C তাপমাত্রা পরিবর্তন 0.1 hPa ত্রুটি সৃষ্টি করে — যা 0.8 মিটার উচ্চতার সমতুল্য। আধুনিক সেন্সরগুলি OTP মেমোরিতে (ওয়ান-টাইম প্রোগ্রামেবল) সংরক্ষিত ক্রমাঙ্কন সহগ ব্যবহার করে -40 থেকে +85 °C পরিসরে ডিজিটাল সংশোধনের জন্য।
GPS স্যাটেলাইট সিগন্যাল ত্রিপক্ষণের ভিত্তিতে উচ্চতা নির্ধারণ করে — স্যাটেলাইট জ্যামিতি এবং আয়নোস্ফিয়ারিক বিলম্বের কারণে উল্লম্ব ত্রুটি 10–30 মিটার। ব্যারোমিটার ব্যারোমেট্রিক সূত্র ব্যবহার করে 0.5–1 মিটার নির্ভুলতার সাথে উচ্চতা প্রদান করে। সীমিত আকাশ দৃশ্য (শহুরে গিরিপথ, অভ্যন্তরীণ) সহ পরিস্থিতিতে, GPS উপলব্ধ নাও হতে পারে — ব্যারোমিটার সবসময় কাজ করে।
উচ্চতা সূত্র ব্যবহার করে গণনা করা হয়: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g)), যেখানে T₀ সমুদ্রপৃষ্ঠে তাপমাত্রা, L তাপমাত্রা গ্রেডিয়েন্ট, P মাপা চাপ, P₀ সমুদ্রপৃষ্ঠের চাপ। সরলীকৃত: 1 hPa চাপ পরিবর্তন নিম্ন উচ্চতায় প্রায় 8.4 মিটারের সাথে সামঞ্জস্যপূর্ণ। নির্ভুল গণনার জন্য P₀-এর জন্য আবহাওয়া স্টেশন ডেটা প্রয়োজন।
আধুনিক নেভিগেশন সিস্টেম (Google Maps, Yandex Maps) একটি হাইব্রিড অ্যালগরিদম ব্যবহার করে: GPS 15 মিটার ত্রুটির সাথে পরম উচ্চতা প্রদান করে, ব্যারোমিটার 0.5 মিটার নির্ভুলতার সাথে আপেক্ষিক পরিবর্তন প্রদান করে। একটি কালমান ফিল্টার উভয় সংকেত একত্রিত করে, রিয়েল টাইমে 1–3 মিটার নির্ভুলতার সাথে উচ্চতা আউটপুট করে।
data class BaroReading(
val pressure: Float,
val altitude: Float
)
private val P0_SEA_LEVEL = 1013.25f
fun calculateAltitude(pressure: Float): Float {
return SensorManager.getAltitude(
P0_SEA_LEVEL, pressure
)
}
fun calibratePressure(
gpsAltitude: Float, baroPressure: Float
): Float {
// GPS উচ্চতা দ্বারা P0 ক্রমাঙ্কন
val expectedPressure = P0_SEA_LEVEL *
Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
.toFloat()
return P0_SEA_LEVEL * baroPressure / expectedPressure
}
Android Sensor.TYPE_PRESSURE-এর মাধ্যমে ব্যারোমিটারে অ্যাক্সেস সরবরাহ করে। ডেটা হেক্টোপাস্কাল (hPa) এ ফেরত আসে, যা মিলিবারের সমতুল্য। সমুদ্রপৃষ্ঠে একটি সাধারণ মান প্রায় 1013.25 hPa। সেন্সরটি পরিবেশগত সেন্সর বিভাগের অন্তর্গত — এটির ব্যবহারকারীর ক্রমাঙ্কনের প্রয়োজন হয় না এবং আরম্ভের পরপরই কাজ করে।
ব্যারোমিটারের উচ্চ পোলিং হারের প্রয়োজন নেই — SENSOR_DELAY_UI (67 ms) বা SENSOR_DELAY_NORMAL (200 ms) সম্পূর্ণ যথেষ্ট। বায়ুমণ্ডলীয় চাপ ধীরে ধীরে পরিবর্তিত হয়, আবহাওয়া পরিবর্তনের সাথে সর্বোচ্চ 0.5–1 hPa প্রতি ঘন্টা বা লিফটে চলার সময় 1–2 hPa প্রতি মিনিট। অতিরিক্ত ফ্রিকোয়েন্সি কেবল ব্যাটারি নিষ্কাশন করে।
class BarometerActivity : AppCompatActivity() {
private val sensorManager by lazy {
getSystemService(SENSOR_SERVICE) as SensorManager
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val barometer = sensorManager
.getDefaultSensor(Sensor.TYPE_PRESSURE)
barometer?.let { sensor ->
sensorManager.registerListener(
this, sensor,
SensorManager.SENSOR_DELAY_NORMAL
)
}
}
override fun onSensorChanged(event: SensorEvent) {
val pressure = event.values[0]
val altitude = SensorManager
.getAltitude(1013.25f, pressure)
updateUI(pressure, altitude)
}
}
সব Android ডিভাইসে ব্যারোমিটার থাকে না — বাজেট মডেল এবং অনেক মিড-রেঞ্জ ডিভাইসে সেন্সর অনুপস্থিত। ব্যবহারের আগে, PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) এর মাধ্যমে বা sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) এর মাধ্যমে উপলব্ধতা পরীক্ষা করুন — null ফেরত আসা মানে সেন্সর অনুপস্থিত।
ব্যারোমিটার আবহাওয়াবিদ্যা থেকে শুরু করে ক্রীড়া ট্র্যাকার এবং অভ্যন্তরীণ নেভিগেশন পর্যন্ত বিস্তৃত অ্যাপ্লিকেশনে ব্যবহৃত হয়। WeatherPro অ্যাপ 24-ঘন্টার চাপ চার্ট তৈরির জন্য ব্যারোমিটার ডেটা ব্যবহার করে, যা 80% পর্যন্ত নির্ভুলতার সাথে 6–12 ঘন্টা আগে আবহাওয়া পরিবর্তনের পূর্বাভাস দিতে দেয়।
আবহাওয়া পরিবর্তনের সময়, বায়ুমণ্ডলীয় চাপ পরিবর্তিত হয় 6–12 ঘন্টায় 1–3 hPa পর্যন্ত। একটি অ্যান্টিসাইক্লোন (উচ্চ চাপ অঞ্চল) 1020–1040 hPa রিডিং দেয়, একটি ঘূর্ণিঝড় (নিম্ন চাপ) — 970–1010 hPa। উচ্চতা গণনা করার সময় এই পরিবর্তনগুলি বিবেচনা করা উচিত: যদি গতকাল সমুদ্রপৃষ্ঠের চাপ 1013 hPa ছিল এবং আজ 1025 hPa, তাহলে P₀ সংশোধন ছাড়া উচ্চতা নির্ধারণের ত্রুটি প্রায় মাইনাস 100 মিটার হবে। আধুনিক নেভিগেশন অ্যাপ ইন্টারনেটের মাধ্যমে নিকটস্থ আবহাওয়া স্টেশন থেকে রেফারেন্স চাপ P₀ পায়।
শপিং মল এবং বিমানবন্দরে, ব্যারোমিটার ব্যবহারকারী কোন তলায় আছে তা নির্ধারণ করতে ব্যবহৃত হয়। একটি সাধারণ ভবনের তলার মধ্যে চাপের পার্থক্য (তলার উচ্চতা 3–4 মিটার) 0.35–0.5 hPa — নির্ভরযোগ্য সনাক্তকরণের জন্য যথেষ্ট। ব্যারোমিটারকে Wi-Fi ত্রিপক্ষণের সাথে যুক্ত করে, অভ্যন্তরীণ নেভিগেশন 5 মিটার পর্যন্ত নির্ভুলতার সাথে অবস্থান নির্ধারণ করে।
জলরোধী ব্যারোমিটার এর একটি নতুন প্রজন্ম (Infineon DPS368, 2024) 10 মিটার পর্যন্ত নিমজ্জন সহ্য করে এবং ±0.05 hPa নির্ভুলতা রাখে। MEMS প্রযুক্তির বিকাশ ব্যারোমিটারকে কোয়ার্টজ মানের নির্ভুলতার কাছাকাছি নিয়ে আসছে — আশা করা হচ্ছে যে 2027 সালের মধ্যে সাধারণ ত্রুটি ±0.2 hPa এ হ্রাস পাবে।
সচরাচর জিজ্ঞাস্য
আপনি Google Play থেকে Sensor Test অ্যাপ ব্যবহার করে পরীক্ষা করতে পারেন। সমস্ত ফ্ল্যাগশিপ Samsung Galaxy S এবং Note স্মার্টফোন (S3 থেকে শুরু), Google Pixel (সব মডেল), iPhone 6 এবং নতুন মডেলে ব্যারোমিটার আছে। বাজেট মডেলে, সেন্সর সাধারণত অনুপস্থিত থাকে।
ব্যারোমেট্রিক সূত্র ব্যবহার করে: বায়ুমণ্ডলীয় চাপ উচ্চতার সাথে হ্রাস পায়। সমুদ্রপৃষ্ঠে, চাপ 1013.25 hPa, 500 মিটার উচ্চতায় — প্রায় 955 hPa। প্রতি 8.4 মিটার ওঠায় চাপ প্রায় 1 hPa কমে যায়। নির্ভুলতার জন্য, নিকটস্থ আবহাওয়া স্টেশন অনুসারে ক্রমাঙ্কন প্রয়োজন।
হ্যাঁ, আবহাওয়া স্টেশন অ্যাপে। 3 ঘন্টায় 3–5 hPa এর তীব্র চাপ পতন একটি আসন্ন ঘূর্ণিঝড় এবং আবহাওয়ার অবনতি নির্দেশ করে। চাপ বৃদ্ধি উন্নতির লক্ষণ। তবে, নির্ভুল পূর্বাভাসের জন্য আবহাওয়া সংক্রান্ত পরিষেবা ডেটা প্রয়োজন।
না — ক্রমাঙ্কন স্বয়ংক্রিয়ভাবে ঘটে। নির্মাতারা কারখানায় ক্রমাঙ্কন সহগ প্রোগ্রাম করে। তবে, আপনি যদি সমুদ্রপৃষ্ঠ থেকে 1000+ মিটার উচ্চতায় বাস করেন, তবে আরও নির্ভুলতার জন্য নেভিগেশন অ্যাপে রেফারেন্স চাপ সেট করা মূল্যবান।
SENSOR_DELAY_NORMAL (200 ms) সর্বোত্তম — বায়ুমণ্ডলীয় চাপ ধীরে ধীরে পরিবর্তিত হয়। লিফট গতি ট্র্যাক করার জন্য, 200 ms যথেষ্ট। অতিরিক্ত ফ্রিকোয়েন্সি (FASTEST) কোনো সুবিধা দেয় না তবে পাওয়ার খরচ 20–30% বাড়িয়ে দেয়।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন