Модуль bmp280 i2c датчик давления и температуры module Pressure Новинка! SPI

bmp280

комплектация: модуль 1шт

описание ссылка на даташит, библиотека  и примеры кода в конце страницы

Предел измерений: 300 … 1100 hPa

Точность измерений при 25°С ±0.12 hPa,

Температурный диапазон -40 … +85 °C

интрерфейсы I²C (up to 3.4 MHz) SPI (3 and 4 wire, up to 10 MHz)

Подробнее

При покупке этого товара вы можете получить до 9 бонусных баллов. Сумма вашей покупки составит 9 баллов которые можно обменять на купон в 0,90 грн.


99,25 грн

Описание

bmp280

библиотека примеры

https://github.com/adafruit/Adafruit_BMP280_Library

https://github.com/BoschSensortec/BMP280_driver

источник avislab.com

BMP085 и BMP180 очень похожи между собой, даже библиотека от BMP085 подходит к BMP180. BMP280 на их фоне – это довольно заметный шаг вперед.

Первое, что сразу замечаешь, – размер корпуса датчика. Он существенно уменьшился. Его 8-контактный корпус имеет размеры 2×2.5мм и высоту 0.95мм. Это требует аккуратности и некоторого опыта при монтаже.

Датчик имеет интерфейсы I2C и SPI. (BMP085 имеет только I2C, BMP180 были модели с I2C или SPI). Я использовал только I2C.

Вообще, логика работы датчика осталась такой же, но претерпела некоторые долгожданные улучшения. Как и прежде, в начале работы надо считать с датчика коэффициенты (они уникальны для каждого экземпляра). Затем считывать показатели АЦП для температуры и давления и вычислять реальные значения температуры и давления по формулам, которые представлены в документации к датчику. У BMP280 существенно улучшили температурную стабильность и увеличили разрешение АЦП до 20 бит для температуры и давления.

BMP280 имеет три режима работы:

  • SLEEP – режим сна,
  • FORCED – режим аналогичен BMP085 и BMP180. То есть, дали команду на измерение, подождали, считали значения, датчик перешел в спящий режим.
  • NORMAL – этот режим наиболее интересен и загоняет датчик в циклическую работу. То есть, он самостоятельно через определенное время, которое можно задать, выходит из режима сна и выполняет измерения, сохраняет данные в регистры памяти и вновь засыпает на указанное время.

Для считывания данных с датчика теперь не нужно ждать завершения измерений. Кроме того, датчик имеет фильтр, который можно настраивать под свои задачи. Фильтр работает с учетом предыдущего значения. Его работа описывается следующей формулой:

bmp280_filter
Таким образом, для ваших конкретных задач, можно настроить программный фильтр и точность измерений с помощью следующих параметров:

  • OVERSAMPLING для температуры (16,17,18,19,20 бит)
  • OVERSAMPLING для давления (16,17,18,19,20 бит)
  • TSB – время ожидания датчика между измерениями (0.5,62.5,125,250,500,1000,2000,4000 мс)
  • FILTER_COEFFICIENT – коэффициент фильтра

Все эти изменения привели к таким улучшениям характеристик:

bmp180_bmp280

пример кода

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11
#define BMP_CS 10

Adafruit_BMP280 bme; //  работаем по шине I2C
//Adafruit_BMP280 bme(BMP_CS); // работаем по шине  hardware SPI
//Adafruit_BMP280 bme(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);
 
void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280 test"));
 
  if (!bme.begin()) {  
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}
 
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bme.readPressure());
    Serial.println(" Pa");

    Serial.print("Approx altitude = ");
    Serial.print(bme.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    Serial.println();
    delay(2000);
}

результат работы библиотеки

librariesBMP280examplesBMP280Test_Drotek

проверка работы bmp280 подключение к ардуино

Для перевода из pressure pa в наши привычные mmhg, необходимо Pressure/133.3 => 99541,66/133,3 = 746,7491372843

подключение

VCC +3.3v (питание)
GND GND (минус)
SDL SDL(i2c)
SDA SDA(i2c)
CSB(+3.3v) выбор работы по шине i2c

Внимание для работы по i2c интерфейсу читаем даташит 28 страница

т.е. необходимо подключить вывод CSB  на плюс(3.3в)

адрес 76!!(i2c_scan) BMP280 barometric pressure sensor, но не 77 как это прописано в библиотеке

например тут (#define BMP280_ADDRESS                (0x76) Adafruit_BMP280.h)

Interface selection
Interface selection is done automatically based on CSB (chip select) status. If CSB is connected  to  VDDIO ,  the  I²C interface  is  active.  If  CSB  is  pulled  down,  the  SPI  interface  is  activated. After CSB  has  been  pulled  down  once  (regardless  of  whether  any  clock cycle  occurred),  the  I²C  interface  is  disabled until  the  next  power

Сопутствующие товары



30 других товаров в этой категории:

Покупатели этого товара так же приобрели:

Скачать

GY-BMP280-3.3.rar

GY-BMP280-3.3.rar библиотека ардуино пример

Скачать (1.25M)