Общие сведения
Trema-модуль Барометр BMP180 — это цифровой модуль позволяющий получить текущие значения атмосферного давления и температуры окружающей среды. Еще одним применением данного модуля является определений высоты, которая зависит от давления и рассчитывается по международной барометрической формуле.
Характеристики
- Напряжение питания модуля: 3,3 или 5 В постоянного тока.
- Потребляемый ток: до 1 мА во время измерений (зависит от режима точности).
- Потребляемый ток: до 12 мкА в режиме ожидания.
- Измеряемое давление: от 30'000 до 110'000 Па (разрешение 1 Па, точность ±12 Па)
- Измеряемая температура: от 0 до +65 °C (разрешение 0,1°C, точность ±0,5 °C)
- Время преобразований: до 51 мс (зависит от режима точности)
- Рабочая частота шины I2C: до 3,4 МГц.
- Адрес датчика на шине I2C: 0x77.
- Подготовка к первому запуску после подачи питания: не менее 10 мс.
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Модуль подключается к Arduino через аппаратную шину I2C. Выводы шины I2C толерантны к напряжению 5 В.
Питание
Входное напряжение питания от 3,3 до 5,5 В постоянного тока, подаётся на выводы VIN и GND модуля.
Подробнее о модуле
Модуль GY-68 построен на базе чипа BMP180 (Bosch Module Pressure), который оснащён пьезорезистивным датчиком, термодатчиком, АЦП, памятью EEPROM и RAM, а так же микроконтроллером с поддержкой передачи данных по шинам I2C и SPI. В модуле реализована возможность передачи данных только по шине I2C, а чип BMP180 запитывается через линейный стабилизатор с падением напряжения до 250 мВ, что позволяет подключать модуль к источнику питания от 3,3 до 5,5 В постоянного тока. Чип BMP180 имеет меньшие габариты и лучшие характеристики по сравнению со своим предшественником BMP085. Но чип BMP280 имеет еще меньшие габариты и еще лучшие характеристики по сравнению с BMP180.
Для работы с модулями на базе чипов BMP180 и BMP280, нами разработана библиотека iarduino_Pressure_BMP позволяющая получать температуру, давление и высоту.
У нашей библиотеки есть ряд преимуществ:
- Можно заменять датчики BMP180 / BMP280 без изменения скетча и схемы включения;
- Можно выбирать режим точности показаний (значение передискретизации) и единицы измерения выводимого давления (Па или мм.рт.ст.);
- Для расчёта высоты не нужно указывать давление над уровнем моря, а достаточно указать любую начальную высоту в качестве аргумента функции begin([высота]). Если вы указали 0 метров (значение по умолчанию), то подняв модуль на 10 метров - получите результат +10, а опустив на 10 метров - получите результат -10. Если в качестве аргумента функции begin([высота]) указать текущую высоту над уровнем моря, то все остальные значения высоты будут соответствовать действительной высоте над уровнем моря. Уменьшая точность измерений Вы ускорите процесс получения результата.
Примеры
Вывод значений давления в мм.рт.ст. и в Па в монитор порта.
#include <iarduino_Pressure_BMP.h> // Подключаем библиотеку для работы с датчиками BMP180 или BMP280 iarduino_Pressure_BMP sensor; // Создаём объект sensor для работы с датчиком адрес которого на шине I2C установлен по умолчанию. void setup(){ Serial.begin(9600); delay(1000); sensor.begin(); // Инициируем работу с датчиком (начальная высота по умолчанию = 0 метров) } void loop (){ // Читаем показания (давление возвращается в мм.рт.ст.) if(sensor.read(1)) {Serial.println((String)"CEHCOP BMP" + sensor.type + ": \t P = " + sensor.pressure + "\tMM.PT.CT, \t T = " + sensor.temperature + " *C, \t\t B = "+sensor.altitude+" M.");} else {Serial.println("HET OTBETA OT CEHCOPA");} // Читаем показания (давление возвращается в Па) if(sensor.read(2)) {Serial.println((String)"CEHCOP BMP" + sensor.type + ": \t P = " + sensor.pressure + "\tPa, \t\t T = " + sensor.temperature + " *C, \t\t B = "+sensor.altitude+" M.");} else {Serial.println("HET OTBETA OT CEHCOPA");} delay(3000); // Ждём 3 секунды (не обязательно) }
Комплектация
- 1x Trema модуль - барометр;
- 1х четырёхпроводной шлейф шины I2C;