Подключение датчика атмосферного давления bmp280 к arduino

Кратко о датчиках давления, температуры и влажности BME280 (BMP280).

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

Виды датчиков BME280 (BMP280).

Датчик BME280 имеет несколько разновидностей и в зависимости от модуля может подключаться к I2C и SPI шинами микроконтроллера и работать от 3-5В.

Как узнать, какое рабочее напряжение модуля? Если на плате есть стабилизатор, его можно запитать от источника напряжением 5В. Если на плате нет стабилизатора, то подключить можно только к источнику питания 3В.

На обратной стороне платы не просто так написано BME280/BMP280 – BMP является урезанной версией BME, в которой нет влажности. Как их различить, если недобросовестный продавец не поставил галочку? Они отличаются по корпусу датчика:Информация о типах модулей взята с сайта.

Датчики я покупал себе с сопутствующим товаром на будущее и информацию предварительно не почитал. Я повёлся на низкую стоимость и в результате стал счастливым обладателем BMP280. Кстати, покупал 2 модуля, и галочки нет ни на одном. Это, конечно, не критично, но есть некоторые сложности с тем, чтобы заставить датчик работать. Помогла библиотека Гайвера.

Распиновка модуля BME280 без стабилизатора на борту.

Интерфейс BME280 I2C использует следующие контакты:

  • VCC: от 1,71 В до 3,6 В
  • GND: подключение к GND
  • SCL: последовательные часы (SCK)
  • SDA: последовательные данные (SDI)
  • CSB: должен быть подключен на VDDIO, чтобы выбрать интерфейс I2C.
  • SDO: контакт определяет I2C адрес устройства. Если SDO подключается к GND (0), то адрес равен 0x76. Если он подключается к VDDIO(1), то адрес равен 0x77. В этом модуле мы подключили его к VDDIO, поэтому адрес должен быть 0x77.

Интерфейс I2C.

Модуль оснащён простым двухпроводным интерфейсом I2C, который можно легко соединить с любым выводом I2C микроконтроллера. Адрес I2C модуля BME280 по умолчанию 0x76, и его можно легко изменить на 0x77.

На рынке доступен ещё один модуль, который имеет только 4 контакта. Чтобы изменить его адрес I2C, найдите перемычку для пайки рядом с микросхемой.

Благодаря данной перемычке можно изменить адрес I2C.

При необходимости мы можем изменить адрес датчика и подключить 2 модуля к одному микроконтроллеру.

Схемы подключения датчика давления жидкости

Среди множества схем, демонстрирующих работу Arduino с датчиком давления жидкости, была выбрана наиболее простая, использующая минимум радиодеталей. С ее помощью можно проводить измерение глубины погружения или уровня заполнения сосуда водой. Итак, понадобится:

Элемент Наименование/характеристики Количество
Микроконтроллер Arduino Nano/Uno или любой клон 1
Экран Display 2×16 ST7032 1
Датчик MS5803 1
Резистор 10 кОм 2
Конденсатор 0.1 мкФ 1
Кнопка Любая, без фиксации нажатия 1

Библиотека работы с датчиком давления берется здесь: https://github.com/millerlp/MS5803_05

С экраном тут: https://yadi.sk/d/KKJwJ1VtDx9PCw

Принципиальная схема

Кнопка нужна для выбора режима отображения — однократное нажатие переключает вывод абсолютных и относительных данных, с сохранением состояния на последующих опросах датчика.

Последние нововведения в СанПиН по требованиям к воздуху в 2022 году

С публикацией и вводом в действие требований к воздуху по СанПиН 2.1.3684-21 утратил силу СанПиН 2.2.1/2.1.1.1200-03 – один из важнейших документов, касающихся требований в области охраны атмосферного воздуха в части установления санитарно-защитных зон (СЗЗ). Таким образом, в 2022 году при разработке СЗЗ нужно будет руководствоваться лишь требованиями Постановления .

