Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
[Редактировать]; См. Вариант 2 в шаге 6 с вводом базовой высоты вручную.
Это описание конструкции высотомера (высотомера) на базе Arduino Nano и датчика атмосферного давления Bosch BMP180.
Конструкция проста, но измерения стабильны и довольно точны (точность 1 м).
Каждую секунду делаются десять проб давления и вычисляется среднее из этих десяти. Это давление сравнивается с базовым давлением и используется для обработки высоты. Базовое давление измеряется в момент включения высотомера, поэтому это соответствует высоте нулевого метра. При необходимости базовое давление можно сбросить, нажав кнопку.
[Edit]: Версия 2 имеет ручной ввод высоты базовой линии. См. Описание в шаге 6
Во время установки базовой линии (включение или нажатие кнопки) текущее атмосферное давление отображается в течение одной секунды. После этого высота отображается на 4-значном дисплее, и он будет обновляться каждую секунду.
Красный индикатор используется для отрицательных высот при спуске с холма после установки базовой линии.
[Edit]: в версии 2 это означает отрицательную высоту, т.е. ниже уровня моря.
Высотомер питается от USB-кабеля, поэтому его можно использовать в автомобиле, мотоцикле или в любом другом месте с USB-портом или блоком питания.
Используются две специальные библиотеки. Один для BMP180, который можно найти здесь. И еще один для 4-значного дисплея TM1637, который можно найти здесь.
BMP180 - не самая новая версия. Вроде бы на смену BMP280. Заменить BMP180 на BMP280 в этой конструкции должно быть просто.
Части скетча основаны на файле «BMP180_altitude_example.ino», поставляемом с библиотекой BMP180.
Шаг 1. Макет для тестирования дизайна
Я начал с Arduino Uno, чтобы проверить дизайн. В финальной версии я использовал Nano, потому что он меньше.
Шаг 2: Создание платы и размещение
Используется одна единственная доска. На крышке корпуса находится кнопка, светодиод и 4-значный дисплей.
Шаг 3: Подключения контактов Arduino
Подключения для BMP180: GND - GNDVCC - 3.3V (!!) SDA - A4SCL - A5
Подключения для 4-значного дисплея TM1637: GND - GNDVCC - 5VCLK - D6DIO - D8
Светодиод для отрицательных значений - Спуск: D2
Кнопка сброса базового давления: D4
Шаг 4: Эскиз Arduino
Шаг 5: Заключительный
Это результат …
Шаг 6: Версия 2 с вводом базовой высоты вручную
В этой версии добавлена одна дополнительная кнопка. Кнопка 1 (черная) предназначена для запуска ручного ввода базовой высоты. Кнопка 2 (белая) предназначена для увеличения значения на цифру.
Последовательность при вводе высоты:
Нажата кнопка 1 - светодиод мигает 1 раз - кнопку 2 можно использовать для увеличения числа x в 000 раз.
Снова нажата кнопка 1 - светодиод мигнет 2 раза - кнопку 2 можно использовать для увеличения x цифры в 00x0
Снова нажата кнопка 1 - светодиод мигнет 3 раза - кнопку 2 можно использовать для увеличения x цифры в 0x00
Снова нажата кнопка 1 - светодиод мигнет 4 раза - кнопку 2 можно использовать для увеличения x цифры в x000
Снова нажата кнопка 1 - светодиод мигнет 5 раз - кнопку 2 можно использовать для изменения знака: led_on = отрицательный (ниже уровня моря), led_off = положительный (над уровнем моря)
Снова нажата кнопка 1 - светодиодный индикатор мигает 1 раз - ввод базовой высоты готов
Шаг 7:
Эскиз версии 2.