Найти в Дзене
DIY

Подключение датчика атмосферного давления MS5611 к ардуино по I2C.

В этой статье рассмотрим датчик MS5611 на модуле GY-63 и его подключение к ардуино по I2C протоколу. Датчик сертифицирован для работы в устройствах по определению высоты и имеет заявленную точность 10 см. Такая точность достигается путем заводской калибровки, каждый датчик проверяют на стенде и вычисляют значение компенсации отклонений.

Размер: 19 мм х 14 мм.
Размер: 19 мм х 14 мм.
-2

Модуль имеет свой стабилизатор питания и его можно подключить как к 3,3 В, так и к 5 В ардуино. Более подробные характеристики можно посмотреть в datasheet. Подключение по I2C достаточно простое и в таблице ниже представлено для разных плат.

-3
Обратите внимание, что у модуля есть подтяжка шины I2C к питанию и она осуществляется сопротивлением всего лишь 2,2 кОм, при подключении других модулей с собственной подтяжкой можно легко пройти порог минимальной подтяжки.
-4

Загрузим в ардуино сканер I2C шины и определим адрес модуля.

Адрес данного модуля 0x77.
Адрес данного модуля 0x77.
  • Для работы модуля необходима библиотека Arduino-MS5611 скачать

Чтобы понять как работает библиотека откроем один из примеров.

-6

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

Настройка точности (чем точнее, тем дольше считывание показаний, от 9 мс до 1мс).

-7

Считывание показаний без компенсации и с компенсацией.

-8

Загружаем скетч из этого примера в ардуино, открываем монитор порта и видим результат:

Не забудьте переключить в мониторе порта скорость на 115200 бод.
Не забудьте переключить в мониторе порта скорость на 115200 бод.

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

синий - без компенсации, красный - с компенсацией.
синий - без компенсации, красный - с компенсацией.

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

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

-11

скачать скетч

-12

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

Если статья была вам полезна ставьте лайк, подписывайтесь на мой канал, ведь впереди еще много интересного!

#diy #arduino #ардуино #сделай сам #своими руками #электроника #электроника для начинающих #технологии #микроконтроллеры #программирование