Еще одно серьезное нововведение требований к воздуху по СанПиН 2.1.3684-21 – запрет выбросов загрязнителей воздуха, для которых не утверждены нормативы. В отмененных нормах и правилах запрещалось эксплуатировать предприятие, если в составе его выбросов присутствуют такие вещества. В 2022 году определяющим в требованиях к качеству воздуха является его соответствие предельно допустимым концентрациям (ПДК) или ОБУВ (в случаях отсутствия ПДК) загрязняющих веществ, отсутствие веществ с неустановленными нормативами, а также его безопасность по микробиологическим показателям.

Обязанностью хозяйствующих предприятий в соответствии с требованиями новых санитарных правил к воздуху в 2022 году является:

  • проведение работ, обосновывающих безопасность для среды обитания человека новых видов технологий и продукции;
  • выполнение расчета рисков, касающихся канцерогенного и неканцерогенного воздействия предприятия при выполнении работ, связанных с установлением или изменениями санитарно-защитной зоны (СЗЗ), а также ее прекращением; а также касательно приаэродромных территорий при проведении обосновывающих 7-ю подзону работ;
  • выполнение лабораторных анализов на границе СЗЗ согласно программе производственного контроля (в утратившем силу документе говорилось о зоне влияния объекта);
  • информирование об аварийных ситуациях и выбросах, способных создавать угрозу здоровью человека органов власти, уполномоченных осуществлять надзор в области санитарного благополучия населения, жителей (в отманенных правилах было включено требование о разработке мероприятий по ликвидации таких ситуаций).

С целью разъяснений требований к воздуху, предъявляемых в 2022 году СанПиН 2.1.3684-21, Роспотребнадзором были опубликованы Методические рекомендации МР 2.1.0246-21.

Неисправности устройства

Основным признаком неисправности ДАД становиться перерасход топлива. В результате неисправности аппарата в ЭБУ поступают неверные сведения о давлении, которое на деле ниже заявленного. В результате в цилиндры двигателя поступает богатая смесь.

Резко проседает динамика движка, не меняющаяся при прогреве. В выхлопе ощущается сильный запах топлива. Цвет выхлопа даже в жаркое время года остается белым. Холостой режим движка долгое время не снижает обороты. Машина двигается рывками при переключении передач. Множество посторонних звуков сопровождающих работу движка.

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

Выход из строя находящегося в корпусе ДАД датчика температуры также влияет на общую работу аппарата. Необходимо проверить вакуумный шланг на предмет повреждений и разгерметизации. Удостовериться в отсутствии иных неисправностей и поломок внутри прибора.

Тарас Каленюк

автору

Ремонту прибор не подлежит, поэтому в случае неисправности сразу же подвергается полной замене. Исключение составляет чистка контактов. Исходя из этого, осуществляется и его диагностика. Проще всего по понятным причинам установить новый датчик и проверить работу. Если всё нормально, то старый аппарат можно выбросить.

Метеостанция (Arduino pro mini, BME280, LCD1602)

Что можно вывести на двухстрочный экран, кроме «Hello world!»? Почему бы не отображать температуру влажность и давление?

Датчики предлагаемые как учебное пособие к arduino (DHT11, DHT22) показывают температуру и влажность воздуха. В учебных целях (для университета) понадобилось наблюдать так же и за давлением. Естественно на кафедре есть барометр, но почему бы не собрать свой? К тому же можно в дальнейшем накапливать показания в автоматическом режиме, и это неплохой опыт в изучении arduino.

Так или иначе из Китая были заказаны комплектующие и собрано данное устройство.

Необходимые комплектующие

Arduino Pro Mini I2C для LCD (можно было заказать сразу в сборе, но так вышло чуть чуть дешевле) LCD 1602 BME280

Для отправки скетча в arduino был использован USB-UART. Так же можно было использовать Raspberry Pi или компьютер с COM портом.

Схема подключения для прошивки и код программы

Из Китая USB-UART пришёл с набором проводков:

Их вполне хватило. Перемычку оставил на 3.3 вольта, несмотря на то что моя версия arduino питается от 5 вольт.

UART — Arduino 5v — VCC TXD — RXD RXD — TXD GND — GND CTS — DTR (опционально, у меня не работал, возможно потому что напряжение сигналов осталось 3.3В)

