ماژول فشارسنج دیجیتال BMP085 یک سنسور فشار هوا دیجیتال است که توسط شرکت Bosch تولید می شود. این ماژول از فناوری میکرو الکترو مکانیکال سنسور (MEMS) برای اندازه گیری فشار هوا استفاده می کند.BMP085 قادر است فشار جوی را با دقت بالا اندازه گیری کند. همچنین این ماژول دارای قابلیت اندازه گیری دما نیز است. فشارسنج BMP085 برای استفاده در انواع پروژه ها و دستگاه های الکترونیکی که نیاز به اندازه گیری فشار هوا دارند، استفاده می شود.این ماژول از رابط ارتباطی سریال (Serial Interface) برای اتصال به میکروکنترلرها و سیستم های الکترونیکی استفاده می کند. داده های فشار و دما توسط BMP085 به صورت دیجیتال ارسال می شوند و میکروکنترلرها می توانند آنها را بخوانند و بر اساس آنها تصمیمات لازم را بگیرند.ماژول فشارسنج دیجیتال BMP085 از تکنولوژی میکرو الکترومکانیکال سنسور (MEMS) استفاده میکند. این سنسور فشار هوا را با دقت بالا اندازهگیری میکند و قادر است فشار جوی را با دقت تا 0.03 میلی بار اندازهگیری کند.علاوه بر اندازهگیری فشار، BMP085 همچنین دارای قابلیت اندازهگیری دما است. این ویژگی به کاربر امکان میدهد تا اطلاعات دمای محیط را همزمان با اندازهگیری فشار دریافت کند.BMP085 دارای رابط ارتباطی سریال است و از پروتکل I2C یا SPI برای ارتباط با میکروکنترلرها و سیستمهای الکترونیکی استفاده میکند. با اتصال BMP085 به میکروکنترلر، میتوانید دادههای فشار و دما را به صورت دیجیتال دریافت کنید و بر اساس آنها تصمیمگیری کنید.مزیت اصلی BMP085، دقت بالا و اندازهی کوچک آن است. این ماژول با ابعاد کوچک و مصرف برق پایین، مناسب برای استفاده در پروژههایی است که نیاز به اندازهگیری فشار هوا و دما دارند، اما فضای محدود و محدودیتهای مصرف برق را دارند.
مشخصات فنی ماژول فشارسنج دیجیتال BMP085 pressure sensor
ماژول BMP085 pressure sensor یک سنسور فشار دقیق و با دقت بالاست که با مصرف برق پایین و ابعاد کوچک مناسب برای استفاده در انواع پروژههای الکترونیکی است. با استفاده از رابط ارتباطی مورد نیاز، میتوانید دادههای فشار و دما را به صورت دیجیتال دریافت و تحلیل کنید.مشخصات فنی ماژول فشارسنج دیجیتال BMP085 pressure sensor عبارتند از:
دقت فشار:
- حداکثر دقت: 0.03 میلی بار
- رزولوشن: 1 پاسکال
محدوده فشار:
- فشار جوی: 300 تا 1100 هکتوپاسکال (hPa)
دقت دما:
- حداکثر دقت: ±0.1 درجه سانتیگراد
محدوده دما:
- دمای عملکرد: -40 تا +85 درجه سانتیگراد
ولتاژ تغذیه:
- ولتاژ کاری: 1.8 تا 3.6 ولت
رابط ارتباطی:
- پشتیبانی از پروتکل I2C و SPI
مصرف برق:
مصرف برق در حالت فعال: تقریباً 5 میلی آمپر
مصرف برق در حالت استندبای: تقریباً 0.1 میکرو آمپر
بررسی پایه های ماژول فشارسنج دیجیتال BMP085 pressure sensor
ماژول فشارسنج دیجیتال BMP085 pressure sensor دارای 8 پایه است.
- VCC: این پایه برای تغذیه ماژول استفاده میشود. ولتاژ تغذیه ماژول باید در محدوده 1.8 تا 3.6 ولت باشد و به این پایه متصل میشود.
- GND: این پایه به منظور اتصال به منبع زمین استفاده میشود و باید به زمین میکروکنترلر یا سیستم الکترونیکی متصل شود.
- SDA: این پایه برای ارتباط با میکروکنترلر از طریق پروتکل I2C استفاده میشود. دادههای فشار و دما به صورت دیجیتال از طریق این پایه ارسال و دریافت میشوند.
- SCL: این پایه همچنین برای ارتباط با میکروکنترلر از طریق پروتکل I2C استفاده میشود. این پایه برای هماهنگی سیگنالها و تعیین سرعت ارتباط استفاده میشود.
- XCLR: این پایه مربوط به ریست ماژول است. با اعمال یک سیگنال Low به این پایه، میتوان ماژول را بازنشانی کرده و به حالت اولیه بازگرداند.
- EOC: این پایه نشانگر پایان تبدیل داده است. وقتی ماژول به پایان تبدیل داده برسد، سیگنال EOC به سطح High میرسد و میتوانید دادههای اندازهگیری شده را بخوانید.
- XDA: این پایه یک خروجی اختیاری است که در حالت SPI برای ارتباط با میکروکنترلر استفاده میشود.
- XCL: این پایه همچنین یک خروجی اختیاری است که در حالت SPI برای ارتباط با میکروکنترلر استفاده میشود.
به همراه ماژول BMP085 چه اقلامی باید خریداری شود؟
- برد آردوینو یا ESP
- نمایشگر OLED
- کابل فلت
- برد بورد
راه اندازی ماژول BMP085 با آردوینو
در این کد با استفاده از کتابخانه Adafruit_BMP085 ارتباط با ماژول سنسور فشار BMP085 را برقرار میکند و دما و فشار را از آن دریافت میکند و در مانیتور سریال نمایش میدهد.بطور کلی، کد فوق با استفاده از کتابخانه Adafruit_BMP085 ارتباط با ماژول سنسور فشار BMP085 را برقرار میکند و دما و فشار را از آن دریافت میکند و در مانیتور سریال نمایش میدهد.
#include <Wire.h> و #include <Adafruit_BMP085.h>: این خطوط کتابخانههای مورد نیاز برای ارتباط با سنسور BMP085 را فراخوانی میکنند.
Adafruit_BMP085 bmp;: این دستور یک شیء از کلاس Adafruit_BMP085 ایجاد میکند با نام bmp برای برقراری ارتباط با سنسور BMP085.
void setup(): تابع setup برای انجام تنظیمات اولیه قبل از شروع اجرای کد است. در این تابع:
Serial.begin(9600);: شروع ارتباط سریال با سرعت 9600 بیت در ثانیه.
if (!bmp.begin()) { ... }: بررسی اتصال و شناسایی سنسور BMP085. در صورتی که سنسور شناسایی نشود، پیام خطا چاپ میشود و برنامه در این نقطه توقف میکند.
void loop(): تابع loop برای اجرای دورهای و مداوم کد است. در این تابع:
float temperature = bmp.readTemperature();: خواندن دما از سنسور و ذخیره آن در متغیر temperature.
float pressure = bmp.readPressure();: خواندن فشار از سنسور و ذخیره آن در متغیر pressure.
Serial.print("دما: "); و سایر خطوط Serial.print(): نمایش دما و فشار در مانیتور سریال. Serial.print() برای چاپ مقادیر به همراه نوع واحد مورد نظر استفاده میشود.
delay(1000);: تاخیر یک ثانیه قبل از تکرار دوباره حلقه loop.
با اجرای این کد، دما و فشار از سنسور BMP085 خوانده میشود و به صورت متوالی در مانیتور سریال نمایش داده میشود.
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("امکان شناسایی سنسور BMP085 وجود ندارد. لطفاً اتصالات را بررسی کنید!");
while (1);
}
}
void loop() {
float temperature = bmp.readTemperature(); // درجه سانتیگراد
float pressure = bmp.readPressure(); // فشار در پاسکال
Serial.print("دما: ");
Serial.print(temperature);
Serial.print(" درجه سانتیگراد");
Serial.print(" فشار: ");
Serial.print(pressure/100); // تبدیل فشار به هکتوپاسکال (hPa)
Serial.println(" هکتوپاسکال");
delay(1000); // تاخیر یک ثانیه
}
راه اندازی ماژول BMP085 با میکروپایتون
کد MicroPython فوق برای ارتباط با ماژول سنسور فشار BMP085 طراحی شده است.
from machine import Pin, I2C: این خطوط کتابخانههای مورد نیاز برای استفاده از I2C و Pin در MicroPython را فراخوانی میکنند.
from bmp085 import BMP085: این خط کتابخانه bmp085 را فراخوانی میکند که ماژول درایور BMP085 را در اختیار قرار میدهد.
i2c = I2C(scl=Pin(5), sda=Pin(4)): این دستور یک شیء I2C جدید را ایجاد میکند و پایههای SCL و SDA را به آن متصل میکند. پایه SCL به پین 5 و پایه SDA به پین 4 متصل شده است.
bmp = BMP085(i2c=i2c): این دستور یک شیء از کلاس BMP085 را با استفاده از شیء I2C ایجاد میکند.
while True:: حلقه بینهایت برای خواندن مداوم دما و فشار از سنسور.
temperature = bmp.temperature: خواندن دما از سنسور و ذخیره آن در متغیر temperature.
pressure = bmp.pressure: خواندن فشار از سنسور و ذخیره آن در متغیر pressure.
print("Temperature: {}°C".format(temperature)): نمایش دما در مانیتور سریال به همراه واحد درجه سانتیگراد.
print("Pressure: {} hPa".format(pressure / 100)): نمایش فشار در مانیتور سریال به همراه واحد هکتوپاسکال (hPa) با تبدیل فشار از پاسکال به هکتوپاسکال.
utime.sleep(1): تاخیر یک ثانیه قبل از تکرار دوباره حلقه while.
با اجرای این کد، دما و فشار از سنسور BMP085 خوانده میشود و به صورت متوالی در مانیتور سریال نمایش داده میشود.
from machine import Pin, I2C
from bmp085 import BMP085
i2c = I2C(scl=Pin(5), sda=Pin(4)) # Configure I2C communication
bmp = BMP085(i2c=i2c)
while True:
temperature = bmp.temperature # Read temperature in degrees Celsius
pressure = bmp.pressure # Read pressure in Pascals
print("Temperature: {}°C".format(temperature))
print("Pressure: {} hPa".format(pressure / 100)) # Convert pressure to hectopascals (hPa)
utime.sleep(1) # Wait for a second
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- گاز و فشار سنج
- تعداد قطعات
- 7 عدد
- ابعاد فیبر
- 2 * 1.5 سانتی متر
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- حداکثر 3.5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دو رو متالیزه
- توان
- با دقت 0.03 هکتوپاسکال
- ظرفیت
- سنجش فشار در محدوده 300 تا 1100 هکتوپاسکال
- چاپ مس
- دارای چاپ آبی
- اقلام همراه محصول
- 6 عدد پین هدر نری
- سازنده
- arduino
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.