Как подключить датчик BMP280 к Arduino UNO?

Как подключить датчик BMP280 к Arduino UNO?


BMP280 — это цифровой датчик от Bosch Sensortec позволяющий получить текущие значения атмосферного давления и температуры окружающей среды. Этот датчик специально разработан для мобильных приложений, где малый размер и низкое энергопотребление очень важны. В данной статьи увидим, как подключить датчик атмосферного давления BMP280 к Arduino по I2C и SPI, какие библиотеки установить и приведём несколько примеров скетчей.
BMP280 основан на технологии пьезорезистивного датчика давления, обладающей высокой точностью, линейностью и стабильностью с устойчивостью к электромагнитной совместимости.
BMP280 можно использоваться в различных приложениях, таких как улучшение систем навигации с GPS приемником, внутренняя навигация, таких как обнаружение пола и обнаружение лифта, наружная навигация, спортивные приложения, прогноз погоды и т. д. Еще одним применением данного модуля является определений высоты, которая зависит от давления и рассчитывается по международной барометрической формуле.

Чтобы начать считывать данные с датчиков, вам необходимо установить библиотеку Adafruit_BMP280 (код в репозитории github). Она доступна в менеджере библиотек Arduino, поэтому рекомендуется его использовать.

Землю с Ардуино нужно соединить с землей на датчике, Uп = 3.3 В — на контакт 3.3 В, SDA — к пину А4, SCL — к А5. Контакты А4 и А5 выбираются с учетом их поддержки интерфейса I2C.

Схема подключения:


Пример тестовой прошивки можно скопировать в Arduino IDE:

#include <Adafruit_BMP280.h>
 
Adafruit_BMP280 bmp280;
 
void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280"));
 
  while (!bmp280.begin(BMP280_ADDRESS - 1)) {
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    delay(2000);
  }
}
 
void loop() {
  float temperature = bmp280.readTemperature();
  float pressure = bmp280.readPressure();
  float altitude = bmp280.readAltitude(1013.25);
 
  Serial.print(F("Temperature = "));
  Serial.print(temperature);
  Serial.println(" *C");
 
  Serial.print(F("Pressure = "));
  Serial.print(pressure);
  Serial.println(" Pa");
 
  Serial.print(F("Altitude = "));
  Serial.print(altitude);
  Serial.println(" m");
 
  Serial.println();
  delay(2000);
}




В данной категории нет товаров.