Если не подключать DTR, то после отправки прошивки arduino нужно перезагрузить встроенной кнопкой, начнётся активный обмен данными в обе стороны (о чём свидетельствуют светодиоды на USB-UART), после успешной загрузки прошивки, она сама перезагрузится.

Необходимые сторонние библиотеки:

Непосредственно код, с комментариями из примеров (на случай, если кому то понадобится что то менять).

Адрес датчика можно угадать, их всего два.

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

И адрес будет 0x3F т.к. A0 — A2 разомкнуты:

Светодиод который обведён в овал лучше можно выпаять.

Резистор выбирался как половина от сопротивления датчика (между VVC и GND), чтобы падения напряжения на нём было 1.7 вольта. Так же схему можно запитать от входа RAW, другим напряжением (например от кроны).

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

В моём случае всё питается от старого компьютерного блока питания. Можно питать от USB. Все комплектующие были приклеены оказавшемся под рукой клеем «Момент».

На рабочем месте появился 1602 прикрученный к столу, который показывает давление, влажность, температуру. Arduino можно перепрошить не снимая (возможно станет бегущей строкой).

Источник

Как устроен датчик температуры и давления воздуха?

Конструкция датчика имеет в себе:

  • атмосферную камеру, связанную с впускным коллектором;
  • вакуумную камеру;
  • электронный чип;
  • диафрагма;
  • 4 тензорезистора.

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

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

  1. всасываемый воздух оказывает давление на диафрагму, изгибая ее;
  2. в установленных на диафрагме тензорезисторах меняется сопротивление и происходит пьезорезистивный эффект;
  3. относительно сопротивления меняется и напряжение
  4. полупроводники, соединенные мостом весьма чувствительны, а электрическая схема еще и усиливает напряжение, увеличивая его на 1-5В.
  5. в результате в ЭБУ поступает значение выходного напряжение соответствующее давлению в измерителе.

Как выбрать метеостанцию для дома

Подробнее остановимся на выборе станции

На что нужно обращать внимание при покупке?. Количество дистанционных датчиков

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

К слову, не обязательно покупать датчик того же бренда, но важно, чтобы он был совместим с конкретной станцией

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

К слову, не обязательно покупать датчик того же бренда, но важно, чтобы он был совместим с конкретной станцией

Метеостанция TFA Nexus с тремя выносными датчиками

Дисплей. Крупный экран вмещает больше данных, которые можно видеть одновременно. Он может быть цветным либо монохромным, но у монохромного обязательно должна присутствовать яркая подсветка, чтобы цифры были видны даже в темноте или при плохом освещении. Отдельные модели позволяют проецировать изображение на поверхность, например, на стену или шкаф — кому-то так может быть даже удобнее, чем смотреть данные на экране.

Органайзер. Многие модели дополнительно показывают текущее время, дату, позволяют установить будильник и даже слушать радио. В целом, это удобно — вся информация на одном экране и в одном устройстве.

Метеостанция Uniel UTV-81 с анимированным прогнозом погоды, календарем и индикатором гололеда

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

Длительность прогнозирования. Бюджетные модели могут давать прогноз на 12 часов, более продвинутые «предсказывают» погоду на срок до 5 суток. Это нужно иметь в виду и учитывать ваши потребности в дальновидности прибора.

Питание станции и датчиков. Выбирайте сетевые модели или варианты с батареями, которые долго держат заряд. И лучше, если у беспроводного гаджета будет индикатор заряда, чтобы вовремя можно было его пополнить.

Защита от воды. Некоторые станции имеют внешние датчики, совершенно не предусматривающие попадание на них воды

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

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

Метеостанция Bresser 4CAST с Wi-Fi загружает из Интернета подробные метеоданные

Поддержка умного дома. Погодная метеостанция сделает умный дом еще умнее, но она должна быть совместима с вашей системой. К примеру, опираясь на показатели станции, вы сможете контролировать запуск кондиционера или обогревателя.

Tutorial

