Описание
модуль GY-BME280 датчики давления, влажности и температуры
ХАРАКТЕРИСТИКИ :
- Диапазон измерения давления: 300 – 1100 hPa (±1.0 hPa, 0 . . . 65 °C )
- Диапазон измерения температуры: от -40 до 85 °C ( ±0.5 °C)
- Диапазон измерения влажности: 0 — 100 % (20…80 %, 25 °C, ± 3%) в BMP280 отсутствует!
- Напряжение питания 3.3 В. Но в готовом модуле из Китая уже стоит стабилизатор и согласование уровней логики.
- Пиковое потребление 714 µA, в режиме сна 0.3 µA
- Время старта модуля: 2 ms
Датчик имеет три режима работы : Sleep mode, Forced mode, Normal mode.
- SLEEP – режим сна,
- FORCED – режим аналогичен BMP085 и BMP180. То есть, дали команду на измерение, подождали, считали значения, датчик перешел в спящий режим.
- NORMAL – этот режим наиболее интересен и загоняет датчик в циклическую работу. То есть, он самостоятельно через определенное время, которое можно задать, выходит из режима сна и выполняет измерения, сохраняет данные в регистры памяти и вновь засыпает на указанное время.
Более подробно все это написано в Datasheet(BMP280) и Datasheet(BME280).
ПОДКЛЮЧЕНИЕ, БИБЛИОТЕКА, КОД.
Готовая библиотека ( Adafruit_BMP280_Library ) GitHub и BME280c GitHub
Подключение к шине I2C (SCL и SDA контакты).
Схема подключения достаточно проста:
- VIN к контакту Arduino 3.3V или 5V
- GND к контакту Arduino GND
- SCK к контакту Arduino Nano SCL (A5)
- SDA к контакту Arduino Nano SDA (A4)
Тестовый скетч для BMP280 будет выглядеть так:
#include <Wire.h> #include <Adafruit_BMP280.h> #define BMP_SCK (13) #define BMP_MISO (12) #define BMP_MOSI (11) #define BMP_CS (10) Adafruit_BMP280 bmp; // I2C void setup() { Serial.begin(9600); Serial.println(F("BMP280 test")); if (!bmp.begin()) { Serial.println(F("Could not find a valid BMP280 sensor, check wiring!")); while (1); } /* Настройки по умолчанию */++ bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Режим работы */ Adafruit_BMP280::SAMPLING_X2, /* Температура передискретизация */ Adafruit_BMP280::SAMPLING_X16, /* Давление передискретизация */ Adafruit_BMP280::FILTER_X16, /* Фильрация. */ Adafruit_BMP280::STANDBY_MS_500); /* Интервал включения. */ } void loop() { Serial.print(F("Temperature = ")); Serial.print(bmp.readTemperature()); Serial.println(" *C"); Serial.print(F("Pressure = ")); Serial.print(bmp.readPressure()); Serial.println(" Pa"); Serial.print(F("Приблизительная высота= ")); Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */ Serial.println(" m"); Serial.println(); delay(2000); }
Отзывы
Отзывов пока нет.