ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

ایستگاه هواشناسی با Pico W و سنسور BME280

ابزار و گجت
۰ نظر
۹۳ نفر
کد ۳۱۳۴

تا حالا به یه سیستم مانیتورینگ از راه دور فکر کردی که بتونی دما، رطوبت و فشار هوای یه محیط رو از هر جایی، فقط با یه مرورگر ساده ببینی؟ تو این پروژه دقیقا همین کار رو با برد Raspberry Pi Pico W و سنسور BME280 انجام می‌دیم.

سنسور BME280 یکی از دقیق‌ترین و پرکاربردترین سنسورهای محیطیه که هم‌زمان دما، رطوبت نسبی و فشار هوا رو اندازه می‌گیره و از طریق رابط I2C به‌سادگی به میکروکنترلرها وصل می‌شه. با کمک قابلیت وای‌فای Pico W هم می‌تونیم این داده‌ها رو مستقیم روی یه وب‌سرور محلی نمایش بدیم، بدون نیاز به هیچ سرویس ابری یا نرم‌افزار اضافه.

تو این آموزش از آیسی‌مدار قدم‌به‌قدم می‌بینیم چطور سنسور BME280 رو به Pico W وصل می‌کنیم، کد پایتون میکرو رو آماده می‌کنیم و در نهایت یه وب‌سرور ساده می‌سازیم که مقادیر لحظه‌ای دما، رطوبت و فشار هوا رو نشون می‌ده. با هم بریم سراغ قطعات موردنیاز و شروع این پروژه کاربردی.

مرحله ۱

معرفی وب‌سرور Pico W با سنسور BME280

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

تو این آموزش یاد می‌گیریم چطور سنسور BME280 رو به Pico W وصل کنیم و مقادیر دما، رطوبت نسبی و فشار هوا رو روی یه وب‌سرور نمایش بدیم.

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

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

  1. برد Raspberry Pi Pico W
  2. سنسور BME280
  3. بردبورد
  4. سیم‌های رابط
مرحله ۲

آشنایی با برد Raspberry Pi Pico W

Raspberry Pi Pico W از نظر نسبت قیمت به کارایی گزینه خیلی خوبیه و قابلیت وای‌فای رو هم به این برد اضافه کرده. این برد همه ویژگی‌های Raspberry Pi Pico معمولی رو داره و علاوه بر اون، از تراشه بی‌سیم Infineon CYW43439 هم بهره می‌بره. این تراشه از شبکه بی‌سیم استاندارد IEEE 802.11 b/g/n و بلوتوث پشتیبانی می‌کنه.

البته در حال حاضر فقط قابلیت شبکه بی‌سیم روی Pico W فعاله و قابلیت‌های دیگه در آینده بهش اضافه می‌شن.

مرحله ۳

آشنایی با سنسور دما، رطوبت و فشار BME280

BME280 یه سنسور دیجیتال دما، رطوبت و فشار هواست که شرکت بوش اون رو تولید می‌کنه و نسخه بهبودیافته سنسورهایی مثل BMP180 و BMP085 به‌حساب میاد. این سنسور یه ماژول محیطی یکپارچه‌ست که رطوبت، فشار و دما رو اندازه می‌گیره و یه دید کامل و جامع از شرایط محیط در اختیارت می‌ذاره.

این ماژول از رابط دوسیمه I2C برای ارتباط استفاده می‌کنه. آدرس پیش‌فرض I2C این ماژول 0x76 هست که در صورت نیاز می‌تونی به 0x77 تغییرش بدی.

نقشه پین‌های سنسور

تصویر پایین پین‌های سنسور BME280 رو نشون می‌ده.

  • VCC بین 1.7 تا 3.6 ولت؛ به خروجی 3.3 ولت میکروکنترلر وصل کن
  • GND همون زمین مدار
  • SCL پین کلاک برای ارتباط I2C و SPI
  • SDA پین داده برای ارتباط I2C و SPI
  • CSB پین انتخاب تراشه؛ برای I2C در حالت پیش‌فرض HIGH و برای SPI باید LOW باشه
  • SDO خروجی داده برای SPI که در حالت I2C آدرس ماژول رو تعیین می‌کنه

ویژگی‌های کلیدی ماژول BME280

  • بازه دما از منفی 40 تا 85 درجه سانتی‌گراد
  • بازه رطوبت از صفر تا صد درصد
  • بازه فشار از 300 تا 1100 هکتوپاسکال
  • بازه ارتفاع‌سنجی تا حدود 30 هزار فوت
  • پشتیبانی از رابط I2C و SPI
  • ولتاژ کاری 3.3 ولت
مرحله ۴

اتصال Pico W به سنسور BME280

اتصالات این پروژه خیلی ساده‌ست. اول باید پین VIN رو به خروجی 3.3 ولت برد Pico W وصل کنی و GND رو هم به زمین مدار وصل کنی. بعد پین SCL رو به پین 17 (کلاک I2C) و پین SDA رو به پین 16 (داده I2C) روی Pico W وصل کن. نمودار سیم‌کشی که تو تصویر می‌بینی هم راهنمای کاملی برای این اتصالاته.

مرحله ۵

آماده‌سازی کد برنامه

برای برنامه‌نویسی سنسور BME280 با Pico W به چند کتابخانه نیاز داریم که کار رو خیلی ساده می‌کنن. با یه دستور ساده می‌تونیم دما، رطوبت نسبی، فشار هوا، نقطه شبنم و ارتفاع تقریبی رو بخونیم. کد این پروژه به دو بخش تقسیم می‌شه:

  1. فایل bme280.py
  2. فایل main.py

کد اصلی برای کار کردن به کتابخانه BME280 نیاز داره.

مرحله ۶

اندازه‌گیری دما، فشار و رطوبت با BME280

حالا که کتابخانه BME280 رو روی Pico نصب کردیم، می‌تونیم از توابع موجود توی این کتابخانه برای خوندن مقادیر سنسور استفاده کنیم؛ مثلا می‌تونی مقادیر فشار و دما رو با همین کتابخانه بخونی.

کد میکروپایتون برای BME280

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

مرحله ۷

نتیجه‌گیری

بعد از آپلود برنامه روی Raspberry Pi Pico، تو محیط شل نرم‌افزار Thonny آدرس آی‌پی که به برد تو شبکه محلی اختصاص داده شده نمایش داده می‌شه. برای دسترسی به وب‌سرور Pico W، کافیه مرورگر رو روی هر کامپیوتر، تبلت یا موبایلی که به همون شبکه وای‌فای وصله باز کنی، آدرس آی‌پی رو تو نوار آدرس وارد کنی و اینتر بزنی.

به محض دریافت درخواست، Pico W یه صفحه وب شامل مقادیر سنسور BME رو نمایش می‌ده. امیدواریم این پروژه رو با آیسی‌مدار خودت هم بسازی و تجربه‌تو تو بخش نظرات باهامون در میون بذاری.

فایل‌های پیوست

PY bme280.py

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!