This tutorial will demonstrate how to use this sensor.
Currently, only FireBeetle ESP8266 IOT Microcontroller can read IAQ values, other main controllers are not supported at this time.

Requirements

  • Hardware

    • DFRduino UNO R3 (or similar) x 1
    • DFRobot Gravity BME680 environmental sensor x1
    • Gravity 4Pin Sensor wire (or Dupont wires) x1
  • Software

    • Arduino IDE (V1.0.x or V1.8.x), Click to Download Arduino IDE from Arduino
    • Download and install the BME680 Library.

Connection Diagram

You must pay attention to the wiring order, VCC to Power Supply, GND to Ground.

SPI Connection Diagram

You must pay attention to the wiring order, VCC to Power Supply, GND to Ground.

Sample Code

Download and install the BME680 Library.
This sample code is based on IIC connector. Please check file: DFRobot_BME680_SPI.ino for sample code for SPI connector in the library file. Because SPI sample code realizes the same function, it will not be shown at here.
Calibration is needed to monitor altitude value exactly. So that please fill in the sample code with correct local altitude value:

Program Function: read data from BME680 sensor and serial printing(without IAQ).

Program Function: read data from BME680 sensor and serial printing(with IAQ).
At present, only FireBeetle ESP8266 IOT Microcontroller can read IAQ, other controllers can not support.
For FireBeetle ESP8266 IOT Microcontroller,please use Arduino IDE 1.8.x. Then update the SDK to 2.3.1 or above. Refer to section 4.2 of the FireBeetle ESP8266 Wiki for the tutorial.

BME280 — датчик атмосферного давления, влажности и температуры

Сегодня расскажу о датчике BME280 с помощью которого можно получить показания влажности, температуры, атмосферного давления и высоту (расчетную). Данный датчик прост, предварительно откалиброван и для подключения не требуется дополнительных компонентов.

Технические параметры

► Напряжение питания: 3.3 В – 5 В► Рабочий ток: 1 мA► Диапазон измерения давления: 300 гПа – 1100 гПа (точность ±1.0 гПа) ► Диапазон измерения температуры: -40 °C до +85 °C (точность ±0.5 °C) ►Диапазон измерения влажности: 20 % до 80 % (точность ±3 %) ► Интерфейс: I2C► Габариты: 12 мм х 10 мм

Общие сведения

Рассмотрим модуль поближе, в правой части расположен датчик BME280 фирмы Bosch (это приемник таких датчиков, как BMP180, BMP085). Данный датчик измеряет влажность, температуру и давление с помощью данных показаний осуществляется расчет высоты, но эти показания не точные, подробно о датчике можно посмотреть в документации. На обратной стороне установлен стабилизатор напряжения LM6206 на 3.3 В и преобразователь уровней I2C, поэтому можно подключить модуль к микроконтроллерам с 3.3 В или 5 В логикой, не боясь.

Назначение контактов:► VCC, GND — питание модуля 3.3 В или 5 В ► SCL — линия тактирования (Serial CLock)► SDA — линия данных (Serial Data)

Данный модуль работает по двухпроводному интерфейсу I2C, адрес по умолчанию 0x76, но есть возможность изменить на адрес 0x77. Если присмотреться на модуль, рядом с датчиком расположены контакты, по умолчанию левый и средний контакт замкнуты проводником. Необходимо острым предметом перерезать проводник и установить припоем перемычку между центральный и правым контактом,тем самым установив адрес 0x77. При необходимости можно вернуть адрес 0x76.

Подключение датчика давления BME280 к Arduino

Необходимые детали:► BME280 — датчик атмосферного давления, влажности и температуры x 1 шт.► Arduino UNO R3 (DCCduino, CH340G)x 1 шт.► Провод DuPont 10x, 2,54 мм, 20 см, F-F (Female — Female) x 1 шт.

Подключение:В данном примере используем датчик BME280 и плату Arduino UNO R3, все получение показание отправлять в «Мониторинг порта», принципе и все, осталось собрать схему по рисунку ниже. Для интерфейса I2C на плате arduino предусмотрено только два вывода A4 и A5, другие вывода не поддерживают I2C, так что учтите при проектирование.

