Описание
модуль GY-BME280 датчики давления, влажности и температуры
ХАРАКТЕРИСТИКИ :
- Диапазон измерения давления: 300 – 1100 hPa (±1.0 hPa, 0 . . . 65 °C )
- Диапазон измерения температуры: от -40 до 85 °C ( ±0.5 °C)
- Влажность не меряет!!!
- Напряжение питания 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);
}





Отзывы
Отзывов пока нет.