ویژگی های ماژول فشار بارومتریک BME280
ماژول سنسور فشار بارومتریک BOSCH BME280 با اندازه ی کوچک توانایی بسیار خوبی در اندازه گیری فشار دارد. BME280 یک سنسور فشار مطلق است که برای کاربردهای تلفن همراه طراحی شده است. اندازه ی کوچک و مصرف پایین انرژی به آن امکان تغذیه با باتری دستگاه هایی مانند موبایل، ماژول GPS یا ساعت را میدهد. BME280 بر اساس تکنولوژی سنسور فشار پیزومقاومتی ساخته شده و دارای دقت بالا، خروجی خطی و ثبات و ماندگاری بالاست.
در این آموزش نحوه راه اندازی این ماژول را با استفاده از ارتباط I2C، آموزش می دهیم.
دیتاشیت سنسور فشار بارومتریک BME280 را می توانید از اینجا دانلود کنید.
BME280 Module Datasheet
معرفی پایه ها (Pinout) ماژول فشار و ارتفاع BME280
ماژول BME280 دارای 10 پایه به شرح زیر است:
- +3V3: تغذیه ماژول – 3.3 ولت
- GND: زمین
- SLC: همزمان سازی برای پروتکل I2C
- SDA: اطلاعات برای پروتکل I2C
- SCK: همزمان سازی برای پروتکل SPI
- SDO: خط ارسالی اطلاعات برای پروتکل SPI
- SDI: خط دریافتی اطلاعات برای پروتکل SPI
- CS: انتخاب دستگاه های زیر مجموعه برای پروتکل SPI
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول فشار بارومتریک BME280 با آردوینو
گام اول: سیم بندی
گام دوم: کد
ابتدا کتابخانه زیر را بر آردوینوی خود نصب کنید.
توجه
اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.
/***************************************************************************
This is a library for the BME280 humidity, temperature & pressure sensor
Designed specifically to work with the Adafruit BME280 Breakout
----> http://www.adafruit.com/products/2650
These sensors use I2C or SPI to communicate, 2 or 4 pins are required
to interface. The device's I2C address is either 0x76 or 0x77.
Adafruit invests time and resources providing this open source code,
please support Adafruit andopen-source hardware by purchasing products
from Adafruit!
Written by Limor Fried & Kevin Townsend for Adafruit Industries.
BSD license, all text above must be included in any redistribution
See the LICENSE file for details.
***************************************************************************/
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI
unsigned long delayTime;
void setup() {
Serial.begin(9600);
while(!Serial); // time to get serial running
Serial.println(F("BME280 test"));
unsigned status;
// default settings
status = bme.begin();
// You can also pass in a Wire library object like &Wire2
// status = bme.begin(0x76, &Wire2)
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring, address, sensor ID!");
Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16);
Serial.print(" ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n");
Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n");
Serial.print(" ID of 0x60 represents a BME 280.\n");
Serial.print(" ID of 0x61 represents a BME 680.\n");
while (1) delay(10);
}
Serial.println("-- Default Test --");
delayTime = 1000;
Serial.println();
}
void loop() {
printValues();
delay(delayTime);
}
void printValues() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bme.readPressure() / 100.0F);
Serial.println(" hPa");
Serial.print("Approx. Altitude = ");
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" m");
Serial.print("Humidity = ");
Serial.print(bme.readHumidity());
Serial.println(" %");
}
پس از آپلود کد در سریال مانیتور چیزی شبیه به تصویر زیر را مشاهده می کنید.
Comments (2)
سلام میخواستم بدونم این ماژول برای راه اندازی یک ایستگاه هواشناسی و نصبش در باغ مناسب هست؟
و اگه برای حفاظت از ماژول در برابر اب و باران چه ایده ای دارید
سلام
بله مناسبه. برای محافظت از آب و باران می تونید ماژول رو همراه با آردینو داخل یک محفظه پلاستیکی شفاف قرار بدید. از یک lcd هم می تونید برای نمایش اطلاعات دریافتی ماژول استفاده کنید.