Программа:Для датчика BME280 разработана библиотека «Adafruit BME280 Library» с помощью которой можно упростить работу с датчиком. Так же, для работы датчика необходима дополнительная библиотека «Adafruit Unified Sensor«. Скачать библиотеки можно в конце статьи или можно скачать через «Менеджер библиотек» в среде разработки IDE Arduino.

Источник

История создания влагомера

Влажность труднее измерить, чем температуру, и поэтому первые гигрометры были не совсем точными. Леонардо да Винчи изобрел первую версию гигрометра уже в конце 1400 года. Гийом Амонтонс изобрел гигрометр, который был похож на трехжидкостный барометр, в 1687 году. В 1781 году Гораций Бенедикт де Соссюр (1740–1799) обнаружил, что человеческий волос, хорошо показывает влажность. Крупный прорыв в гигрометрии был сделан в 1802 году британским исследователем Джоном Далтоном (1766-1844). Он показал, что количество водяных паров, необходимых для насыщения, сильно зависит от температуры. Это привело к пониманию относительной влажности и того, как пользоваться гигрометром психрометрическим.

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

Как измерять силу/давление с помощью резистивного датчика давления

Как было сказано выше, сопротивление резистивного датчика давления меняется в зависимости от приложенного давления. Когда внешняя нагрузка отсутствует, сенсор представляет из себя резистор с бесконечным сопротивлением (не замкнутая цепь). С увеличением давления, сопротивление уменьшается

На графике ниже приведены приблизительные значения сопротивления датчика в зависимости от приложенной силы (обратите внимание, что сила не измеряется в граммах. Эти значения соответствуют Н*100!)

Вы заметили, что зависимость нелинейная? То есть, при измерении небольшой силы, значения очень быстро переходят от бесконечности к 100 КОм.

Что измеряет сенсор

Давление — некая физическая величина численно равная перпендикулярно направленной силе действующей на единицу площади поверхности. Сам датчик можно представить своеобразными очень чувствительными весами. Последнее замечание сделано по причине того, что и вода, и газы тоже имеют свою массу, которая влияет на поверхность под ними. На практике, за счет указанного фактора, можно определить глубину погружения (чем ниже, тем больше вес слоя воды) или высоту подъема в атмосферу (чем выше — тем меньше плотность, а значит и слабее воздействие). Кроме того, в отношении давления воздуха не стоит забывать о погодных колебаниях. Резкое падение названой характеристики атмосферы — к дождю или буре.

Опять же, насчет газов и частично жидкостей. Их можно сжимать. Но, уплотненные вещества будут стремиться вернуться в первоначальное состояние. И чем сильнее компрессия, тем мощнее будет конечное давление газа или жидкости внутри сосуда их содержащего.

Собственно, детектор Ардуино о котором идет речь, и измеряет силу воздействия на единицу площади сенсорного элемента прибора. Правда, в большинстве выпускаемых моделей, описанное — не все их функциональные возможности. Бонусом, у многих идет замер температуры окружающей среды, а у некоторых еще и влажности или ускорения.

Introducing BME680 Environmental Sensor Module

The BME680 is an environmental sensor that combines gas, pressure, humidity and temperature sensors. The gas sensor can detect a broad range of gases like volatile organic compounds (VOC). For this reason, the BME680 can be used in indoor air quality control.

BME680 Measurements

The BME680 is a 4-in-1 digital sensor that measures:

  • Temperature
  • Humidity
  • Barometric pressure
  • Gas: Volatile Organic Compounds (VOC) like ethanol and carbon monoxide

Gas Sensor

The BME680 contains a MOX (Metal-oxide) sensor that detects VOCs in the air. This sensor gives you a qualitative idea of the sum of VOCs/contaminants in the surrounding air – it is not specific for a specific gas molecule.

MOX sensors are composed of a metal-oxide surface, a sensing chip to measure changes in conductivity, and a heater. It detects VOCs by adsorption of oxygen molecules on its sensitive layer. The BME680 reacts to most VOCs polluting indoor air (except CO2).

