В этом видео инструкция как собрать себе маленький классный прибор на Arduino, для этого понадобится:
— Arduino NANO: http://ali.pub/2351o1
— OLED дисплей: http://ali.pub/2351lp
— Барометр BMP-280: http://ali.pub/2351u2
— Батарейный отсек AA: http://ali.pub/2352id
— Выключатели 20шт: http://ali.pub/2352gf
— Кнопки 25шт: http://ali.pub/235230
— Повышающий преобразователь 10шт: http://ali.pub/23528u
— Корпус печатаем на принтере или используем такой: http://ali.pub/2352la
✔ Крутая китайская лазерная рулетка с камерой: http://ali.pub/1x07vr резерв: http://ali.pub/1x07wj
— Макетная плата 830 точек: http://ali.pub/23520h
— Набор проводов: http://ali.pub/2351xy
⇒ ПРОЕКТ: https://github.com/voltnik/AltMeter
Привет друзья, сегодня мы сделаем с вами одно простое и полезное электронное измерительное устройство, которое вы сможете легко повторить и собрать для себя сами. И… да! Один датский физик точно бы позавидовал таким маленьким его размерам.
Но сначала немного пред истории. А точнее – совсем истории. В начале 20 века, когда будущий нобелевский лауреат Нильс Бор был еще студентом и сдавал экзамен по физике в университете. То ему попалась задача, которая гласила: «Каким образом можно измерить высоту здания при помощи барометра?». И сегодня мы будем решать эту задачу при помощи платформы Ардуино.
Ну, конечно можно взять китайскую лазерную рулетку. Подняться наверх здания и ткнуть кнопку – но это не наш метод.
Итак, для сборки нам понадобится вот эта куча деталек. Сам контроллер Ардуино Нано, OLED экран 128 на 64 точки, повышающий преобразователь USB для повербанка, пара китайских кнопок, кейс для одной пальчиковой батарейки, маленький выключатель и модуль барометра. Еще для проекта на стадии разработки я использовать разные модули барометра: BMP-180 и BMP-280. И в итоге выбрал 280ю модель из-за более высокой точности данного модуля.
Купить все эти комплектующие можно на сайте Алиэкспресс и все ссылки есть в описании этого видео.
Если же вы планируете вести подобные разработки самостоятельно, то рекомендую делать это на макетной плате на 830 точек. На нее отлично устанавливается контроллер Ардуино и у вас будет много свободного места под другие электронные компоненты для работы.
Подключаем все по данной схеме. Ни одного резистора. Красота. Но будьте внимательны! Модуль барометра BMP-280 работает от питания 3.3 вольта, поэтому подключаем его к соответствующему пину на Ардуино.
Автономное питание будет всего от одной пальчиковой батарейки размера два А на 1.6 вольта. Но как вы знаете для работы Ардуино требуется 5 вольт. Поэтому понадобится еще повышающий преобразователь от повербанка и выключатель.
Ну и конечно, для того чтобы получилось законченное устройство нужен корпус. Подойдет любой пластиковый контейнер, например, подобный китайский. Но я буду по взрослому печатать свой корпус на 3Д принтере. Использовать для моделирования тяжелый Автокад совсем не обязательно, вполне достаточно инструментов на сайте ThinkerCad. Измеряем, рисуем, импортируем файл и печатаем на 3Д принтере. Сначала я напечатал пристрелочный корпус с тонкими стенками на 1 миллиметр из белого пластика, почти все отлично подошло, немного не хватило высоты и стенки оказались тонкими и проминались, поэтому напечатал окончательный вариант уже черным пластиком со стенками в полтора миллиметра, и с технологическими отверстиями под выключатель и мини USB разъем Ардуино.
Паяем весь проект в окончательном виде на короткие соединительные провода и проверяем что он включается, работает и реагирует на нажатие кнопок. В итоге останется только подключить барометр, провода для которого уже готовы и выведены.
Весь комплект идеально поместился в напечатанный на принтере корпус. Аккуратно приклеиваем к корпусу термоклеем экран, кнопки, повышающий преобразователь и сам контроллер Ардуино. Последняя проверка перед подключением барометра, подключаю батарейку и все отлично включается, припаиваем модуль BMP-280 и прижимаем к нему небольшой кусок паралона, это нужно чтобы барометр не реагировал на порывы ветра и показания были более точными.
И последний штрих, печатаем заднюю крышку и клеим ее опять же на китайские сопли. В итоге получился компактный высотомер. Он почти готов, осталось только подключить Ардуино к компьютеру и загрузить прошивку. У высотомера сверху для этого выведен разъем мини-USB для прошивки.
Заходим на страницу проекта, ссылка на него есть в описании видео и качаем архив. Распаковываем и открываем файл прошивки.
Особого смысла править прошивку нет. Я постарался ее комментировать сносками, единственное что можно сделать – это повесить какую-нибудь функцию на короткое нажатие синей кнопки. Это вот тут в коде.
Загружаем прошивку в Ардуино. Если после включения экран на высотомере не ожил, то нужно загрузить в Ардуино скетч который просканирует адреса устройств на шине I2C. И в консоли сериал порта можно будет увидеть адреса всех устройство подключенных в данный момент. У меня получилось, что адрес 3С – это экран, 76 – это 280й барометр и 77 адрес – 180й барометр – 180й не используется, тут он в качестве примера, у вас могут быть другие адреса модулей.
После загрузки прошивки экран включится и на нем сразу будут показаны текущие значения с датчика. В верхней строке текущее значение давления. Вторая строка высота над уровнем моря. Это не точный показатель, и он гуляет в зависимости от погоды, вчера было 170, сегодня 195. Третья строка высота от нулевой точки, задавал точку вчера и видно, что за день давление изменилось и теперь на экране 20 метров. И в последней строке температура.
При нажатии на красную кнопку происходит смена отображения экрана. Первый экран – это давление, второй – высота над уровнем моря, третий – отфильтрованная высота от нулевой точки (фильтр работает по последним 20 замерам и полностью обновляется за 6 секунд), четвертый – тот же самый замер без фильтра (то что измерил, то и показывает), видно, что значения скачут сильнее. И на последнем экране температура.
Синяя кнопка отвечает за установку нулевой высоты. При удержании кнопки в течении трех секунд текущее значение давления записывается в энергонезависимую память высотомера. И прибор будет считать высоту от этого давления.
Как видите фильтрованные значения Зеро1 колеблются около нуля, а мгновенные значения высоты без фильтра Зеро2 немного пляшут.
Настало время для решения задачи замера высоты здания при помощи барометра. Крыши закрыты. Поэтому буду измерять высоту 14 этажа. Для этого я вывел на один экран сразу оба значения высоты с фильтром и без.
Сначала на земле устанавливаем нулевую точку отсчета давления. И теперь можно ехать на лифте вверх. Прикольно, высотомер онлайн показывает, как меняется высота и тут видно, что нижнее фильтрованное значение немного запаздывает.
14 этаж. По барометру тут примерно 40 с половиной метров. Значения плавают примерно на полметра. Для измерения высоты по атмосферному давлению – это отличный результат, ведь оно же не стабильно и все время меняется.
Проверим показания с помощью крутой китайской лазерной рулетки с камерой ссылочка на нее тоже есть в описании. Рулетка намерила 40 метров и 30 сантиметров.
И снова прокатимся на лифте, но теперь уже вниз. Высота постепенно уменьшается.
Ну и конечно я не мог не поставить высотомер на квадрик и погонять. Классный вид. Хорошо летаем. Максимально я поднялся на высоту 220 метров.
А далее произошла потеря сигнала управления и автоматическая посадка.
А теперь зацените какой я тупой. На прошлой полетухе пару дней назад при краше квадрика о стальной трос крана срезало обе антенны, остались только два огрызка по сантиметру. А я заметил это только сейчас. Ну, в общем, 220 метров без антенн – я считаю это просто супер результат. А с антеннами и километр должен взять, но это будет уже другая история.
Сделать себе такой высотомер вы можете самостоятельно, а по комплектующим получается очень дешево и доступно. На странице проекта есть все необходимые для этого файлы и ссылки, почти все заказывается у одного продавца на Алиэкспресс.
Надеюсь вам понравился данный проект, на сегодня это все, и я прощаюсь, всем пока-пока!
Leave A Comment
You must be logged in to post a comment.