Добрый день! Сегодня соберем барометрический высотомер с выводом значений на дисплей, он будет высчитывать разницу высот из разницы атмосферного давления. Точность у прибора, конечно, будет низкая, но посмотрим что из этого выйдет. Чтобы не было резких скачков, показания с датчика давления будем усреднять методом скользящего среднего. По умолчанию при включении на дисплей будет выводиться высота относительно уровня моря, давление на уровне моря примем равным 101325 Па. Предусмотрим прерывание по нажатию кнопки, при котором будет меняться нулевой уровень на текущий и отсчет будет идти уже относительно его.
Комплектующие:
- аналог arduino nano
- OLED-дисплей SSD1306
- датчик давления BMP180
- соединительные провода
- резистор 10 кОМ
- кнопка
- макетная плата
Более подробно о подключении и работе с дисплеем можно посмотреть здесь, а о датчике давления здесь.
Дисплей и датчик давления подключаем параллельно к А4 и А5, так как только эти выводы на ардуино нано могут работать с I2C и запитываем их от 3,3 В. Кнопку подключаем по схеме выше к D2, так как это один из выводов который работает с прерываниями на ардуино нано. Собираем все это на макетке, у меня получилось так:
Для работы с дисплеем и датчиком давления нам понадобятся библиотеки:
Код для определения атмосферного давления скопируем из статьи о работе датчика давления, написанной ранее. Добавим вычисление скользящего среднего, для усреднения. И сделаем прерывание через нажатие кнопки для обнуления высоты. В результате получился такой скетч:
При включении видим высоту над уровнем моря, она конечно не совсем верная т.к. зависит от множества факторов и будет меняться с течением времени и изменением других атмосферных показателей.
Далее обнуляем высоту и сверяемся с рулеткой.
Я конечно же сфотографировал самые удачные показания, но на самом деле они менялись в пределах ±20см. Полученный опыт считаю интересным, стоит повторить эксперимент с более точным датчиком давления.
Если статья была вам полезна ставьте лайк, подписывайтесь на мой канал, ведь впереди еще много интересного!
#arduino #diy #ардуино #электроника для начинающих #программирование #своими руками #электротехника #микроконтроллеры #arduino nano