When the sensor comes into contact with the reducing gases, the oxygen molecules react and increase the conductivity across the surface. As a raw signal, the BME680 outputs resistance values. These values change due to variations in VOC concentrations:

  • Higher concentration of VOCs » Lower resistance
  • Lower concentration of VOCs » Higher resistance

The reactions that occur on the sensor surface (thus, the resistance) are influenced by parameters other than VOC concentration like temperature and humidity.

Relevant Information Regarding Gas Sensor

The gas sensor gives you a qualitative idea of VOCs gasses in the surrounding air. So, you can get trends, compare your results and see if the air quality is increasing or decreasing. To get precise measurements, you need to calibrate the sensor against knows sources and build a calibration curve.

When you first get the sensor, it is recommended to run it for 48 hours after start collecting “real” data. After that, it is also recommend to run the sensor for 30 minutes before getting a gas reading.

BME680 Accuracy

Here’s the accuracy of the temperature, humidity and pressure sensors of the BME680:

Sensor Accuracy
Temperature +/- 1.0 ºC
Humidity +/- 3 %
Pressure +/- 1 hPa

BME680 Operation Range

The following table shows the operation range for the temperature, humidity and pressure sensors for the BME680.

Sensor Operation Range
Temperature -40 to 85 ºC
Humidity 0 to 100 %
Pressure 300 to 1100 hPa

BME680 Pinout

Here’s the BME680 Pinout:

VCC Powers the sensor
GND Common GND
SCL SCL pin for I2C communicationSCK pin for SPI communication
SDA SDA pin for I2C communicationSDI (MOSI) pin for SPI communication
SDO SDO (MISO) pin for SPI communication
CS Chip select pin for SPI communication

The BME680 supports I2C and SPI Interfaces.

To use I2C communication protocol, use the following pins:

BME680 Arduino
SCL A5
SDA A4

BME680 SPI

To use SPI communication protocol, use the following pins:

BME680 Arduino
SCL (SCK SPI Clock) D13
SDA (SDI MOSI) D11
SDO (MISO) D12
CS (Chip Select) D10

Гигрометр KTJ- TA218A

Влагомер KTJ- TA218A подходит для измерения уровня влажности и температуры в помещениях. Как пользоваться гигрометром ТА218а? Термогигрометр или цифровой термогигрометр – это электронный прибор, который измеряет и отображает температуру (T) и относительную влажность (RH). Применяются: вентиляция и кондиционирование воздуха, климат-контроль, больницы, пищевые предприятия, сауны, тренажерные залы, офисы, конференц-залы, музеи, библиотеки, архивы, компьютерные залы, печать, склад или домашней автоматизации.

  • Диапазон измерения внешней температуры: 0°C – 50°C.
  • Индикация дисплея: C/F.
  • Диапазон измерения влажности: 10-95% RH.
  • Точность измерения температуры: +/- 1°C.
  • Влажность точность измерения: +/- 5%.
  • длина кабеля:

2 м.

напряжение питания: 1,5 В постоянного тока AAA.
Дисплей: 3,8 дюйма.

Использование стороннего аналогового датчика давления

Редко, но все же случаются ситуации, когда по каким-либо причинам использовать в схеме специализированный сенсор, рассчитанный на работу конкретно с Ардуино, не получается. Скажем, его невозможно найти сразу в близлежащих магазинах электроники, а ждать посылку долго. Выходом могут стать датчики давления, применяемые в автомобильной электронике. Их тоже можно связать непосредственно с микроконтроллером.

Примером послужит WABCO 4410400130 — сенсор указанного плана, используемый на большегрузных фурах. Единственное, требующее внимания в представленной схеме — питание у элемента раздельно с Arduino. В последнем, просто нет требуемых для запуска датчика +24 В. В связи с чем и приходится использовать дополнительный блок энергообеспечения, с правильными и достаточными характеристиками питания — 8–32 V постоянного тока, при минимуме 400 mА мощности.

