ویژگی های ماژول سنسور دما و رطوبت و فشار هوا BME280
ماژول سنسور BME280 یک ماژول اندازه گیری دما، رطوبت و فشار هوای بسیار دقیق است. ویژگیهای این ماژول در زیر آورده شده است:
- بازه اندازه گیری دما 40- تا 80+ درجه سلیسیوس. با دقت اندازهگیری 1 درجه سلیسیوس در بازه ی 0 تا 65+ درجه و 5 درجه سلیسیوس در خارج از این بازه.
- بازه اندازهگیری رطوبت هوا در محدوده 0 تا 100%. با دقت اندازه گیری 3%.
- بازه اندازه گیری فشار هوا 330hPa تا 1100hPa. با دقت اندازه گیری 1hPa.
همچنین این ماژول ارتفاع از سطح دریا را به صورت غیرمستقیم با استفاده از فشار هوا، محاسبه میکند. پروتکل ارتباطی این سنسور میتواند SPI یا I2C باشد. ماژول استفاده شده در این آموزش دارای پروتکل ارتباطی I2C است.
معرفی پایه ها (Pinout) ماژول سنسور دما و رطوبت و فشار هوا BME280
ماژول سنسور دما و رطوبت و فشار هوا BME280 دارای 4 پایه به شرح زیر است:
- VCC: تغذیه ماژول –5 ولت
- GND: زمین
- SCL: پایه کلاک برای پروتکل I2C
- SDA: پایه دیتا برای پروتکل I2C
پین اوت (Pinout) این سنسور را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
Hardware Components
نرم افزارهای مورد نیاز
راه اندازی ماژول سنسور دما و رطوبت و فشار هوا BME280 با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: نصب کتابخانه
به Library manager رفته و کتابخانه های Adafruit BME280 Library و Adafruit Unified Sensor را نصب کنید.
توجه
اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.
گام سوم: کد
کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره Serial Monitor را باز کنید.
/*
modified on Jan 04, 2021
Modified by MehranMaleki from Arduino Examples
Home
*/
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme;
void setup() {
Serial.begin(9600);
if (!bme.begin(0x76)) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while(1);
}
}
void loop() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.write("\xC2\xB0"); //The Degree symbol
Serial.print("C");
Serial.print("\t Pressure = ");
Serial.print(bme.readPressure() / 100.0F);
Serial.print("hPa");
Serial.print("\t Altitude = ");
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.print("m");
Serial.print("\t Humidity = ");
Serial.print(bme.readHumidity());
Serial.println("%");
Serial.println();
delay(1000);
}
در کد بالا، اطلاعات دما، فشار هوا، ارتفاع تقریبی از سطح دریا و رطوبت در هر ثانیه از سنسور دریافت شده و در پنجره Serial Monitor نمایش داده میشود.
خروجی کد به شکل زیر است.