Автомобили

Как только он поступил в продажу, многие захотели понять — новый это или просто переделанный автомобиль? Конечно, можно долго ломать голову, но нам интересны другие характеристики этой модели. Говоря простым языком, Лада Приора седан — это сейчас тот автомобиль, который тянет весь великий и могучий АВТОВАЗ.

 

  • Доллар - 30.4199
  • Евро   -  39.2173
Авто за рубежом » Автомобили »

Ардуино: ультразвуковой дальномер HC-SR04

Опубликовано: 27.08.2018

видео Ардуино: ультразвуковой дальномер HC-SR04

Ультразвуковой дальномер HC-SR04

Дальномер — это устройство для измерения расстояния до некоторого предмета. Дальномер помогает роботам в разных ситуациях. Простой колесный робот может использовать этот прибор для обнаружения препятствий. Летающий дрон использует дальномер для баражирования над землей на заданной высоте. С помощью дальномера можно даже построить карту помещения, применив специальный алгоритм SLAM.



1. Принцип действия

На этот раз мы разберем работу одного из самых популярных датчиков — ультразвукового (УЗ) дальномера. Существует много разных модификаций подобных устройств, но все они работают по принципу измерения времени прохождения отраженного звука. То есть датчик отправляет звуковой сигнал в заданном направлении, затем ловит отраженное эхо и вычисляет время полета звука от датчика до препятствия и обратно.


Подключение ультразвукового дальномера HC SR04

Из школьного курса физики мы знаем, что скорость звука в некоторой среде величина постоянная, но зависящая от плотности среды. Зная скорость звука в воздухе и время полета звука до цели, мы можем рассчитать пройденное звуком расстояние по формуле:


Ультрозвуковой дальномер HC SR04. Подключение его к Arduino nano

s = v*t

где v — скорость звука в м/с, а t — время в секундах.  Скорость звука в воздухе, кстати, равна 340.29 м/с.

Чтобы справиться со своей задачей, дальномер имеет две важные конструктивные особенности. Во-первых, чтобы звук хорошо отражался от препятствий, датчик испускает ультразвук с частотой 40 кГц. Для этого в датчике имеется пьезокерамический излучатель, который способен генерировать звук такой высокой частоты. Во-вторых, излучатель устроен таким образом, что звук распространяется не во все стороны (как это бывает у обычных динамиков), а в узком направлении. На рисунке представлена диаграмма направленности типичного УЗ дальномера.

Как видно на диаграмме, угол обзора самого простого УЗ дальномера составляет примерно 50-60 градусов. Для типичного варианта использования, когда датчик детектирует препятствия перед собой, такой угол обзора вполне пригоден. Ультразвук сможет обнаружить даже ножку стула, тогда как лазерный дальномер, к примеру, может её не заметить.

Если же мы решим сканировать окружающее пространство, вращая дальномер по кругу как радар, УЗ дальномер даст нам очень неточную и шумную картину. Для таких целей лучше использовать как раз лазерный дальномер.

Также следует отметить два серьезных недостатка УЗ дальномера. Первый заключается в том, что поверхности имеющие пористую структуру хорошо поглощают ультразвук, и датчик не может измерить расстояние до них. Например, если мы задумаем измерить расстояние от мультикоптера до поверхности поля с высокой травой, то скорее всего получим очень нечеткие данные. Такие же проблемы нас ждут при измерении дистанции до стены покрытой поролоном.

Второй недостаток связан со скоростью звуковой волны. Эта скорость недостаточно высока, чтобы сделать процесс измерения более частым. Допустим, перед роботом есть препятствие на удалении 4 метра. Чтобы звук слетал туда и обратно, потребуется целых 24 мс. Следует 7 раз отмерить, прежде чем ставить УЗ дальномер на летающих роботов.

2. Ультразвуковой дальномер HC-SR04

В этом уроке мы будем работать с датчиком HC-SR04 и контроллером Ардуино Уно. Этот популярный дальномер умеет измерять расстояние от 1-2 см до 4-6 метров. При этом, точность измерения составляет 0.5 — 1 см.

Встречаются разные версии одного и того же HC-SR04. Одни работают лучше, другие хуже. Отличить их можно по рисунку платы на обратной стороне. Версия, которая работает хорошо выглядит так:

А вот версия, которая может давать сбои:

3. Подключение HC-SR04

Датчик HC-SR04 имеет четыре вывода. Кроме земли (Gnd) и питания (Vcc) еще есть Trig и Echo. Оба этих вывода цифровые, так что подключаем из к любым выводам Ардуино Уно:

HC-SR04 GND VCC Trig Echo
Arduino Uno GND +5V 3 2

Принципиальная схема устройства

Внешний вид макета

4. Программа

