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

bmp280-rd

комплектация: модуль 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)

Подробнее

АКЦИЯ: БЕСПЛАТНАЯ ДОСТАВКА НОВОЙ ПОЧТОЙ(отделение-отделение)
В ЗАКАЗАХ от 799 грн,
при оплате на карту банка с 01 по 30 ноябра 2018г. В случае доставки наложенным платежом, доставка оплачивается только до покупателя, расходы по доставке средств, покупатель оплачивает самостоятельно.

За этот товар не начисляются бонусные баллы, т.к. по нему уже имеется скидка.


86,33 грн

-3%

89,00 грн

Описание

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 других товаров в этой категории:

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