Подключение датчика давления HX710B к Arduino
На сайте уже есть несколько статьей про датчики давления, BME280 и BMP180. В этой статье расскажу, еще об одном датчик давления для Arduino, собранном на датчике MPS20N0040D и аналого-цифровом преобразователе HX710B. Модуль способен измерять давление воздуха от 0 до 40 кПа.
Технические параметры:
► Напряжение питания: 3.3 В — 5 В;
► Основные функции интегральных: MPS20N0040D-D и HX710B;
► Выход тип: цифровой;
► Диапазон измерения: 0 — 40 кпа;
► Размеры: 19 x 19 x 12 мм;
► Вес: 3 грамма.
Общие сведенья
Основан модуль на небольшом датчке давления MPS20N0040D имеющим всего 6 вводов. Датчик собран на основе тензодатчика, который прикреплен к диафрагме и при любом изменении давлении происходит изменение электрического сопротивления.
По схеме выше можно понять, что датчик MPS20N0040D собран по мосту Уитстона.
Чуть ниже, установлена микросхема HX710B, которая представляет собой 24-битный аналого-цифровой преобразователь (АЦП). По сути, данный модуль представляет собой тензодатчик и усилитель, о котором рассказывал раньше, в этой статье.

Назначение контактов:
► VIN, GND — Вывод источник питания;
► SCK — Тактовый вывод;
► OUT — Цифровой вывод.
Подключение датчика давления HX710B к Arduino
Необходимые детали:
► Контроллер Arduino UNO R3 x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
► Барометрический датчик давления 0-40 кПа HX710B x 1 шт.
Описание:
В примере покажу как подключить датчика давления HX710B к Arduino, все показания будем передавать в последовательный порт.
Подключение:
Из приведенной ниже принципиальной схемы можно увидеть, что мы используем всего четыре провода. Сначала подключаем вывода SCK и OUT к выводам D3 и D2, затем подключаем к VCC и GND к 5 В и GND.