Что касается соединения сенсора напрямую к плате микроконтроллера — в нем на выходе не более 5 В. И чем больше давление, тем меньший ток будет поступать на аналоговые контакты логического устройства. Вот только, на всякий случай, рекомендуется проверить изначальный выход мультиметром, с целью контроля варианта «пробития» сенсора, с возникновением обстоятельств беспрепятственного связывания OUT с минусом или плюсом питающей детектор линии.

Пример скетча получения информации с аналогового датчика:

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

И в окончании, технические характеристики WABCO 4410400130, для сравнения с похожими датчиками Arduino:

  • Тип: пьезоэлемент
  • Питание: 8–32 V
  • Рабочая температура: −40..+80 °С
  • Диапазон измерения: от 0 до 10 bar
  • Точность: 0.2–0.3 %
  • Предельное давление разрушения: 16 bar

Датчик давления Ардуино BMP180 (GY-68)

Барометр — это устройство, измеряющее атмосферное давление. Современные электронные барометры GY-68 и BMP180 основаны на пьезорезистивном или тензометрическом методе, т.е. в датчиках происходит изменение сопротивления материала под действием деформирующих сил

Обратите внимание, что датчик атмосферного давления GY-68 подключается к питанию 3,3 Вольт Arduino

Распиновка датчиков давления GY 68 и BMP 180

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

  • Напряжение питания: 5 Вольт
  • Рабочий ток: 0.5 мАмпер
  • Диапазон измерения: 300 гПа – 1100 гПа
  • Интерфейс подключения: I2C
  • Время срабатывания: 4.5 мс.
  • Точность измерения давления: 0,1 гПа.
  • Диапазон измерения температуры: 0 — 65 °C.

Как работает код

Библиотеки

Код начинается с включения необходимых библиотек: wire библиотека нужна для использования I2C, а Adafruit_Sensor и Adafruit_BME280 библиотеки для взаимодействия с датчиком BME280.

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

1
2
3

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

Поскольку мы собираемся использовать связь I2C, прокомментированы следующие строки, определяющие контакты SPI:

/*#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10*/

1
2
3
4

/*#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10*/

Давление по уровню моря

Переменная под названием SEALEVELPRESSURE_HPA уже создана.

#define SEALEVELPRESSURE_HPA (1013.25)

1 #define SEALEVELPRESSURE_HPA (1013.25)

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

Описание

BME280 – высокоточный метеодатчик, измеряющий такие параметры микроклимата как температура, влажность и атмосферное давление. В зависимости от модуля может подключаться к I2C и SPI шинами микроконтроллера и работать от 3-5V, если на плате есть стабилизатор, или 3V, если его нет.

На обратной стороне платы не просто так написано BME280/BMP280 – BMP является урезанной версией BME, в которой нет влажности. Как их различить, если недобросовестный китаец не поставил галочку? По корпусу датчика:

В наборе GyverKIT первых партий (все наборы 2021 года) шёл BME280 версии I2C 5V, но старт продаж набора совпал с мировым кризисом микросхем, из за которого датчик стал сильно дефицитным и китайцы начали хитрить. В наборах GyverKIT 000, 001 и 002 партий можно встретить:

  • Рабочий BME280
  • Рабочий BMP280
  • Нерабочий BMP280

В партии 003 у нас рабочий BMP280. Для влажности используется другой датчик.

Мы приносим свои извинения за эту ситуацию, вы можете запросить возврат средств за модуль у магазина Giant4.

Интерфейс I2C

Модуль использует простой двухпроводной интерфейс I2C, который можно легко подключить к любому микроконтроллеру.

Адрес I2C по умолчанию для модуля BME280 равен 0x76HEX и может быть легко изменен на 0x77HEX с помощью перемычки из припоя, устанавливаемой между площадками рядом с микросхемой.

Рисунок 4 – Модуль BME280. Площадки для напайки перемычки для выбора адреса I2C

Процедура изменения адреса I2C

  • Найдите перемычку из припоя рядом с чипом. По умолчанию средняя медная площадка подключена к левой площадке.
  • Перережьте ножом соединение между средней и левой медными площадками.
  • Добавьте каплю припоя между средней и правой медными площадками, чтобы установить между ними электрическое соединение. Это сменит адрес I2C на 0x77HEX.

