Подключение BMP280 к Arduino

26-02-2020, 12:06 0 комментариев
Сегодня поговорим о том, как подключить датчик давления BMP280 к Ардуино, для чего он необходим, какие библиотеки и прошивки применяются для его работы. Мы уже рассматривали с вами подобные приборы – а именно цифровой барометр BMP180. Герой сегодняшнего обзора имеет определенное сходство с тем устройством, но больше всего – конечно же преимущества перед ним.

Этот метеодатчик активно внедряется в инженерные и конструкторские проекты, связанные с мобильными радиоуправляемыми гаджетами. Он имеет достаточно компактный размер, экономный режим энергопотребления, высокий уровень стабильности и точности измерения. Таким образом его можно эффективно использовать в полетных контроллерах различных радиоуправляемых летательных аппаратов (дронов, квадрокоптеров), в качестве высотомера, для сбора информации о погоде и т.д.

Разберем технические параметры модуля:
  • напряжение питания: 3 – 3,3 V;
  • измеряемое давление: 300-1100 гПа;
  • тип шины: I2C и SPI;
  • средний ток: 2,7 мкА;
  • диапазон рабочих температур: -40 - 65 С;
  • высотомер:   -500 ~ +9000 м.;
  • шаг контактов: 2,54 мм;
  • размеры: 2 х 2,5 х 0,95мм.
Датчик атмосферного давления содержит два мини-сенсора (собираются данные о температуре и давлении). Также он имеет несколько режимов работы – SLEEP (режим сна), FORCED (этапы измерений и считывания значений), NORMAL (автоматический режим проведения расчетов, вывод и сохранение данных).

Подключение BMP280 к Arduino через I2C

Электрическая схема выглядит следующим образом:

Для создания принципиальной схемы используем такие аппаратные компоненты: плата расширения Arduino Uno (или другие совместимые микроконтроллеры), модуль датчика давления, соединительные провода (комплект), плата расширения, USB-кабель для подключения к ноутбуку ∕ компьютеру.

Схематически наша конструкция выглядит вот так:

Для дальнейшей работы и ускоренного процесса программирования (прошивки) будем использовать специализированный софт, а именно библиотеки – Wire и SPI (для управления интерфейсами), Adafruit_Sensor, Adafruit_BMP280.

https://github.com/adafruit/Adafruit_Sensor
https://github.com/adafruit/Adafruit_BMP280_Library

Их можно скачать и просто добавить разархивированные файлы в среду разработки Ардуино IDE (одноименная папка libraries).

Заливаем скетч:
#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(F("Could not find a valid BMP280 sensor, check wiring!"));
    while (1);
  }
}
 
void loop() {
    Serial.print(F("Temperature = "));
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    
    Serial.print(F("Pressure = "));
    Serial.print(bme.readPressure());
    Serial.println(" Pa");
 
    Serial.print(F("Approx altitude = "));
    Serial.print(bme.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    Serial.println();
    delay(2000);
}
Результаты и нужные нам значения можно посмотреть в мониторе последовательного порта (Ctrl+Shift+M). Если информация не доступна, советуем еще раз пересмотреть правильность соединения всех элементов. Надеемся, вы справитесь! Удачи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Подключение BMP180 к Arduino – процесс не сложный, но вполне практичный. Если вы всерьез занимаетесь проектами на базе этой программной среды, считаете себя...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

Подключение BMP280 к ESP2866 позволит вам создать практичный и увлекательный проект, а именно – домашнюю метеостанцию. О подобных датчиках мы уже говорили,...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Оставить комментарий