دائرة حساس الضغط الجوي - تفاصيل العمل والتوصيل

جرب أداة القضاء على المشاكل





في هذه المقالة سوف نستكشف ، ما هو مقياس الضغط الجوي وكيفية ربط مستشعر BMP180 البارومتري مع Arduino. سنستكشف أيضًا بعض مواصفاته المهمة ، وأخيراً سنتعلم كيفية التنبؤ بالطقس باستخدام القراءات البارومترية.

ما هو البارومتر؟

البارومتر هو أداة لقياس الضغط الجوي. الضغط الجوي هو مقدار القوة التي يمارسها الغلاف الجوي للأرض. يتغير الضغط الجوي للأرض من وقت لآخر ، ويمكن للتغير في الضغط الجوي التنبؤ بحالة الطقس على المدى القصير في المنطقة المحلية.



في العصر الحديث ، يمكننا الحصول على تنبؤات الطقس على أطراف أصابعنا عبر الهاتف الذكي والتلفزيون والراديو وما إلى ذلك. ولكن في الأيام الأولى ، حوالي القرن السابع عشر ، كانت توقعات الطقس تعتمد على مقياس الضغط الجوي ، والذي تم تصنيعه باستخدام عناصر كيميائية سامة مثل الزئبق.

كان البارومتر القائم على الزئبق أداة يدوية للعلماء للمزارعين. تنبأت بالطقس دقيقة إلى حد ما ، وساعدت العلماء على إجراء تجارب علمية على الغلاف الجوي ، ويعرف المزارعون متى يزرعون المحاصيل في الوقت المناسب.



في وقت لاحق تم اختراع مقياس الضغط الميكانيكي ، والذي لا يستخدم أي نوع من السوائل. لحسن الحظ ، نحن نعيش في عصر التكنولوجيا المتقدمة ، حيث أجهزة الاستشعار البارومترية غير مكلفة ولا يزيد حجمها عن حجم مسمار الإبهام.

رسم توضيحي لجهاز الاستشعار البارومتري:

الآن ، أنت تعرف ما هو مقياس الضغط الجوي وأين يتم استخدامه.

تحديد:

• يمكنه قياس ضغط يتراوح من 300hPa إلى 1100hPa (1hPa = 100Pa) ، 'Pa' تدل على Pascal و hPa تدل على هيكتوباسكال.
• درجة حرارة التشغيل من -40 إلى +85 درجة مئوية.
• قياس درجة حرارة تتراوح من 0 إلى 65 درجة مئوية.
• جهد التشغيل النموذجي 3.3 فولت.
• استهلاك الطاقة 5 ميكرو أمبير.
الآن ، دعنا نتعمق في مخطط الدائرة.

كيف تعمل


دائرة حساس الضغط الجوي

دائرة الاستشعار البارومترية BMP180 التي تستخدم Arduino بسيطة للغاية لأنها تستخدم ناقل i2C ، وهو عبارة عن اتصالين سلكيين. تستخدم الشريحة 3.3 فولت من Arduino من مصدر طاقة منظم على متن الطائرة. يمكنه قياس الضغط الجوي المحلي ودرجة الحرارة المحيطة.

النموذج الأولي للمؤلف:

تم تصميم البرنامج لحساب المعلمات الأخرى أيضًا مثل الضغط الجوي عند مستوى سطح البحر والارتفاع من مستوى سطح البحر ، والذي يمكننا مشاهدته من جهاز المراقبة التسلسلي لـ IDE.

قبل الغوص في جزء البرمجة ، قم بتنزيل ملف المكتبة من الرابط التالي: github.com/adafruit/Adafruit_BMP085_Unified.git وأضفه إلى مجلد مكتبة Arduino.

كود البرنامج:

//-----------Program by R.Girish----------------//
#include
#include
Adafruit_BMP085 bmp
void setup()
{
Serial.begin(9600)
if (!bmp.begin())
{
Serial.println('Could not find a valid BMP085 sensor, check wiring!')
while (1) {}
}
}
void loop()
{
Serial.print('Temperature = ')
Serial.print(bmp.readTemperature())
Serial.println(' *C')
Serial.print('Pressure = ')
Serial.print(bmp.readPressure())
Serial.println(' Pascal')
Serial.print('Altitude = ')
Serial.print(bmp.readAltitude())
Serial.println(' meters')
Serial.print('Pressure at sealevel (calculated) = ')
Serial.print(bmp.readSealevelPressure())
Serial.println(' Pascal')
Serial.print('Real altitude = ')
Serial.print(bmp.readAltitude(101500))
Serial.println(' meters')
Serial.println()
delay(10000)
}
//-----------Program by R.Girish----------------//

تم إنشاء ارتباط ملف المكتبة في الأصل من أجل BMP085 ، ولكنه متوافق مع BMP180.

ملاحظة: أثناء تجميع البرنامج ، يعطي IDE تحذيرًا ، يرجى تجاهله ، فالشفرة والمكتبة تعملان بشكل جيد.

كيف تتنبأ بالطقس؟

يتم قياس توقعات الطقس التي يتم بثها على التلفزيون وأجهزة الراديو من مستوى سطح البحر وليس الضغط الجوي المحلي ، وذلك لأن الارتفاع يمكن أن يؤثر على القراءة من موقع إلى آخر والقياس عند مستوى سطح البحر سيعطي قيمة قياسية عبر كل مقياس الضغط الجوي. لذلك ، نحن نركز على مستوى الضغط عند مستوى سطح البحر (محسوب) على الشاشة التسلسلية.

يستمر الضغط الجوي في التغير ولا يمكن الحصول على قيمة ثابتة. ولكن ، يمكن تحديد الطقس من خلال مراقبة القراءة في فترة زمنية معينة.

انظر إلى القراءات ولاحظها ، انتظر نصف ساعة ولاحظ القراءة مرة أخرى ، إذا ارتفعت القراءة ، فهذا يعني أن الطقس سيكون مشمسًا. إذا انخفضت القراءة ، فيمكننا التنبؤ بعاصفة أو مطر.

هذا هو نفسه في جميع البارومترات. كلما زاد الفرق بين القراءات الأولية والحالية ، زادت إمكانية تغير حالة الطقس.




السابق: كيفية إنشاء دائرة لوحة النتائج التي يتم التحكم فيها عن بعد التالي: دائرة قارئ RFID باستخدام Arduino