Як підключити датчик 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);
}



В цій категорії немає товарів.