ماژول فشارسنج دیجیتال BMP180 pressure sensor
ماژول فشار سنج با کد تجاری BMP180، یک ماژول بسیار مناسب جهت سنجش فشار با دقت 0.03 هکتوپاسکال است. این ماژول بسیار کوچک و سبک، انتخاب مناسب در پرژوه ها با محدودیت فضا و وزن است. خروجی این ماژول به صورت دیجیتال و از نوع I2C بوده و این مورد سبب افزایش دقت و کارایی نیز خواهد شد. ماژول فشار سنج BMP180 به سادگی با بردهای آردوینو،ESP و سایر میکروکنترلرهای دارای پورت I2C راه اندازی می شود. از دیگر قابلیت های این سنسور می توان به توانایی آن در اندازه گیری دما، اشاره کرد. این سنسور به صورت کالیبره شده عرضه گردیده و سنجش آن به صورت خطی و پایدار انجام می پذیرد. برای راه اندازی و کار با این سنسور، کتابخانه تحت آردوینو توسعه یافته است. ماژول فشارسنج دیجیتال BMP180 یک سنسور فشار بارومتریک دیجیتال است که توسط شرکت Bosch تولید شده است. این سنسور از اصلی ترین اجزای یک بارومتر سوئیچ می کند و با استفاده از تغییرات فشار جوی، فشار هوا را اندازه گیری می کند.این ماژول دارای خروجی دیجیتال است و از رابط I2C برای ارتباط با میکروکنترلر استفاده می کند. با استفاده از این ماژول، می توان فشار هوا را با دقت بالا اندازه گیری کرد و از آن برای کاربردهای مختلفی مانند اندازه گیری ارتفاع، پیش بینی آب و هوا، کنترل تهویه استفاده کرد.
مشخصات ماژول فشارسنج دیجیتال BMP180
- ولتاژ کاری 3.5 ولت
- ابعاد کوچک، وزن بسیار سبک
- دقت اندازه گیری 0.03 هکتوپاسکال
- سازگاری کامل با بردهای آردوینو و ESP
- بازه اندازه گیری 300 الی 1100 هکتو پاسکال
- خروجی دیجیتال و کالیبره شده تحت پروتکل I2C
- قابلیت اندازه گیری دما بین 0 الی 65 درجه سانتی گراد
بررسی پایه های ماژول BMP180
ماژول BMP180 دارای 3 پایه است که عبارتند از:
- VCC: پایه تغذیه ماژول که با ولتاژ ۳.۳ ولت تغذیه میشود.
- GND: پایه زمین ماژول.
- SDA: پایه ارتباط داده سریال داده I2C که برای انتقال داده ها استفاده میشود.
- SCL: پایه ساعت سریال داده I2C که برای هماهنگ سازی ارتباط از طریق SDA استفاده میشود.
به همراه ماژول BMP180 چه اقلامی باید خریداری شود؟
برای استفاده از ماژول BMP180 بهتر است یک میکروکنترلر یا برد توسعه مجهز به رابط I2C بخرید. با استفاده از این رابط، می توانید به راحتی با ماژول BMP180 ارتباط برقرار کرده و داده های فشار را خوانده و پردازش کنید.میکروکنترلرهایی مانند Arduino Uno، Arduino Nano، Raspberry Pi، ESP8266 و ESP32 از رابط I2C پشتیبانی می کنند و بسیاری از آنها دارای کتابخانه های آماده برای استفاده از ماژول BMP180 هستند. همچنین برخی از بردهای توسعه مانند STM32 و PIC از رابط I2C پشتیبانی می کنند و می توانند با این ماژول ارتباط برقرار کنند.لازم به ذکر است که برای استفاده از ماژول BMP180، نیاز به برنامه نویسی میکروکنترلر دارید تا بتوانید داده هایی که این ماژول ارائه می دهد را پردازش کنید.
راه اندازی سنسور BMP180 با آردوینو
این کد، از کتابخانه Adafruit_BMP085 استفاده می کند که می توانید آن را از مدیریت کتابخانه Arduino IDE نصب کنید. تابع setup، ارتباط سریال را مقداردهی اولیه می کند و بررسی می کند که آیا سنسور BMP085 به درستی متصل شده است یا خیر. تابع loop، داده های دما و فشار را از سنسور BMP180 با استفاده از متدهای readTemperature() و readPressure() کتابخانه Adafruit_BMP085 می خواند و سپس این داده ها را در مانیتور سریال چاپ می کند.شما می توانید این کد را به برد آردوینو خود بارگذاری کرده و مانیتور سریال را باز کرده تا داده های دما و فشار را از سنسور BMP180 مشاهده کنید.
#include <Wire.h>
#include <Adafruit_BMP085.h>
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() {
float temperature = bmp.readTemperature();
float pressure = bmp.readPressure() / 100.0F;
Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(pressure);
Serial.println(" hPa");
Serial.println();
delay(1000);
}
راه اندازی سنسور BMP180 با میکروپایتون و ESP32
این کد از ماژولهای machine و bmp180 استفاده میکند که کتابخانههای داخلی Micropython برای کار با برد ESP32 و سنسور BMP180 هستند. شی i2c با استفاده از کلاس machine.I2C با مشخص کردن پینهای SCL و SDA ساخته میشود. شی bmp با استفاده از کلاس bmp180.BMP180 با دادن شی i2c به عنوان آرگومان ساخته میشود.در حلقه اصلی، دادههای دما و فشار با استفاده از خصوصیتهای bmp.temperature و bmp.pressure از سنسور BMP180 خوانده میشوند و سپس با استفاده از تابع print() در کنسول چاپ میشوند. تابع time.sleep(1) برای انتظار 1 ثانیه بین خواندنها استفاده میشود.شما میتوانید این کد را به برد ESP32 خود بارگذاری کرده و کنسول را باز کنید تا دادههای دما و فشار را از سنسور BMP180 ببینید.
import machine
import bmp180
import time
# create I2C object
i2c = machine.I2C(0, scl=machine.Pin(21), sda=machine.Pin(20), freq=400000)
# create BMP180 object
bmp = bmp180.BMP180(i2c)
# main loop
while True:
# read temperature and pressure data
temp = bmp.temperature
pressure = bmp.pressure
# print data to console
print("Temperature: {:.2f} C".format(temp))
print("Pressure: {:.2f} Pa".format(pressure))
# wait for 1 second
time.sleep(1)
راه اندازی سنسور BMP180 با میکروپایتون و RP2040
ماژول machine برای دسترسی به سختافزار برد RP2040، از جمله رابط I2C استفاده میشود. ماژول bmp180 برای ارتباط با حسگر BMP180 استفاده میشود.شی I2C با استفاده از کلاس machine.I2C و مشخص کردن پینهای SCL و SDA ایجاد میشود. پارامتر freq، فرکانس اتصال I2C را به 400 کیلوهرتز تنظیم میکند.شی BMP180 با استفاده از کلاس bmp180.BMP180 و با ارسال شی I2C به عنوان آرگومان ایجاد میشود.در حلقه اصلی، دادههای دما و فشار با استفاده از ویژگیهای bmp.temperature و bmp.pressure به ترتیب از حسگر BMP180 خوانده میشوند.دادهها سپس با استفاده از تابع print() با رشته قالببندی "{:.2f} C" و "{:.2f} Pa" برای خواندن دما و فشار به ترتیب چاپ میشوند. فرمتدهی "{:.2f}" برای نمایش دادهها با 2 رقم اعشار استفاده میشود.تابع time.sleep(1) برای انتظار 1 ثانیه بین خواندن دادهها استفاده میشود.
import machine
import bmp180
import time
# create I2C object
i2c = machine.I2C(0, scl=machine.Pin(21), sda=machine.Pin(20), freq=400000)
# create BMP180 object
bmp = bmp180.BMP180(i2c)
# main loop
while True:
# read temperature and pressure data
temp = bmp.temperature
pressure = bmp.pressure
# print data to console
print("Temperature: {:.2f} C".format(temp))
print("Pressure: {:.2f} Pa".format(pressure))
# wait for 1 second
time.sleep(1)
کاربردهای ماژول فشارسنج دیجیتال BMP180 pressure
- افزایش دقت GPS
- سیستم های مسیریابی
- سیستم های هواشناسی
- اندازه گیری و ثبت ارتفاع
آموزش راه اندازی ماژول فشارسنج BMP180 آردوینو Arduino
ماژول فشارسنج BMP180 قابلیت سنجش فشارهای بارومتریک با دقت مناسب حدود ۰٫۰۳ هکتوپاسگال در بازهی ۰٫۳ تا ۱۰۰ کیلوپاسکال را دارا میباشد. این ماژول به صورت کالیبره شده عرضه می گردد و نکته ای که حائز اهمیت است این است که سنجش این سنسور به صورت خطی و پایدار انجام می پذیرد. این ماژول علاوه بر اندازه گیری فشار ، قابلیت اندازه گیری دما را دارا میباشد.
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- گاز و فشار سنج
- تعداد قطعات
- 7 عدد
- ابعاد فیبر
- 1 * 1.2 سانتی متر
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- حداکثر 3.5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دو رو متالیزه
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 4
- ترتیب پایه ها
- مطابق چاپ برد
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- I2C
- دقت اندازه گیری
- 0.03 هکتوپاسکال
- محدوده اندازه گیری
- 300 الی 1100 هکتو پاسکال برای فشار، 0 الی 65 درجه سانتی گراد برای دما
- خروجی
- فشار/دما
- پردازنده
- BMP180
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.