Итак, попробуем приказать датчику отправить зондирующий ультразвуковой импульс, а затем зафиксируем его возвращение. Посмотрим как выглядит временная диаграмма работы HC-SR04.

На диаграмме видно, что для начала измерения нам необходимо сгенерировать на выводе Trig положительный импульс длиной 10 мкс. Вслед за этим, датчик выпустит серию из 8 импульсов и поднимет уровень на выводе Echo , перейдя при этом в режим ожидания отраженного сигнала. Как только дальномер почувствует, что звук вернулся, он завершит положительный импульс на Echo .

Получается, что нам нужно сделать всего две вещи: создать импульс на Trig для начала измерения, и замерить длину импульса на Echo, чтобы потом вычислить дистанцию по нехитрой формуле. Делаем.

int echoPin = 2; int trigPin = 3; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { int duration, cm; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); cm = duration / 58; Serial.print(cm); Serial.println(" cm"); delay(100); }

Функция pulseIn замеряет длину положительного импульса на ноге echoPin в микросекундах. В программе мы записываем время полета звука в переменную duration. Как мы уже выяснили ранее, нам потребуется умножить время на скорость звука:

s = duration * v = duration * 340 м/с

Переводим скорость звука из м/с в см/мкс:

s = duration * 0.034 м/мкс

Для удобства преобразуем десятичную дробь в обыкновенную:

s = duration * 1/29 = duration / 29

А теперь вспомним, что звук прошел два искомых расстояния: до цели и обратно. Поделим всё на 2:

s = duration / 58

Теперь мы знаем откуда взялось число 58 в программе!

Загружаем программу на Ардуино Уно и открываем монитор  последовательного порта. Попробуем теперь наводить датчик на разные  предметы и смотреть в мониторе рассчитанное расстояние.

Задания

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

Строительный дальномер. Программа каждые 100мс измеряет расстояние с помощью дальномера и выводит результат на символьный ЖК дисплей. Для удобства полученное устройство можно поместить в небольшой корпус и запитать от батареек. Ультразвуковая трость. Напишем программу, которая будет «пищать» зуммером с различной частотой, в зависимости от измеренного расстояния. Например, если расстояние до препятствия более трех метров — зуммер издает звук раз в пол секунды. При расстоянии 1 метр — раз в 100мс. Менее 10см — пищит постоянно.

Заключение

Ультразвуковой дальномер — простой в использовании, дешевый и точный датчик, который отлично выполняет свою функцию на тысячах роботов. Как мы выяснили из урока, у датчика есть недостатки, которые следует учитывать при постройке робота. Хорошим решением может стать совместное использование ультразвукового дальномера в паре с лазерным. В таком случае, они будут нивелировать недостатки друг друга.

Новости

    Где купить билеты жд

    Недавно была свадьба у сестры. Так получилось, что не купили жд билеты заранее, и в кассах города их уже не было. Покупал жд билеты на сайте купить

    Квитки на поїзд Київ

    Очень часто ездию по стране. Приобретаю квитки на поїзд Київ только через настоящий сервис. Всегда удачно.

    Жд билеты в Харькове

    Необходимо приобрести жд билеты Харьков? Рекомендую обратиться к интернет-сервису Proizd.ua. Настоящий сервис направлен

    Где заказать билеты онлайн

    Если вам необходимо в срочном порядке приобрести залізничні квитки, тогда я бы вам посоветовал воспользоваться услугами настоящего интернет-ресурса.

    Карго деталь
    В прошлой статье мы кое-как, в общем и целом, разбирались с тем, что такое Империя, с чем ее едят, и что представляет собой имперская политика. Ну а теперь, условившись о терминах, можно взвесить то,

    Диагностика автомобиля перед покупкой
    Полная диагностика автомобиля перед покупкой     Выбирая автомобиль, хоть какой человек глядит не только лишь на его прекрасные наружные данные, да и  на технические свойства.  Объемы движков, типы приводов,

    Выхлопная система ваз 2107 инжектор
    Вдруг, ни с того, ни с сего, при полном комфорте при езде на любимой «семёрке» возникает непонятный «рык» на подгазовке. Водитель выключает магнитолу и прислушивается. После каждого нажатия на педаль

    Газель 405 двигатель инжектор
    Двигатель ЗМЗ-405 производится ОАО «Заволжский моторный завод» - основным поставщиком силовых агрегатов для Горьковского автозавода. Этот мотор является модернизированным вариантом известного,

    Замена лобового стекла ниссан
    У вас автомобиль Ниссан? И пришло время заменить лобовое стекло? Я советую вам обратиться к настоящим профессионалам своего дела. Здесь замена лобового стекла ниссан произойдёт для вас максимально быстро,

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

Анекдоты

Где можно получить права на вождение танка и бронетранспортёра? Господи, катайтесь так! Кто вас остановит?!
rss