Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail

    info@3d-diy.ru — отдел продаж

    support@3d-diy.ru — тех. поддержка

    Адрес
    Москва, Павловская улица, 27с7
    м. Тульская
    Режим работы
    пн – пт 11:00—19:00
    8.05 – 11.05 не работаем
    3DIY
    3D принтеры
    Материалы для 3D печати
    Комплектующие 3D принтера
    Arduino и робототехника
    Комплектующие ЧПУ станка
    Инструменты
    Запчасти для 3D принтеров по брендам
    Товары снятые с продажи
    • 3D принтеры
      • Печать пластиком (FDM/FFF)
        Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
        Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
        Печать воском (MJP)
      • Для дома
        Для дома
      • Для бизнеса
        Для бизнеса
      • Для производства
        Для производства
      • Наборы для сборки
        Наборы для сборки
      • Промышленные
        Промышленные
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Материалы для 3D печати
      • Пластики
        Пластики
        • ABS
        • PLA
        • PETG
        • HIPS
        • PVA
        • FLEX (TPU)
        • Nylon/PA (Нейлон)
        • PC (Поликарбонат)
        • PEEK
        • POM (Полиацеталь)
        • PP (Полипропилен)
        • Резина
        • Стеклонаполненные
        • Термочувствительные
        • Угленаполненные
        • SBS
        • Светящиеся
        • Металлические
        • Спец. пластик
        • Пластик для 3D ручек
      • Фотополимеры
        Фотополимеры
        • Стандартные
        • ABS-типа
        • Гибкие
        • Водосмываемые
        • Выжигаемые
        • Инженерные
        • Стоматологические
        • Для хобби
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Комплектующие 3D принтера
      • Электроника
        Электроника
        • Платы управления
        • Шаговые двигатели (ШД)
        • Драйверы ШД 3D принтеров
        • Драйверы шаговых двигателей ЧПУ
        • Дисплеи
        • Датчики и модули
        • Блоки питания
        • Реле
        • Концевые выключатели
        • Вентиляторы      
          • Вентиляторы осевые
          • Вентиляторы радиальные (улитки)
          • Решетки и фильтры для вентиляторов
        • Провода, кабели и разъемы
      • Механика
        Механика
        • Зубчатые шкивы
        • Зубчатые ремни
        • Трапецеидальные винт-гайки
        • Шарико-винтовые передачи (ШВП)      
          • Гайки ШВП
          • Модули крепления гаек ШВП
          • Обратотанные ШВП
          • Опоры ШВП
        • Соединительные муфты
        • Ролики для зубчатых ремней
        • Цилиндрические направляющие
        • Рельсовые направляющие      
          • Профильные направляющие HIWIN
          • Профильные направляющие КИТАЙ
        • Держатели вала
        • Корпусные детали      
          • Корпуса
          • Апгрейды
          • Комплектующие для корпусов
        • Запчасти OpenBuilds
        • Подшипники качения
        • Пружины
      • Нагревательные столы и сопутствующие
        Нагревательные столы и сопутствующие
        • Нагревательные платформы
        • PEI пластины
        • Стекла и Зеркала
        • Теплоизоляция
        • Основания для столов
        • Силиконовые проставки (пружины)
        • Термисторы
        • Зажимы-фиксаторы
        • Пружины
      • Экструдеры
        Экструдеры
        • Экструдеры и механизмы подачи
        • Хотэнды
        • Сопла
        • Термобарьеры
        • Термисторы
        • Нагревательные блоки
        • Теплоизоляция нагревательных блоков
        • Тефлоновые трубки
        • Радиаторы
        • Нагревательные элементы
        • Шестерни
        • Фитинги
        • Сопутствующие товары
      • Сушилки для пластика
        Сушилки для пластика
      • УФ-камеры
        УФ-камеры
      • Мойки
        Мойки
      • Ультразвуковые ванны (мойки)
        Ультразвуковые ванны (мойки)
      • 3D ручки
        3D ручки
      • 3D-сканеры
        3D-сканеры
      • Расходные материалы для SLA / LCD
        Расходные материалы для SLA / LCD
      • Сопутствующие
        Сопутствующие
      • Наборы для мейкеров
        Наборы для мейкеров
      • Инструменты для 3D печатника
        Инструменты для 3D печатника
      • Постобработка
        Постобработка
      • Адгезивы
        Адгезивы
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Arduino и робототехника
      • Arduino
        Arduino
      • Raspberry Pi
        Raspberry Pi
        • Микрокомпьютеры
        • Дисплеи      
          • TFT-LCD дисплеи Raspberry Pi
          • IPS-LCD дисплеи Raspberry Pi
          • AMOLED дисплеи Raspberry Pi
        • Корпуса
        • Шилды
        • Камеры
        • Питание
        • Охлаждение
      • Обучающие наборы
        Обучающие наборы
      • Orange Pi
        Orange Pi
      • Одноплатники
        Одноплатники
      • Модули
        Модули
        • Платы расширения
        • Беспроводные модули
        • Интерфейсы
        • Релейные модули
        • Преобразователи питания
        • Лазерные модули
        • Аудио
        • Видео
        • Клавиатура
        • Драйверы моторов
        • Измерительные
        • Другие
      • Датчики
        Датчики
        • Аудио
        • Газа
        • Инфракрасные
        • Климатические
        • Жидкостные
        • Механического воздействия
        • Положения (акселерометры/компасы/гироскопы)
        • Пространства
        • Света и цвета
        • Тактильные
        • Тока и напряжения
      • Дисплеи
        Дисплеи
        • TFT-LCD дисплеи
        • STN-LCD дисплеи
        • LED дисплеи
        • OLED дисплеи
        • Дисплеи DWIN
        • E-Paper дисплеи
      • Механика
        Механика
        • Колёса
        • Коллекторные двигатели
        • Сервоприводы
        • Шаговые двигатели
        • Другие
        • Линейные актуаторы (приводы)
      • Макетные платы
        Макетные платы
      • Светодиоды
        Светодиоды
        • Светодиодные кольца
        • Светодиодные матрицы
        • Сегментные индикаторы
        • Светодиоды круглые
        • Другие
      • Провода и кабели
        Провода и кабели
      • Источники питания
        Источники питания
      • Радиодетали
        Радиодетали
        • Кварц
        • Кнопки
        • Конденсаторы
        • Резисторы
        • Транзисторы
        • Другие
        • Стабилизаторы
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
        Шаговые двигатели и аксессуары
        • NEMA 8
        • NEMA 11
        • NEMA 14
        • NEMA 17
        • NEMA 23
        • NEMA 34
        • NEMA 42
        • NEMA 52
        • Шаговые актуаторы
        • Шаговые двигатели с редуктором      
          • C планетарным редуктором
          • C цилиндрическим редуктором
        • Шаговые двигатели с тормозом
        • Круглые шаговые двигатели
        • Сопутствующие
      • Зубчатые ременные передачи
        Зубчатые ременные передачи
        • Зубчатые ремни      
          • Зубчатые ремни GT2
          • Зубчатые ремни HTD 3M
          • Зубчатые ремни HTD 5M
          • Зубчатые ремни T2.5
          • Зубчатые ремни T5
        • Зубчатые шкивы      
          • Зубчатые шкивы GT2
          • Зубчатые шкивы HTD 3M
        • Ролики
      • Шарико-винтовые передачи (ШВП)
        Шарико-винтовые передачи (ШВП)
        • Готовые ШВП, обработанные
        • Гайки ШВП
        • Опоры ШВП
        • Модули крепления гаек ШВП
        • Кронштейны-опоры ШВП
      • Трапецеидальные передачи винт-гайка
        Трапецеидальные передачи винт-гайка
        • Винты трапецеидальные
        • Гайки трапецеидальные
        • Муфты Oldham
        • Сопутствующие
      • Цилиндрические направляющие
        Цилиндрические направляющие
        • Полированные валы
        • Цилиндрические рельсы
        • Линейные подшипники
        • Модули с линейным подшипником
        • Втулки скольжения
        • Держатели вала
        • Пластиковые втулки скольжения
      • Профильные направляющие
        Профильные направляющие
        • Профильные направляющие HIWIN      
          • Каретки HIWIN
          • Рельсы HIWIN
        • Профильные направляющие      
          • Каретки
          • Рельсы
        • Роликовые направляющие
      • Муфты соединительные
        Муфты соединительные
        • Жесткие
        • Кулачковые
        • Спиральные
        • Мембрнные
        • Сильфонные
        • Пружинные
        • Гибкие
      • Электроника
        Электроника
        • Блоки питания
        • Вентиляторы электрические и аксессуары      
          • Вентиляторы осевые
          • Вентиляторы радиальные (улитки)
          • Решетки и фильтры для вентиляторов
        • Драйверы шаговых двигателей
        • Микропереключатели и концевики
        • Датчики касания инструмента
        • Кнопки и индикаторы
      • Фрезы
        Фрезы
        • Спиральные фрезы      
          • Стружка вверх
          • Стружка вниз
        • Компрессионные фрезы
        • Прямые фрезы
        • Конусные фрезы
        • Сферические фрезы
        • Фрезы рашпильные (кукуруза)
        • Цанги
        • Сопутствующие
      • Карбоновый профиль / трубки
        Карбоновый профиль / трубки
      • Пневматическое оборудование
        Пневматическое оборудование
        • Регуляторы давления, фильтры, лубрикаторы
      • Системы подачи смазки
        Системы подачи смазки
        • Автоматические смазочные насосы
        • Ручные смазочные насосы
        • Маслораспределительные аксессуары
      • Сопутствующие
        Сопутствующие
      • Шпиндели и сопутствующие
        Шпиндели и сопутствующие
        • Шпиндели воздушного охлаждения
        • Шпиндели жидкостного охлаждения
        • Частотные преобразователи
        • Крепления для шпинделей
        • Системы охлаждения шпинделей
        • Подведение СОЖ
        • Прижимы для шпинделей
        • Распылители масляного тумана
        • Щетка-насадка для шпинделя
        • Сопутствующие для шпинделей
      • Механика
        Механика
        • Кабель-каналы гибкие
        • Подшипники качения
        • Подшипниковые узлы
      • Конструкционный профиль
        Конструкционный профиль
        • Сухари пазовые
        • Т-болты
        • Т-гайки
        • Серия 15      
          • Анодированный
          • Без покрытия
        • Серия 20      
          • Анодированный
          • Без покрытия
        • Серия 20 (V-паз)      
          • Анодированный
          • Без покрытия
        • Серия 30      
          • Анодированный
          • Без покрытия
        • Серия 40      
          • Анодированный
          • Без покрытия
        • Серия 45      
          • Анодированный
          • Без покрытия
        • Серия 50      
          • Анодированный
          • Без покрытия
      • Комплектующие OpenBuilds
        Комплектующие OpenBuilds
        • Ролики OpenBuilds
      • Лазерные станки
        Лазерные станки
      • Лазерная резка и аксессуары
        Лазерная резка и аксессуары
        • Блоки розжига
        • Воздушные компрессоры
        • Датчики
        • Крепление лазерной трубки
        • Лазерные головки и держатели зеркал
        • Полупроводниковые лазерные модули
        • Системы охлаждения
        • Системы управления (Контроллеры)      
          • Контроллеры RuiDa
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Инструменты
      • Зачистка и обрезка кабеля
        Зачистка и обрезка кабеля
      • Измерительный инструмент
        Измерительный инструмент
        • Мультиметры
      • Кабель и провода
        Кабель и провода
        • Акустический кабель
        • Высоковольтный кабель
      • Клеевые пистолеты (термопистолеты)
        Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
        Напильники и надфили
      • Обжимной инструмент
        Обжимной инструмент
      • Отвертки
        Отвертки
      • Паяльное оборудование
        Паяльное оборудование
        • Наборы для паяльных работ
        • Отсосы припоя
        • Паяльные принадлежности
        • Паяльные станции
        • Припой
        • Электрические паяльники
      • Пинцеты
        Пинцеты
      • Расходные материалы
        Расходные материалы
        • Изолента
        • Клеевые стержни
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Запчасти для 3D принтеров по брендам
      • 3DIY printers
        3DIY printers
        • Bizon 3
        • STRATEX 350
        • STRATEX 500
        • REX 6K Mono
        • P3 Steel 200 PRO
        • P3 Steel 300 PRO
        • P3 Steel 300 DUAL PRO
      • Bambu Lab
        Bambu Lab
        • Bambu Lab A1 mini
        • Bambu Lab A1
        • Bambu Lab P1 Series
        • Bambu Lab X1 Series
      • Creality
        Creality
        • Creality K1
        • Creality K1 MAX
        • Creality K1C
        • Creality K2 plus
      • Flashforge
        Flashforge
        • Adventurer 5M / 5M Pro
      • Qidi
        Qidi
        • Qidi Tech X-Plus 3
        • Qidi Tech X-Max 3
        • QIDI Plus 4
        • Qidi Q1 Pro
      Phrozen
      FlyingBear
      QIDI
      CreatBot
      FlashForge
      Bambu Lab
      ERYONE
      Elegoo
      eSUN
      Creality
      BIGTREETECH
      Anycubic
    • Товары снятые с продажи
        Phrozen
        FlyingBear
        QIDI
        CreatBot
        FlashForge
        Bambu Lab
        ERYONE
        Elegoo
        eSUN
        Creality
        BIGTREETECH
        Anycubic
      Войти
      0Избранное
      0Корзина
      3D принтерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУРобототехникаЗапчасти 3D принтеров по брендам
      3DIY
      Войти
      0Избранное
      0Корзина
      3DIY
      Телефоны
      8 (800) 500-45-93отдел продаж Россия
      8 (495) 565-35-93отдел продаж Москва
      E-mail

      info@3d-diy.ru — отдел продаж

      support@3d-diy.ru — тех. поддержка

      Адрес
      Москва, Павловская улица, 27с7
      м. Тульская
      Режим работы
      пн – пт 11:00—19:00
      8.05 – 11.05 не работаем
      0
      0
      • Кабинет
      • 0Избранное
      • 0Корзина
      • Бренды
      • Акции
      • Услуги
        • Услуги
        • 3D печать
          • 3D печать
          • 3D печать пластиком FDM/FFF
          • 3D печать фотополимером
      • Компания
        • Компания
        • О компании
        • Реквизиты
        • Партнеры
        • Клиенты
        • Вакансии
      • Блог
      • Информация
        • Информация
        • Гарантия на товар
        • Возврат товара
        • Политика конфиденциальности
        • Договор-оферта
        • FAQ
      • Контакты
        • Контакты
        • Как до нас добраться
      8 (800) 500-45-93отдел продаж Россия
      • Телефоны
      • 8 (800) 500-45-93 отдел продаж Россия
      • 8 (495) 565-35-93 отдел продаж Москва
      • info@3d-diy.ru — отдел продаж

        support@3d-diy.ru — тех. поддержка

      • Москва, Павловская улица, 27с7
        м. Тульская
      • пн – пт 11:00—19:00
        8.05 – 11.05 не работаем
      Главная
      Блог
      Датчики
      Датчик атмосферного давления BMP280

      Датчик атмосферного давления BMP280

      Датчик атмосферного давления BMP280
      Датчики

      Содержание

      • Обзор
      • Технические характеристики
      • Подключение к Arduino
      • Применение
      • Часто задаваемые вопросы

      Обзор модуля атмосферного давления BMP280

      Модуль представляет из себя высокоточный цифровой измеритель атмосферного давления на базе микро-чипа BMP280 от фирмы BOSH. После изготовления каждый датчик проходит индивидуальную калибровку в заводских условиях. Его малые размеры, низкое энергопотребление и высокая измерительная способность позволили завоевать популярность среди множества разработчиков Arduino-проектов. Модуль BMP280 был разработан фирмой как более технологичная модель своего предшественника BMP180. Данная модификация, в отличие от своего младшего брата, предоставляет пользователю целых 2 последовательных интерфейса обмена данными (SPI и I2C), а также 3 режима работы:

      • NORMAL – в данном режиме модуль просыпается с определённой периодичностью, выполняет необходимые измерения и снова засыпает. Частота измерений задаётся программным путём, а результат считывается при необходимости.
      • SLEEP – режим максимально пониженного энергопотребления.
      • FORCED – этот режим позволяет будить модуль подачей внешнего управляющего сигнала. После выполнения измерений, модуль автоматически переходит в режим пониженного энергопотребления.
      Помимо способности измерять показания атмосферного давления, разработчик наделил BMP280 возможностью определять температуру окружающей среды. Все производимые вычисления могут быть отфильтрованы настраиваемым программным фильтром. На рисунке №1 показан внешний вид модуля и его электрическая схема.

      bmp280-01.jpg

      Рисунок №1 - внешний вид и схема модуля BMP280 

      Как видно из вышеприведенной схемы на модуле предусмотрены конденсаторы для фильтрации по питанию и подтягивающие резисторы интерфейсов ввода/вывода. 


      Технические характеристики BMP280

      К основным техническим характеристикам можно отнести следующие:

      • Напряжение питания: 1.71V – 3.6V;
      • Интерфейс обмена данными: I2C или SPI;
      • Ток потребления в рабочем режиме: 2.7uA при частоте опроса 1 Гц;
      • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
      • Диапазон измерения температуры: -40°С … +85°С (±0.01°С);
      • Максимальная частота работы интерфейса I2C: 3.4MHz;
      • Максимальная частота работы интерфейса SPI: 10 МГц;
      • Размер модуля: 21 х 18 мм;

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

      Как упоминалось выше, модуль BMP280 может быть подключен к плате Arduino посредствам двух интерфейсов I2C или SPI. Какой выбрать - каждый решает сам исходя из возможностей используемого микроконтроллера и специфики проекта. На рисунке №2 показан вариант подключения датчика к плате Arduino Nano по I2C.

      bmp280-02.jpg

      Рисунок №2 - подключение BMP280 по I2C-интерфейсу

      Как известно, аппаратный интерфейс I2C у Arduino UNO, Nano, Mini и.т.п. расположен на пинах A4 (SDA) и A5 (SCL). Следовательно, в таком режиме обмена данными понадобиться всего 4 провода, два из которых используются для питания модуля, а два других - непосредственно как информационная шина. Для работы по SPI требуется немного больше проводов - целых 6 штук и подключать их необходимо согласно схемы на рисунке №3.

      bmp280-03.jpg

      Рисунок №3 - подключение BMP280 по SPI-интерфейсу

      Вышеприведенная схема подключения составлена согласно расположению аппаратного интерфейса SPI на платах Arduino UNO, Nano, Mini и.т.п. Исключением является вывод CSB модуля BMP280. В данной схеме он подключен к 10-му пину Arduino, но может быть соединён с любым цифровым выводом, указанным при составлении программы.

      Как правило, для BMP280 в Интернете можно найти с десяток библиотек, упрощающих работу с ним. Библиотека Adafruit_BMP280.h позволяет максимально сократить время на освоение данного модуля, не урезая его функционал. Методы библиотеки дают возможность пользователю выбрать способ подключения, а также настроить периодичность и точность измерений в зависимости от режимов работы. Ниже будут рассмотрены некоторые приёмы работы с данной библиотекой.

      Итак, для того чтобы начать работу с BMP280 необходимо установить вышеуказанную библиотеку, подключить сам заголовочный файл Adafruit_BMP280.h, а также ещё два файла Wire.h и SPI.h, для доступа к необходимым интерфейсам.

      #include <Wire.h> // Библиотека для работы с шиной I2C #include <SPI.h> // Библиотека для работы с шиной SPI #include <Adafruit_BMP280.h> // Библиотека для работы с датчиком BMP280 

      Далее должен быть создан экземпляр класса Adafruit_BMP280, через который можно получить доступ ко всем функциям датчика атмосферного давления. Экземпляр может быть создан тремя разными способами в зависимости от типа подключения модуля, а именно:

       // Для подключения по шине I2C Adafruit_BMP280 bmp; // Для подключения по аппаратному SPI (указываем только номер пина CS) #define PIN_CS 10 Adafruit_BMP280 bmp(PIN_CS); // Для подключения по программному SPI (указываем все пины интерфейса) #define PIN_SCK 13 #define PIN_MISO 12 #define PIN_MOSI 11 #define PIN_CS 10 Adafruit_BMP280 bmp(PIN_CS, PIN_MOSI, PIN_MISO, PIN_SCK); 

      Следует помнить, что при составлении программы должен быть указан только один из трёх возможных вариантов, иначе будет работать самый последний.

      Теперь через объект bmp мы имеем возможность работать с функциями библиотеки, но изначально необходимо инициализировать модуль. Делать это целесообразно внутри функции setup() перед основным циклом:

       void setup() { Serial.begin(9600); // Для вывода отладочной информации в терминал if(!bmp.begin()) { // Если датчик BMP280 не найден Serial.println(“BMP280 SENSOR ERROR”); // Выводим сообщение об ошибке while(1); // Переходим в бесконечный цикл } } 

      Таким образом при выводе сообщения об ошибке следует проверить правильность подключения и соответствие его используемому интерфейсу. При успешной инициализации можно переходить к настройке самой микросхемы BMP280. Для этих целей в библиотеке предусмотрена функция setSampling(...), с помощью которой задаётся режим работы модуля, точность измерения атмосферного давления и температуры окружающей среды, степень фильтрации и период активности датчика. Ниже приведён пример настроек, заданных по умолчанию.

      bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, // Режим работы Adafruit_BMP280::SAMPLING_X2, // Точность изм. температуры Adafruit_BMP280::SAMPLING_X16, // Точность изм. давления Adafruit_BMP280::FILTER_X16, // Уровень фильтрации Adafruit_BMP280::STANDBY_MS_500); // Период просыпания, мСек 

      Рассмотрим подробнее данную функцию. Её первый параметр отвечает за режим работы датчика. Всего доступно 4 варианта, а именно:

      • MODE_NORMAL – в данном режиме модуль циклически выходит из режима сна через установленный интервал времени. В активном состоянии он проводит измерения, сохраняет их в своей памяти и заново уходит в сон.
      • MODE_FORCED – в этом режиме датчик проводит измерения при получении команды от Arduino, после чего возвращается в состояние сна.
      • MODE_SLEEP – режим сна или пониженного энергопотребления.
      • MODE_SOFT_RESET_CODE – сброс на заводские настройки.

      Второй и третий параметры отвечают за точность измерения температуры и атмосферного давления соответственно. Они могут принимать следующие значения:

      • SAMPLING_NONE - минимальная точность;
      • SAMPLING_X1 – точность АЦП 16 бит;
      • SAMPLING_X2 – точность АЦП 17 бит;
      • SAMPLING_X4 – точность АЦП 18 бит;
      • SAMPLING_X8 – точность АЦП 19 бит;
      • SAMPLING_X16 – точность АЦП 20 бит.

      Четвёртый параметр отвечает за уровень фильтрации измеренных данных. Значения этого параметра могут быть следующие:

      • FILTER_OFF – фильтр выключен;
      • FILTER_X2 – минимальный уровень фильтрации;
      • FILTER_X4;
      • FILTER_X8;
      • FILTER_X16 – максимальный уровень фильтрации.

      Последний, пятый параметр функции setSampling(...) отвечает за период перехода модуля в активное состояние с целью выполнения измерений. Параметр может принимать следующие значения:

      • STANDBY_MS_1 – модуль просыпается каждую миллисекунду;
      • STANDBY_MS_63 – модуль просыпается каждые 63 миллисекунды;
      • STANDBY_MS_125 – модуль просыпается каждых 125 миллисекунд;
      • STANDBY_MS_250 – модуль просыпается каждых 250 миллисекунд;
      • STANDBY_MS_500 – модуль просыпается каждых 500 миллисекунд;
      • STANDBY_MS_1000 – модуль просыпается каждую секунду;
      • STANDBY_MS_2000 – модуль просыпается каждые 2 секунды;
      • STANDBY_MS_4000 – модуль просыпается каждых 4 секунды;

      На этом стадию настройки параметров датчика BMP280 можно считать завершённой. Библиотека Adafruit_BMP280 предоставляет пользователю три функции, с помощью которых можно считать показания температуры, атмосферного давления и высоты над уровнем моря. Ниже приведён фрагмент программного кода, с помощью которого эти данные выводятся в окно терминала. Считывание происходит в основном цикле loop().

      void loop() { // Выводим значение температуры Serial.print(F("Temperature = ")); Serial.print(bmp.readTemperature()); // Функция измерения температуры Serial.println(" *C"); // Выводим значение атмосферного давления Serial.print(F("Pressure = ")); Serial.print(bmp.readPressure()); // Функция измерения атм. давления Serial.println(" Pa"); // Выводим значение высоты Serial.print(F("Approx altitude = ")); Serial.print(bmp.readAltitude(1013.25)); // Функция измерения высоты Serial.println(" m"); } 

      Следует пару слов сказать о функции bmp.readAltitude(1013.25) и откуда берётся число 1013.25. Это значение давления над уровнем моря конкретной локации, где находится в данный момент датчик. Параметр задаётся в сотнях Ра. Он уникален для каждой местности и по своей сути является отправной точкой или калибровочной константой для корректного измерения высоты. Такой подход обусловлен специфическим алгоритмом вычисления, который построен на принципе фиксации уменьшения атмосферного давления с ростом высоты и наоборот. В любом случае данную константу можно подсмотреть в Интернете на одном из профильных сайтов. Результат вывода значений в терминал показан на рисунке №4.

      bmp280-04.jpg

      Рисунок №4 - результат чтения данных с модуля BMP280 

      Как видно из рисунка, давление выводится в Паскалях, что для восприятия не очень удобно. Гораздо привычнее получать значения в миллиметрах ртутного столба. Как известно 1Ра = 0,00750062 мм. рт. ст., следовательно необходимо полученное с помощью функции readPressure() значение умножить на 0,00750062.

      ОБРАТИТЕ ВНИМАНИЕ!!! Может возникнуть такая ситуация, при которой модуль не будет определяться при подключении его по шине I2C. Дело в том, что каждое устройство на этой шине должно иметь свой уникальный адрес. Данная серия модулей в зависимости от модификации может иметь адреса 0x77 или 0x76. Библиотека Adafruit_BMP280.h использует по умолчанию адрес 0х77. Чтобы изменить его на 0х76 необходимо открыть файл Adafruit_BMP280.h установленной библиотеки любым текстовым редактором и найти там нижеследующую строку:

       #define BMP280_ADDRESS (0x77) /**< The default I2C address for the sensor. */ 

      Меняем адрес в скобках на 0х76, сохраняем файл и перекомпилируем программу. После данных манипуляций проблема должна исчезнуть.

      Сенсоры для Arduino до низким ценам можно купить в магазине 3DIY!


      Пример использования BMP280

      Существует несколько направлений применения модулей BMP280. Кто-то использует их в составе полётных контроллеров для определения высоты или в качестве глубиномера, например при погружении в шахту. Но основным направлением является сбор данных для метеостанций. Для более тесного знакомства с модулем, создадим свой проект домашней метеостанции с выводом погодной информации на графический ЖКИ-дисплей от NOKIA 5110. Чтобы сделать проект интереснее, внизу будет выводится график изменения атмосферного давления. Такой подход позволит спрогнозировать приближение дождя по резкому падению давления или хорошую погоду по его динамическому возрастанию. Управлять всем этим будет плата Arduino Nano. На рисунке №5 приведена схема проекта домашней метеостанции.

      bmp280-05.jpg

      Рисунок №5 – схема метеостанции

      В схеме для запитывания экрана и его подсветки использован модуль линейного стабилизатора напряжения AMS1117-3V3. Это позволит уберечь Arduino Nano от перегрузок. Также потребуется скачать две дополнительные библиотеки для работы с дисплеем, а именно:

      • Adafruit-PCD8544-Nokia-5110-LCD-library

      • Adafruit-GFX-Library

      Данные библиотеки позволят выводить на дисплей текстовую и графическую информацию, которая будет обновляться каждую минуту. Теперь самое время перейти к программированию. Ниже будет приведён исходный код проекта.

      // Подключаем библиотеки для раблты с дисплеем NOKIA 5110 #include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> // Номара выводов Arduino для подключения димплея #define PIN_5110_SCLK 3 #define PIN_5110_DIN 4 #define PIN_5110_DC 5 #define PIN_5110_CS 6 #define PIN_5110_RST 7 Adafruit_PCD8544 display = Adafruit_PCD8544(PIN_5110_SCLK, PIN_5110_DIN, PIN_5110_DC, PIN_5110_CS, PIN_5110_RST); // Подключаем библиотеки для работы с датчиком BMP280 #include <Wire.h> #include <Adafruit_BMP280.h> Adafruit_BMP280 bmp; uint8_t pp[84]; // Массив значений атм. давления для вывода графика uint8_t index = 0; // Текущий индекс (точка на графике) void setup() { display.begin(); // Инициализация дисплея display.setContrast(45); // Настройка контрасности display.display(); // Подготовка к выводу изображения delay(2000); display.clearDisplay(); // Очистка дисплея bmp.begin(); // Инициализация датчика BMP280 // Настройка режима работы датчика BMP280 bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, Adafruit_BMP280::SAMPLING_X2, Adafruit_BMP280::SAMPLING_X16, Adafruit_BMP280::FILTER_X16, Adafruit_BMP280::STANDBY_MS_500); for(uint8_t i = 0; i < 84; i++) pp[i] = 0; // Обнуляем массив } void loop() { // Считываем и выводим показания температуры float t = bmp.readTemperature(); display.setTextSize(1); display.setCursor(0, 0); display.print("t="); display.print(t); display.println("oC"); // Считываем и выводим показания высоты float a = bmp.readAltitude(1005); display.setCursor(0, 8); display.print("h="); display.print(a); display.println("m"); // Считываем и выводим показания атмосверного давления float p = bmp.readPressure(); p = p * 0.00750062; // Преобразуем Паскали в мм.рт.ст. display.setCursor(0, 16); display.print("p="); display.print(p); display.println("mmGh"); // Преобразуем показания для построения графика pp[index] = map(p, 730, 760, 0, 24); // Строим график index++; if(index > 83) { for(uint8_t i = 0; i < 84; i++) pp[i] = 0; index = 0; } display.fillRoundRect(0, 24, 84, 24, 0, WHITE); for(uint8_t i = 0; i < 84; i++) display.drawLine(i, 48, i, 48 - pp[i], BLACK); display.display(); delay(60000); // График будет обновляться 1 раз в минуту display.clearDisplay(); } 

      На рисунке №6 показан результат работы программы.

      bmp280-06.jpg 

      Рисунок №6 – метеостанция в работе

      Каждая линия графика визуально обозначает значение уровня атмосферного давления в текущую минуту. Учитывая то, что разрешение дисплея по горизонтали составляет 84 пикселя, мы можем наблюдать отрезок измерения, равный 84 минутам соответственно. Вот таким нехитрым способом, за короткий промежуток времени, можно создать очень полезное устройство.


      FAQ. Часто задаваемые вопросы

      1. Подключаю датчик по шине I2C, заливаю тестовый скетч из библиотеки Adafruit_BMP280.h, но датчик не обнаруживается. В чём может быть причина?

      Большинство датчиков BMP280 имеют адрес 0х76, а библиотека Adafruit_BMP280.h по умолчанию работает с адресом 0х77. Чтобы это исправить необходимо открыть файл Adafruit_BMP280.h любым текстовым редактором, найти строку вида:

       #define BMP280_ADDRESS (0x77) /**< The default I2C address for the sensor. */ 

      После этого нужно заменить значение в скобках, сохранить изменения и перекомпилировать проект.

      2. Чем отличается датчик BMP280 от аналогичного BMЕ280?

      В датчике BMЕ280 дополнительно есть функция измерения влажности.

        3. От чего зависти точность определения высоты?

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

          Товары из статьи

          Быстрый просмотр
          Датчик атмосферного давления и температуры BMP280imageimageimage
          199 ₽
          258.70 ₽
          -23%
          Датчик атмосферного давления и температуры BMP280
          0
          0
          В наличии

          Документы

          Adafruit-GFX-Library-master
          305,2 Кб
          Adafruit-PCD8544-Nokia-5110-LCD-library-master
          12,7 Кб
          meteo_station
          3,1 Кб

          Это интересно

          Датчик уровня звука
          Датчики
          Датчик уровня звука
          Датчик влажности и температуры DHT11
          Датчики
          Датчик влажности и температуры DHT11
          Датчик вибрации
          Датчики
          Датчик вибрации
          Датчик угарного газа MQ7
          Датчики
          Датчик угарного газа MQ7
          Ультразвуковой дальномер HC-SR04
          Датчики
          Ультразвуковой дальномер HC-SR04
          Инфракрасный датчик расстояния
          Датчики
          Инфракрасный датчик расстояния
          • Комментарии
          Загрузка комментариев...
          Назад к списку
          • Все публикации248
            • 3D принтеры38
            • 3D печать57
            • ЧПУ10
            • Датчики27
            • Модули38
            • Arduino механика6
            • Arduino платы8
            • Дисплеи6
            • Кейсы1
            • Компоненты13
            • Мировые новости35
            • Проекты7
            • Сопутствующие2
          Связаться с нами
          8 (800) 500-45-93
          8 (800) 500-45-93отдел продаж Россия
          8 (495) 565-35-93отдел продаж Москва
          E-mail

          info@3d-diy.ru — отдел продаж

          support@3d-diy.ru — тех. поддержка

          Адрес
          Москва, Павловская улица, 27с7
          м. Тульская
          Режим работы
          пн – пт 11:00—19:00
          8.05 – 11.05 не работаем

          info@3d-diy.ru — отдел продаж

          support@3d-diy.ru — тех. поддержка

          Москва, Павловская улица, 27с7
          м. Тульская
          Магазин
          Бренды
          Акции
          Каталог
          Услуги
          Компания
          О компании
          Реквизиты
          Партнеры
          Клиенты
          Вакансии
          Информация
          Гарантия на товар
          Возврат товара
          Политика конфиденциальности
          Договор-оферта
          FAQ
          Помощь
          Условия оплаты
          Условия доставки
          Товары под заказ
          Гос. закупки
          Как сделать заказ
          Вопрос-ответ
          2013 - 2025 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
          Конфиденциальность
          Оферта
          ГлавнаяКаталог0Корзина0ИзбранныеКабинет
          Уважаемые клиенты
          8-9 мая - выходные
          С праздником!