Начало работы с датчиком Bosch BMP180
Барометрические датчики давления Bosch BMP085 и BMP180 представляют собой два небольших датчика, которые могут измерять минимальные изменения атмосферного давления. Эти датчики, как и большинство барометрических датчиков давления, могут использоваться для наблюдения за погодой. Большое преимущество датчиков Bosch - они также достаточно чувствительны для измерения изменений высоты. Эта высокая чувствительность - это обоюдоострый меч; с дополнительной чувствительностью возникает дополнительный шум. В этом руководстве вы узнаете, как подключить брандмауэр Bosch BMP085 или BMP180, базовое программное обеспечение для запуска и программное обеспечение для улучшения данных, поступающих с датчика.
В этом руководстве показан один из способов использования этого сенсора с Arduino. Существует несколько совместимых с Arduino библиотек, которые можно использовать с этим датчиком, например:
- Библиотека Sparkfun BMP180
- Библиотека барометра Seed Studio
- Библиотека Adafruit BMP085
- Нет библиотеки вообще
В дополнение к большому разнообразию библиотек существует несколько плагинов, которые будут работать с этим руководством. К ним относятся:

- Seed Studio Grove - датчик барометра (BMP180)
- Барометрический датчик давления Adafruit BMP180
- Adafruit 10-DOF IMU Breakout
- Прорыв барометрического датчика SparkFun
- Бесчисленное множество других на Amazon и Ebay от $ 1.30
При выборе бортовой платы для BMP180 критическая спецификация заключается в том, может ли она работать при 5v или 3v. Если плата не совместима с 5v, потребуется отдельная проводка.
Необходимые детали:

- Arduino UNO (другие варианты, скорее всего, будут работать, но могут потребоваться небольшие изменения)
- Кабель USB для Arduino. (Скорее всего, тип B для Arduino UNO.)
- Проводные провода 4x для мужчин
- Малый макет
- 5v Совместимый датчик BMP180 (Adafruit 1604, используемый в этом проекте)
Необходимое программное обеспечение:
- Arduino IDE (версия 1.6.6, используемая здесь)
- Библиотека Adafruit BMP085 (Эскиз -> Включить библиотеку-> Управление библиотеками-> Поиск "BMP085")
- Файлы Arduino, используемые в этом учебнике (скачать ниже)
Инструкции:

- Подключите барометрический датчик давления к Arduino
- Прикрепите Vcc на плате проводов датчика до 5v на Arduino
- Для этого урока был использован красный соединительный провод
- Пожалуйста, убедитесь, что ваша доска для разговора совместима с 5v
- Присоедините GND на плате проводов датчика к GND на Arduino
Для этого учебника был использован коричневый соединительный провод
- Прикрепите SCL на доске до A5 на Arduino
Для этого урока был использован желтый провод
- Прикрепите SDA на планшет до A4 на Arduino
Для этого урока использовался белый провод.
- Провода должны выглядеть примерно так:
- Прикрепите Vcc на плате проводов датчика до 5v на Arduino

Загрузите приведенные ниже файлы.
Zip-файл Bosch Sensor
-
Откройте файл AAC_BMP180_Part1
- Это очень простая программа для считывания давления с датчика, преобразования его в высоту и отправки через последовательный порт компьютера.
- Ниже приведены данные за 1 минуту.

Как видно из данных графика, данные датчика колеблются. На следующем шаге мы сгладим данные, чтобы получить более последовательные результаты.
- Откройте файл: AAC_BMP180_Part2
- Эта программа содержит немного больше функциональности, чем предыдущая программа.
- Это занимает 1, 25 и 50 выборок данных и получает среднее значение.
- Затем данные отправляются на последовательный порт в формате.csv, поэтому его можно отобразить в Excel.
Глядя на диаграмму ниже, средний средний показатель 50 показан красным цветом, 25 выборочных средних показаны синим цветом, а сингулярный образец показан оранжевым:

Рассматривая данные, усредненные образцы показывают более последовательный результат.
Вывод
Как вы можете видеть, с небольшой базовой обработкой на барометрических датчиках давления Bosch данные могут быть улучшены. Эти более плавные данные могут обеспечить лучшие результаты во многих приложениях, таких как беспилотные самолеты или внутренние системы определения местоположения. Этот проект использовал простую скользящую среднюю, чтобы сгладить данные, но есть немало других алгоритмов сглаживания, таких как экспоненциальное сглаживание и сглаживание аддитивных свойств, которые могли бы достичь аналогичных результатов (или лучше!).
видео
Попробуйте этот проект сами! Получить спецификацию.