اندازه گیری دما – فشار و ارتفاع از سطح دریا با ماژول BMP180 و آردوینو

اندازه گیری دما – فشار و ارتفاع از سطح دریا

در برخی پروژه های آردوینو لازم است که میزان دما، فشار و ارتفاع از سطح دریا را اندازه گیری کنیم. به طور حتم اگر بخواهیم از تجهیزات آماده بخصوص تجهیزات هواشناسی استفاده کنیم، باید هزینه زیادی را متحمل شویم و حتی در برخی موارد به دلیل آنکه نیاز داریم داده ها را پردازش کنیم و یا یک عملیات از پیش تعریف شده بر اساس داده های دریافتی اعمال کنیم، نمی توانیم از تجهیزات آماده در این زمینه استفاده کنیم چراکه تجهیزات اندازه گیری آماده و موجود در بازار نمی تواند نیاز و هدف اصلی ما را در آن پروژه برطرف سازد.

با توجه به مطالب گفته شده، در این پروژه از مبحث آموزش آردوینو هدف ما این است، با معرفی یک ماژول فشارسنج حرفه ای با اندازه بسیار کوچک و قیمت بسیار مناسب، علاوه بر آموزش ساخت دماسنج، نحوه اندازه گیری فشار و ارتفاع از سطح دریا را توسط برد آردوینو Arduino آموزش دهیم.

بعد قبل
اندازه گیری دما - فشار و ارتفاع از سطح دریا با ماژول BMP180 و آردوینو
اندازه گیری دما - فشار و ارتفاع از سطح دریا با ماژول BMP180 و آردوینو
اندازه گیری دما - فشار و ارتفاع از سطح دریا با ماژول BMP180 و آردوینو

اندازه گیری دما - فشار و ارتفاع از سطح دریا با ماژول BMP180 و آردوینو
بعد قبل

ماژول اندازه گیری دما، فشار و ارتفاع از سطح دریا BMP180

ماژول BMP180 در حقیقت یک ماژول فشارسنج حرفه ای در ابعاد کوچکتر از یک سکه می باشد که به شما این امکان را می دهد فشار هوا در بازه 300 الی 1100 هکتوپاسکال را با دقت 0.03hP/0.25m اندازه گیری کنید. همچنین توسط ماژول فشار سنج BMP180 می توانید ارتفاع منفی 500 متر پایین تر از سطح دریا الی مثبت 9000 متر بالاتر از سطح دریا را اندازه گیری کنید. صبر کنید، هنوز تمام نشده! این ماژول فوق العاده با اندازه کوچکش می تواند علاوه بر اندازه گیری فشار و اندازه ارتفاع از سطح دریا دمای هوا در محدوده منفی 40 درجه سانتی گراد الی مثبت 80 درجه سانتی گراد را نیز اندازه گیری کند.

ماژول فشارسنج BMP180 از پروتکل ارتباطی I2C برای ارتباط با سایر دستگاه ها استفاده می کند، همچنین این ماژول فشار سنج را می توان با ولتاژ 1.8 الی 3.6 ولت راه اندازی کرد، لازم به ذکر است جریان مصرفی این ماژول فشارسنج حیرت آور است، ماژول فشارسنج BMP180 در هر بار نمونه برداری تنها 5uA میکرو آمپر جریان مصرف می کند.

لیست قطعات مورد نیاز

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
ماژول فشار بارومتریک مدل GY-68 BMP1801 عدد
LCD کاراکتری مدل 16×2 با Backlighting آبی1 عدد
تک سوئیچ 2 پایه DIP سایز 6x6x5 میلیمتر1 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

توضیحات ساخت مدار پروژه

برای آزمایش مدار و شروع برنامه نویسی ابتدا لازم است سخت افزار پروژه بسته شود، به همین خاطر ابتدا طبق نقشه شماتیک زیر، ال.سی.دی کاراکتری و ماژول فشار سنج BMP180 را به برد آردوینو Arduino Uno اتصال دهید. همچنین در ادامه می توانید فیلم آموزشی و توضیحات بیشتری در رابطه با نحوه اتصال LCD کاراکتری و ماژول فشارسنج به برد آردوینو مشاهده کنید.

نحوه اتصال ماژول فشارسنج BMP180 و آردوینو

نحوه اتصال LCD کاراکتری به برد آردوینو

نحوه اتصال LCD کاراکتری به برد آردوینو

نحوه اتصال ماژول فشارسنج BMP180 به برد Arduino

ماژول فشار سنج BMP180 به صورت کلی دارای 4 پایه است، که در این پروژه برای اتصال آن به برد آردوینو کافی است طبق جدول زیر اتصالات را انجام دهید. همچنین لازم به ذکر است در این پروژه به دلیل اینکه از ارتباط I2C برای اتصال ماژول فشار سنج به برد آردوینو استفاده کرده ایم، در صورتیکه از سایر مدل های بردهای Arduino استفاده می کنید، تنها لازم است دو پایه SCL و SDA ماژول فشارسنج را به دو پایه SDA و SCL برد آردوینو خود متصل کنید.

نحوه اتصال ماژول فشارسنج BMP180 به برد Arduino

برنامه آردوینو در نرم افزار آردوینو

