- Используемые компоненты
- Модуль ультразвукового датчика
- Принципиальная схема и объяснение ультразвукового датчика Arduino
- Код ультразвукового датчика Arduino для измерения расстояния
Ультразвуковые датчики - отличные инструменты для измерения расстояния и обнаружения объектов без реального контакта с физическим миром. Он используется в нескольких приложениях, например, для измерения уровня жидкости, проверки близости и, что еще более популярно, в автомобилях для помощи в системах самостоятельной парковки или предотвращения столкновений. Ранее мы также реализовали множество проектов ультразвуковых датчиков, таких как определение уровня воды, ультразвуковой радар и т. Д. Это эффективный способ точного измерения малых расстояний. В этом проекте мы использовали ультразвуковой датчик HC-SR04 с Arduino. определить расстояние от датчика до препятствия. Основной принцип ультразвукового измерения расстояния основан на ECHO. Когда звуковые волны передаются в окружающей среде, они возвращаются к источнику в виде ЭХО после удара о препятствие. Таким образом, нам нужно только рассчитать время прохождения обоих звуков, то есть время истечения и время возврата в исходное положение после удара о препятствие. Поскольку скорость звука нам известна, после некоторых вычислений мы можем вычислить расстояние. Мы собираемся использовать ту же технику для этого проекта измерения расстояний Arduino, так что приступим.
Используемые компоненты
- Arduino Uno или Pro Mini
- Модуль ультразвукового датчика
- ЖК-дисплей 16x2
- Шкала
- Хлебная доска
- Батарея 9 вольт
- Соединительные провода
Модуль ультразвукового датчика
Существует много типов датчиков расстояния Arduino, но в этом проекте мы использовали HC-SR04 для измерения расстояния в диапазоне от 2 до 400 см с точностью до 3 мм. Модуль датчика состоит из ультразвукового передатчика, приемника и цепи управления. Принцип работы ультразвукового датчика следующий:
- Сигнал высокого уровня отправляется на 10 мкс с помощью триггера.
- Модуль автоматически отправляет восемь сигналов 40 кГц, а затем определяет, получен импульс или нет.
- Если сигнал получен, значит, он через высокий уровень. Время большой продолжительности - это временной интервал между отправкой и получением сигнала.
Расстояние = (Время x скорость звука в воздухе (340 м / с)) / 2
Временная диаграмма
Модуль работает с естественным явлением ECHO звука. Для запуска модуля отправляется импульс длительностью около 10 мкс. После чего модуль автоматически отправляет 8 циклов ультразвукового сигнала 40 кГц и проверяет его эхо. Сигнал после удара о препятствие возвращается и улавливается приемником. Таким образом, расстояние от препятствия до датчика просто рассчитывается по формуле, представленной как
Расстояние = (время x скорость) / 2.
Здесь мы разделили произведение скорости и времени на 2, потому что время - это общее время, которое потребовалось, чтобы достичь препятствия и вернуться обратно. Таким образом, время, необходимое для преодоления препятствия, составляет лишь половину от общего времени.
Принципиальная схема и объяснение ультразвукового датчика Arduino
Принципиальная схема для Arduino и ультразвукового датчика показана выше для измерения расстояния. В схемных соединениях контакты «триггера» и «эха» модуля ультразвукового датчика напрямую подключены к контактам 18 (A4) и 19 (A5) Arduino. ЖК-дисплей 16x2 подключен к Arduino в 4-битном режиме. Управляющий вывод RS, RW и En напрямую подключены к контактам 2, GND и 3 Arduino. А контакт данных D4-D7 подключен к 4, 5, 6 и 7 Arduino.
Прежде всего нам нужно запустить модуль ультразвукового датчика для передачи сигнала с помощью Arduino, а затем дождаться получения ECHO. Arduino считывает время между запуском и полученным ECHO. Мы знаем, что скорость звука составляет около 340 м / с. поэтому мы можем рассчитать расстояние, используя данную формулу:
Расстояние = (время в пути / 2) * скорость звука
Где скорость звука около 340м в секунду.
Для отображения расстояния используется ЖК-экран 16x2.
Узнайте больше о работе над проектом измерения расстояния в этом руководстве: Измерение расстояния с помощью ультразвукового датчика и микроконтроллера AVR.
Код ультразвукового датчика Arduino для измерения расстояния
Полный код этого проекта ультразвукового измерения расстояния приведен внизу этой страницы. В коде мы считываем время с помощью pulseIn (pin). Затем выполните вычисления и отобразите результат на ЖК-дисплее 16x2, используя соответствующие функции.