Arduino подключение и использование HC-SR04

Подключение дальномера

Всем привет! В сегодняшней статье мы затронем подключение и использование ультразвукового датчика расстояния HC-SR04 совместно с Arduino Uno и то как ему удается измерять расстояние.

HC-SR04

Датчик HC-SR04 позволяет измерить дистанцию до объекта бесконтактным способом используя ультразвуковые волны, похожим способом дистанцию до объектов измеряют летучие мыши.

Основой датчика служит приемный микрофон и передающий динамик. Динамик посылает импульсы, а микрофон ловит сигнал, который отражается от препятствий. Электроника датчика анализирует то сколько времени прошло с момента передачи сигнала до момента получения отраженного сигнала и на основе этого возвращает дистанцию до препятствия.

В работе с hc-sr04 нет ничего сложного если даже не прибегать к специальным библиотекам, но мы будим использовать библиотеку специально разработанную для этого, она называется Ultrasonic. Ее нам придётся установить отдельно так как она не входит в штатную ide Arduino.

Установка библиотеки Ultrasonic
                            

Первым делом скачиваем файлы библиотеки с сайта автора http://freecode.com/projects/hc-sr04-ultrasonic-arduino-library

А потом распаковываем все в папку libraries, перезапускаем Arduino ide и у нас появятся 2 примера для работы с этим датчиком.

Приступим!

Оденем на Arduino uno lcd keypad shield и подключим к получившимуся бутерброду датчик HC-SR04 по следующей схеме: Vcc датчика к 5v на шильде, gnd к gnd, trig датчика к 12 порту шильда и Echo к 13 порту шильда.

Теперь давайте придумаем что должна уметь наша программа? Я предлагаю сделать так что бы при нажатии кнопки селект на дисплей выводилась измеренная дистанция.

В прошлых статьях мы с вами уже делали многоуровневое меню, в этой статье мы будим использовать более правильный подход, меню будет формироваться только при условии, что нажата кнопка селект. Это позволит перерисовывать выводимый на экран текст только тогда когда это действительно нужно и позволит избавится от задержки delay() при исполнении нашей Arduino любой другой задачи.

В результате у нас получается следующий код:

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

Метки: , , , , . Закладка Постоянная ссылка.

Добавить комментарий