برای راه اندازی ماژول فشار سنج BMP180 ابتدا باید کتابخانه Adafruit_BMP085 را که پیوست فایل پروژه شده است را در نرم افزار Arduino نصب کنیم، سپس مطابق نمونه برنامه پایین آنرا در برنامه فراخوانی و ماژول فشارسنج را راه اندازی می کنیم. اگر با نحوه نصب کتابخانه در نرم افزار Arduino آشنا نیستید، نگران نباشید! می توانید در ادامه فیلم آموزشی ساخته شده برای راه اندازی این پروژه را مشاهده کنید.

نکته مهم در برنامه نویسی راه اندازی ماژول فشارسنج BMP180

در صورتیکه بعد از راه اندازی و آزمایش مدار، چنانچه مقدار نمایش داده شده برای کمیت ارتفاع از سطح دریا صحیح نبود، باید سنسور را به صورت دستی کالیبره کنید برای این منظور می توانید مراحل زیر را دنبال کنید.

1- ابتدا وارد سایت هواشناسی به آدرس www.accuweather.com/fa شوید.

2- پس از ورود به سایت ، در قسمت جستجوی سایت، استان و شهر محلی که اندازه گیری را در آنجا انجام می دهید را انتخاب کنید.

3- مقدار فشار در منطقه خود را کپی کنید و سپس در خط دهم برنامه در متغیر weather بجای عدد صفر بچسبانید.

ویدئو آموزش راه اندازی ماژول فشارسنج BMP180 با برد آردوینو

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 234 کیلوبایت

 محیط برنامه نویسی : Arduino (IDE)

 برنامه نویسی شده به زبان : ترکیبی از برنامه نویسی به زبان سی (C) یا سی پلاس پلاس (++C)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 23 می 2019

26 دیدگاه

  1. سلام خسته نباشید
    سایتی رو میشناسید که برد آردوینو رو به صورت کامل توضیح داده باشه؟
    آخه برای پایان نامه میخواستم و هر سایتی گشتم به صورت مختصر توضیخ داده بودن

  2. سلام دوست عزیز
    در همین سایت الکترونیک98 آموزش آردوینو به صورت پروژه محور و کاملا رایگان آموزش داده شده است که می توانید از آن استفاده کنید برای مشاهده آموزش ها بر روی لینک زیر کلیک کنید:
    توجه: برای مشاهده آموزش ها از جلسه اول بعد از باز کردن لینک زیر از صفحه آخر آن، شروع به مطالعه نمائید.

    آموزش پروژه محور آردوینو

  3. خیلی ممنون

  4. سلام خسته نباشید
    ببخشید برای ارائه پروژه برای پایان نامه اهداف پروژه و اینکه چرا به جای این ماژول از ماژول ۰۸۵ استفاده نشده و یا آی سی های مورد استفاده در آردوینو برای چی استفاده شده؟
    توی سایت و گوگل سرچ کردم به صورت کلی توضیح داده بودن و قطعات آردوینو رو توضیح ندادن
    ممنون میشم راهنماییم کنین

  5. پایان نامم هم نوشتم ولی استادم گیر داده بهش میشه بفرستم براتون تو ایمیل همراه با طرز نوشتنی که دانشگاه برامون فرستاده؟؟
    اگه بشه تصحیحش کنین یا اگه سایتی میدونین معرفی کنین

  6. سلام دوست عزیز
    متاسفانه در حال حاضر به دلیل ازدحام کار و نبود زمان، انجام درخواست شما از توان و زمان ما خارج است

  7. آیهان تمرزاده

    سلام
    میخواستم بدونم این ماژول فشار در چه بازه ای رو میتونه اندازه گیری بکنه؟
    ممنون

  8. سلام دوست عزیز
    ماژول BMP180 توانایی اندازه گیری فشار بین 300 تا 1100 هکتوپاسکال را دارد.
    جهت دریافت اطلاعات بیشتر می توانید دیتاشیت ماژول را مطالعه فرمائید.

  9. Amir Hossein Soleimani

    با سلام خدمت شما مهندس اکبری!
    ببخشید 2 سوال داشتم:
    1-برای اینکه وقتی دما به یک مقدار مشخص(برای مثال+60)رسید یکی از پایه های آردوینو 1 شود،باید کدام بخش از سورس کد را ویراش دهم؟(لطفا کمی راهنمایی کنید!)
    2-آیا می توان به جای استفاده از ماژول bmp180 از ماژول bmp280 استفاده کرد؟
    با تشکر!

  10. سلام دوست عزیز
    1- برای این موضوع باید در زیر برنامه loop() یک دستور شرطی قرار دهید که مثلا اگر دما بیشتر از 60 درجه شد یکی از خروجی های برد آردوینو را یک کند به عنوان مثال:

    می توانید کد بالا را پس از خط 73 برنامه دقیقا بالای دستور delay(500); قرار دهید. البته ابتدا باید پایه شماره 2 برد آردوینو را در زیر برنامه setup() توسط دستور زیر به عنوان خروجی تعریف کنید.

    2- برای یافت پاسخ، دیتاشیت ماژول bmp280 را با ماژول bmp180 مقایسه کنید.

  11. سلام علیکم ببخشید برای اینکه اطلاعات دما.فشار.ارتفاع از دریا را روی کارت حافظه هر یک ثانیه ثبت کنه باید چکار کرد

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.