Рисунок 5 – Установка перемычки для выбора адреса I2C датчика BME280

Примеры

Первым делом стоит удостовериться в работоспособности датчика и узнать его адрес, он может быть и . Загружаем следующий код:

#include <Wire.h>
void setup() {
  Serial.begin(9600);
  Serial.println("Start scan");
}

void loop() {
  for (uint8_t i = 1; i < 128; i++) {
    Wire.beginTransmission(i);
    if (!Wire.endTransmission()) Serial.println(i, HEX);
  }
  Serial.println("...");
  delay(5000);
}

Открываем монитор порта:

  • Если вывелось только Start scan и ничего больше – датчик бракованный и не будет работать
  • Если это рабочий BMP/BME – получим вывод такого вида:

Значит датчик ответил по адресу 0x76. Может ответить по 0x77.

Если вывод имеет вид

Значит Ардуино не находит датчиков на линии. Либо датчик подключен неправильно, либо бракованный.

Далее откроем базовый пример из библиотеки, который опрашивает значения с датчика. В можно передать адрес, который мы узнали из предыдущего скетча-сканера (не забываем префикс 0x). Загружаем и открываем порт:

#include <GyverBME280.h>
GyverBME280 bme;

void setup() {
  Serial.begin(9600);
  Serial.println("Start");
  
  // запуск датчика и проверка на работоспособность
  if (!bme.begin(0x76)) Serial.println("Error!");
}

void loop() {
  // температура
  Serial.print("Temperature: ");
  Serial.println(bme.readTemperature());

  // влажность
  Serial.print("Humidity: ");
  Serial.println(bme.readHumidity());

  // давление
  Serial.print("Pressure: ");
  Serial.println(bme.readPressure());

  Serial.println();
  delay(1000);
}
  • Если выведется только слово Start – датчик бракованный и из-за этого программа зависла
  • Если выведется Error! – датчик бракованный или адрес не соответствует, вернись к предыдущему пункту
  • Корректно выводятся все три параметра

Датчик рабочий, и это BME280

Выводится температура и давление, влажность – 0

Датчик рабочий, и это BMP280, т.е. без влажности.

Измеритель влажности МОДЕЛЬ C-02

Прибор измеряет CO2, Т и влажность, с тройным жидкокристаллическим дисплеем. Как пользоваться гигрометром? МОДЕЛЬ C-02 Т влажного термометра и функцией точки росы. Двухдиапазонный инфракрасный датчик CO2.

  • Автоматическое ведение журнала измерений с передачей данных на ПК. Удержание данных: замораживание показаний дисплея.
  • Индикацию низкого заряда батареи.
  • Рабочая Т: от 5°C до 50°C.
  • Рабочая влажность: от -10 до 90% влажности.
  • Влажность при хранении: от 10 до 90% относительной влажности.
  • Точность: CO2: ± 3% или ± 50ppm,
  • Влажность: ± 5% RH,
  • Температура: ± 1 C, ± 1,8 F.
  • Автоматическая емкость памяти: 20 000 измерений.
  • Последовательный интерфейс RS-232.

Итог

Львиная доля неисправностей в двигательной системе происходит из-за неисправностей в работе этого детектора. В отличие от ДТОЖ, о неисправности ДАД никто лишний раз не сообщит, однако его проблемы достаточно хорошо ощущаются во время вождения автомобиля.

Чем раньше вы заметите проблему, тем быстрее сможете спасти двигатель от износа. Прислушиваться к движку и лишний раз открывать капот и проверять всё нет смысла. Элементарный перерасход топлива бывалый водитель обнаружит достаточно быстро. Переключение передач, сопровождаемое вдавливанием вас в сиденье, как в популярных фильмах также ощущается без особых ухищрений.

Следите за автомобилем и своевременно обновляйте выходящие из строя элементы.

YouTube responded with an error: The calling IP address 87.236.20.136 does not match the IP restrictions configured on the API key. Please use the API Console to update your key restrictions.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: