Ультразвуковой датчик определения расстояния HC-SR04 активно используется в проектах по робототехнике, работающих на основе Ардуино. По сути, этот сенсорный датчик во многом и делает из некоего электронного изделия робота. Для передвижения мало иметь запрограммированные моторы. Что толку в передвижении робота, если он будет натыкаться на препятствия. Вот для того, чтобы реагировать на возникновение препятствий на траектории движения, и нужен этот датчик. На фото можно увидеть конкретные примеры использования HC-SR04 в простых роботах (робот-паук и робот-грузовичок).
Датчик имеет вид, очень сильно напоминающий глаза. В принципе, это и есть глаза, только «видят» они оригинальным образом. Из одного сегмента датчика испускается ультразвуковой сигнал, второй сегмент регистрирует отражение этого сигнала от препятствия и путем несложных арифметических подсчетов на выходе датчик выдает значение расстояния до препятствия. Соответственно, можно запрограммировать определенную реакцию робота на препятствие (например, заставить робота остановиться или развернуться назад).
Схема подключения датчика проста, в интернете можно найти множество образцов кода программ для него. Программы написаны, в основном, любителями-энтузиастами. Часто под конкретный код необходимо будет скачать свою собственную ардуино-библиотеку. Все это также легко найти в интернете.
Кроме использования в роботах, можно сделать с HC-SR04 просто отдельный прибор–дальномер, который легко переносится в руках, имеет автономное питание и выдает данные измерения на собственный дисплей. О создании такого проекта и пойдет речь ниже.
Сразу оговоримся о тех возможностях, которые может предоставить нам данный прибор. Практическое использование нашего ультразвукового дальномера возможно для, например, строительных замеров в собственной квартире или доме. К примеру, нам необходимо будет вычислить площадь прямоугольной комнаты. Находим дальномером длину и ширину комнаты, затем самостоятельно перемножаем эти значения. Это и будет наша искомая площадь. Также мы можем быстро замерить нашим прибором высоту стены от пола и до потолка комнаты. При использовании каких-либо естественных ограничителей (например, установленных определенным образом книг) мы можем измерять расстояния между произвольно выбранными объектами. Одним словом, дальномер заменит вам измерительную рулетку.
Но! У этого прибора есть определенные ограничения. В принципе, заявленные технические характеристики позволяют датчиком производить замеры на расстояние до 6 метров. Но на практике максимальное расстояние, которое датчик HC-SR04 может относительно уверенно определять, составляет около 3-х, максимум 4-х метров (то есть большие расстояния этим прибором не измерить). Еще одним критическим показателем для такого дальномера будет обязательное отсутствие на пути замера каких-либо предметов-препятствий. И еще мы должны прибор точно направлять на препятствие, до которого нужно измерить расстояние.
Подытоживая рассказ об ограниченных возможностях нашего ультразвукового дальномера, отметим, что для проведения замеров больших и геометрически сложных объектов (комнат, зданий, предметов) необходимо все-таки использовать специализированное оборудование (строительную рулетку либо профессиональный лазерный дальномер).
Итак, начнем создание нашего прибора. Вот те электронные компоненты, из которых будет собираться «начинка» дальномера.
Нам понадобится: датчик HC-SR04; LCD-дисплей (16-ти рядный, двухстрочный); макетная плата (беспаечная на 400 точек); блок на 4 батарейки ААА; включатель/выключатель; соединительные провода папа-папа, (10 шт. длинной не более 10 см.), соединительные провода папа-мама (4 шт., длинной 20 см.), микроконтроллер на базе платы Ардуино нано.
Вот так в общих чертах выглядит схема подключения всех компонентов. Имейте в виду, что пины, к которым подключаются выходы от датчика (Trig и Echo), можно выбирать самостоятельно и выставлять их значение в коде программы. Также оба этих выхода можно подключать к одному и тому же пину на Ардуино.
Корпус нашего устройства будет иметь следующие размеры: длина 16 см, ширина 6 см., высота 6 см. В принципе, можно поискать в маркетплейсе и приобрести сразу готовый корпус из пластика. Главное, чтобы верхняя часть корпуса (на которой мы разместим дисплей) была съемная.
Я решил собрать корпус из фанеры толщиной 4 мм. Желательно выпиливать требуемые части корпуса с использованием электролобзика. У меня его не было под рукой и я выпиливал вручную, что, соответственно, отразилось на качестве ровности граней. Впрочем, все это дело можно подравнять шкуркой или напильником. Фанера в этом смысле очень пластичный материал. Соответственно, отверстия также доводятся до нужного размера и формы напильником, предварительно высверливаются дрелью.
Для начала я скрепил нижнюю и заднюю часть нашей конструкции, и на нижней части последовательно собрал и закрепил все необходимые электронные компоненты схемы.
В правую боковую часть вставил выключатель. И подключил его к блоку с элементами питания. Боковинки корпуса приклеиваем к основной платформе на клей типа «момент», либо любой другой «секундный» клей. Затем можно клеить и переднюю часть конструкции.
Дальше занимаемся с верхней частью (крышкой) нашего корпуса, куда будет вставляться дисплей. Но для начала мы разведем немного холодной сварки и тщательно замажем неровности на корпусе, стыки на углах и немного подкорректируем вырезы в передней части корпуса, предназначенные для датчика. Что касается верхней части корпуса, то здесь я вставил фанерную основу в готовую крышку из-под картонной коробки и закрепил эту конструкцию той же холодной сваркой.
Затем нам необходимо активно поработать наждачной бумагой для обработки мест прилегания застывшей холодной сварки. И далее оклеиваем весь корпус малярным скотчем (либо можно сразу оклеить декоративной мебельной пленкой). Ставим на место верхнюю часть корпуса (не забыв подключить дисплей к Ардуино). Включаем и проверяем работу электроники. Получается вот так.
Измерив несколько заведомо известных нам расстояний, убеждаемся, что дальномер работает корректно. Теперь нам остается лишь обклеить корпус декоративной мебельной пленкой, либо просто покрасить краской. Я решил сначала покрасить акриловой краской, ведь оклеить наш аппарат пленкой будет никогда не поздно. Выбрал несколько сине-фиолетовых оттенков, получилось забавно и «фантазийно». Прибор стал похожим на сказочный домик.
С учетом того, что профессионально с этим дальномером вы вряд ли будете работать, то такой веселенький вид нашего устройства лишний раз подчеркнет его развлекательный характер. Впрочем, это довольно полезное развлечение – собирать вполне себе рабочие приборы на базе микроэлектроники. Думается, что это неплохая идея для тематических уроков по предмету «Технология» для школьников и тем более вполне себе интересный проект для кружковых занятий с ребятами.