Установка библиотеки:
Для работы датчиком HX710B необходимо установить библиотеку, для этого заходим на сайт скачиваем библиотеку и устанавливаем в среду разработки IDE (так же можно скачать в конце статьи)
Программа:
Схема и библиотека установлена, можно приступить к программой части. Открываем среду разработки Arduino IDE и копируем скетч ниже и загружаем его в Arduino UNO
Взаимодействие BMP180, датчика атмосферного давления и температуры, с Arduino
Взаимодействие BMP180, датчика атмосферного давления и температуры, с Arduino
Это простой датчик, разработанный специально для измерения атмосферного давления, и он действительно полезен для двух вещей.
- По мере того, как мы поднимаемся от уровня моря до горной вершины, атмосферное давление снижается. Это означает, что, измеряя давление, мы можем определить высоту. Таким образом, мы можем использовать этот датчик в качестве альтиметра (высотомера).
- Поскольку атмосферное давление меняется в зависимости от погоды, мы можем использовать его для мониторинга изменений погоды.
Эти датчики довольно просты в использовании, предварительно откалиброваны и не требуют дополнительных компонентов, поэтому вы можете начать измерение атмосферного давления, высоты над уровнем моря и температуры воздуха в самые кратчайшие сроки.
Обзор железа
В основе модуля лежит цифровой датчик давления и температуры нового поколения производства Bosch – BMP180.
Чип BMP180
BMP180 может измерять атмосферное давление от 300 гПа до 1100 гПа (что соответствует высотам от 9000 до -500 метров над уровнем моря) и температуру от -40°C до 85°C с точностью ±1,0°C.
Рисунок 1 – Чип BMP180 на модуле
Измерения давления настолько точны (небольшой шум соответствует колебаниям высоты 0,25 м), что вы даже можете использовать его в качестве альтиметра с точностью ±1 метр.
Рисунок 2 – Технические характеристики датчика BMP180
Требования к питанию
Модуль поставляется со встроенным стабилизатором 3,3В LM6206, поэтому вы можете без проблем использовать его с микроконтроллером с логикой 5 В, например, с Arduino.
Рисунок 3 – Стабилизатор 3,3 В на модуле BMP180
BMP180 потребляет менее 1 мА во время измерений и только 5 мкА в режиме ожидания. Такое низкое энергопотребление позволяет использовать его в устройствах с батарейным питанием.
Интерфейс I2C
Модуль использует простой двухпроводной интерфейс I2C, поэтому его можно легко подключить к любому микроконтроллеру по вашему выбору.
Адрес на шине I2C данного модуля установлен аппаратно, он равен 0x77HEX.
Распиновка модуля BMP180
Модуль BMP180 имеет только 4 вывода, связывающих его с внешним миром. Назначение выводов показано ниже:
Рисунок 4 – Распиновка модуля BMP180
VIN – вывод для подключения источника питания для модуля, напряжение питания может находиться в диапазоне от 3,3 до 5 В.
GND подключается к выводу земля на Arduino
SCL – это вывод синхронизации для интерфейса I2C.
SDA – вывод данных для интерфейса I2C.
Подключение модуля BMP180 к Arduino
Давайте подключим модуль BMP180 к Arduino.
Подключение довольно простое. Начните с соединения выводов GND на модуле и на плате Arduino, затем подключите вывод VIN к выводу 5V на Arduino.
Теперь остаются выводы, которые используются для связи I2C. Обратите внимание, что у разных плат Arduino для I2C используются разные выводы. На платах Arduino с разводкой R3 SDA (линия передачи данных) и SCL (линия синхронизации) находятся на разъеме выводов рядом с выводом AREF. Они также известны как A5 (SCL) и A4 (SDA).
Если у вас Arduino Mega, выводы будут отличаться! Вам необходимо использовать цифровые выводы 21 (SCL) и 20 (SDA). В таблице ниже приведены выводы, использующиеся для I2C на разных платах Arduino.
| SCL | SDA | |
|---|---|---|
| Arduino Uno | A5 | A4 |
| Arduino Nano | A5 | A4 |
| Arduino Mega | 21 | 20 |
| Leonardo/Micro | 3 | 2 |
Следующая диаграмма показывает, как всё подключить.
Рисунок 5 – Подключение модуля BMP180 к Arduino
Установка необходимых библиотек
Расчет высоты и барометрического давления с помощью модуля BMP180 требует много математики. К счастью, была написана библиотека Adafruit BMP180, чтобы скрыть все сложности, и мы могли бы выполнять простые команды для считывания данных о температуре, атмосферном давлении и высоте.
Чтобы установить библиотеку, перейдите в раздел «Скетч»→ «Подключить библиотеку» → «Управлять библиотеками…». Подождите, пока менеджер библиотек загрузит индекс библиотек и обновит список установленных библиотек.
Рисунок 6 – Установка библиотеки Arduino – выбор управления библиотеками в Arduino IDE
Отфильтруйте результаты поиска, набрав «bmp180». Там должно быть пара записей. Ищите библиотеку Adafruit BMP085 by Adafruit. Нажмите на эту запись, а затем выберите «Установка».
Рисунок 7 – Установка библиотеки Arduino BMP180
Код Arduino, чтение показаний температуры и атмосферного давления
Следующий скетч даст вам полное представление о том, как считывать с модуля BMP180 показания температуры и атмосферного давления, и может послужить основой для более практичных экспериментов и проектов.
Вот как выглядит вывод в мониторе последовательного порта.
Рисунок 8 – Вывод в мониторе последовательного порта
Каждое снижение давления на уровне моря на 1 гПа приводит к ошибке 8,5 м в расчетах высоты. Поэтому высота, которую мы получаем, достаточно близка, но не точна.
Вы можете получить более точное измерение высоты, если знаете текущее давление на уровне моря, которое будет зависеть от погоды.
Данный код предполагает, что текущее давление на уровне моря составляет 1013,25 миллибар, что равно 101325 Паскалям. Вот почему переменная seaLevelPressure_hPa установлена в 1013.25 .
Объяснение кода
Скетч начинается с включения двух библиотек, а именно Wire.h и Adafruit_BMP085.h .
Далее мы определяем переменную seaLevelPressure_hPa , необходимую для расчета высоты. Измените ее значение на текущее давление на уровне моря в вашем регионе.
Мы также создаем объект bmp , чтобы получить доступ к функциям, связанным с ним.
В функции setup() мы инициализируем последовательную связь с компьютером и вызываем функцию begin() .
Функция begin() инициализирует интерфейс I2C и проверяет правильность идентификатора чипа. Затем она программно перезапускает микросхему и ждет окончания калибровки датчика после запуска.
В функции основного цикла для считывания с модуля BMP180 показаний температуры, атмосферного давления и высоты мы используем следующие функции:
Arduino BMP180 (GY-68) как подключить барометр

Датчик давления BMP180 позволяет сделать простой барометр с платой Ардуино Нано или Уно. С помощью данного датчика можно создать погодную метеостанцию для дома, добавив к схеме датчик температуры и дисплей 1602 I2C. Рассмотрим, как правильно подключить датчик давления к Arduino bmp180 (bmp080) и вывести данные об атмосферном давлении на монитор порта Arduino IDE и LCD дисплей 1602.
Датчик давления Ардуино 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.
Подключение датчика bmp180 к Ардуино
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- датчик давления BMP180 (GY-68);
- дисплей LCD 1602;
- провода «папа-мама».
Как подключить датчик давления bmp180 к Arduino
| BMP180 (GY-68) | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VIN | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
Подключение к микроконтроллеру Ардуино осуществляется по интерфейсу I2C. Контакты SCL / SDA и питание модуля выведены на группу контактов. Кроме того, для работы с датчиком потребуется установить библиотеку BMP180 Breakout Arduino Library, которая позволяет упросить работу с модулем. Команды для bmp180 (bmp080) и gy-68 одинаковые, так что библиотека подойдет для всех перечисленных барометров.
Барометр на Ардуино своими руками
Пояснения к коду:
- чтобы убрать влияние высоты при измерении атмосферного давления, используйте функцию уровня моря и текущую высоту;
- скачать библиотеку SFE_BMP180.h для работы с датчиком атмосферного давления BMP180 Arduino можно на нашем сайте здесь.
Барометр на Ардуино BMP180 LCD1602

Схема барометра на Ардуино Уно — bmp180 + lcd 1602
В следующем примере данные температуры и давления выводятся на текстовый экран (на дисплей не входит вся информация), при этом к шине i2c два устройства сразу подключено. Всего к шине i2c можно подключать до 127 устройств. Подключите к микроконтроллеру текстовый экран (согласно схеме, размещенной выше) и загрузите следующий пример программы для датчика давления GY-68 Arduino Uno.
Пояснения к коду:
- изменив программу, вы можете выводить на экран не значение температуры, а абсолютное и относительное атмосферное давление;
- при изменении температуры воздуха, происходит корректировка давления.
Заключение. Датчик давления воздуха bmp180 очень прост в подключении к плате, а библиотека SFE_BMP180 позволяет без труда использовать этот модуль во многих DIY проектах для начинающих. Надеемся, что этот обзор был для вас полезен, а если у вас остались вопросы по работе с модулем bmp180 (gy-68) — оставляйте их в комментариях к этой записи. Мы стараемся отвечать на все вопросы пользователей.
Датчик давления воды для ардуино

Среди множества датчиков для ардуино нашлось место датчику давления воды. Как понятно из названия, датчик давления воды для ардуино измеряет давление создаваемое водой. Это полезно знать, например в квартире на верхних этажах, или в частном доме.
Модель датчика давления воды для ардуино представлен на алиэкспрессе моделью USP-G41-1.2. Внешний вид датчика представлен на рисунке ниже:
Рисунок 1. Внешний вид датчика давления воды для ардуино
Датчик давления воды USP-G41-1.2 преобразует давление воды в напряжение в виде линейной зависимости.
Характеристики датчика
| Питание (Vcc) | +5В |
| Напряжение выхода | в диапазоне от 0,5 до 4,5В |
| Рабочий ток потребления | 10мА |
| Измеряемое давление | в диапазоне от 0 до 1,2 МПа |
| Рабочая температура | в диапазоне от 0 до 85 градусов Цельсия |
| Время измерения показаний | 2 мс |
| Погрешность от температуры | 3,5 % |
Таблица характеристик датчика воды USP-G41-1.2
Подключение датчика давления к Arduino
| Vcc (красный провод) | Питание +5В |
| OUT (голубой или желтый провод) | Выход |
| GND (черный провод) | GND (Общий) |
Рисунок 2. Распиновка датчика давления
Программный код Arduino IDE для работы с датчиком давления
- Выход датчика (OUT) подключается к аналоговому контакту А0 Ардуино.
- В строчке float pressure_kPa = (voltage — 0.5) / 4.0 * 1200.0; вычисляется значение давления датчика учитывая измеряемый диапазон.
- Строчка float pressure_psi = pressure_kPa * 0.14503773773020923; переводит давление из КилоПаскалей в единицы psi.
Также учитывайте, что данный датчик имеет температурную погрешность. Ее, при необходимости, нужно учитывать.
