Как подключить ультразвуковой датчик к ардуино: Ультразвуковой датчик расстояния и Arduino||Arduino-diy.com

Урок №7 — Изучаем ультразвуковой датчик

Содержание урока

Введение:

7.1. Изучаем ультразвуковой датчик

7.2. Робот-полицейский

7.3. Ультразвуковой датчик — режим «Присутствие/слушать»

Введение:

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

7.1. Изучаем ультразвуковой датчик

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

Рис. 1

Ультразвуковой датчик может выдавать измеренное расстояние в сантиметрах или в дюймах. Диапазон измерений датчика в сантиметрах равен от 0 до 255 см, в дюймах — от 0 до 100 дюймов. Датчик не может обнаруживать предметы на расстоянии менее 3 см (1,5 дюймов). Так же он не достаточно устойчиво измеряет расстояние до мягких, тканевых  и малообъемных объектов. Кроме режимов измерения расстояния в сантиметрах и дюймах датчик имеет специальный режим «Присутствие/слушать». В этом режиме датчик не излучает ультразвуковые импульсы, но способен обнаруживать импульсы другого ультразвукового датчика.

У нашего робота, собранного по инструкции small-robot-45544, ультразвуковой датчик уже закреплен впереди по ходу движения. Подключим его кабелем к порту «3» модуля EV3 и приступим к разбору практических примеров использования ультразвукового датчика.

Задача №14: написать программу, останавливающую прямолинейно движущегося робота, на расстоянии 15 см до стены или препятствия.

Для решения задачи воспользуемся уже знакомым нам программным блоком «Ожидание» Оранжевой палитры, переключив его в Режим: «Ультразвуковой датчик» — «Сравнение» — «Расстояние в сантиметрах» (Рис. 2). Само решение будет похоже на решение Задачи №7.

Рис. 2

Решение:

  1. Начать прямолинейное движение вперед (Рис. 3 поз. 1)
  2. Ждать, пока значение ультразвукового датчика не станет меньше 15 см. (Рис. 3 поз. 2)
  3. Прекратить движение вперед (Рис. 3 поз. 3)

Рис. 3

Задача решена!

Задача №15: написать программу для робота, держащего дистанцию в 15 см от препятствия. 

Решение: 

Поведение робота будет следующим:

  • при значении показания ультразвукового датчика больше 15 см робот будет двигаться вперед, стараясь приблизиться к препятствию;
  • при значении показания ультразвукового датчика меньше 15 см робот будет двигаться назад, стараясь удалиться от препятствия.

Мы уже знаем, что за организацию выбора выполняемых блоков в зависимости от условия отвечает программный блок

«Переключатель» Оранжевой палитры. Установим для блока «Переключатель» режим «Ультразвуковой датчик» — «Сравнение» — «Расстояние в сантиметрах» (Рис. 4 поз.1). Параметр «Тип сравнения» блока «Переключатель» установим в значение «Больше»=2, а «Пороговое значение» определим равным 15 (Рис. 4 поз. 2). Такие настройки программного блока «Переключатель» приведут к следующему поведению программы: При показаниях ультразвукового датчика больше 15 см будут выполняться программные блоки, помещенные в верхний контейнер (Рис. 4 поз. 3), в противном случае будут выполняться программные блоки, помещенные в нижний контейнер (Рис. 4 поз. 4).

Рис. 4

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

Для того чтобы программный блок «Переключатель» выполнялся многократно, поместим его внутрь программного блока «Цикл» Оранжевой палитры (Рис. 5).

 

Рис. 5

Загрузите получившуюся программу в робота и запустите ее на выполнение. Если перед роботом отсутствует препятствие, то он поедет вперед. Поднесите руку близко к ультразвуковому датчику, попробуйте отводить — приближать руку. Как ведет себя робот? Ждем ваши комментарии к этому уроку.

7.2. Робот-полицейский

Принцип работы ультразвукового датчика очень похож на радар, который применяется для измерения скорости движущихся автомобилей. Как радар узнаёт скорость автомобиля? Он измеряет расстояние до движущегося объекта, ждёт заданное небольшое время и повторяет измерение. Разность расстояний — это пройденный путь автомобиля. Разделив пройденный путь на время между двумя измерениями, можно найти скорость, с которой двигался объект измерения.

Давайте же научим и нашего робота работе радара!

Рис. 6

Последовательность действий, выполняемых роботом, будет следующей:

  • Робот ждёт появления в зоне контроля движущегося объекта;
  • измеряет расстояние до объекта;
  • ждёт 1 секунду;
  • повторно измеряет расстояние до объекта;
  • находит пройденное расстояние и сравнивает его с пороговым значением;
  • выводит на экран результат и подает тревогу в случае превышения скорости.

 Начнём создавать программу для нашего робота-полицейского.

  1. С помощью программного блока «Ожидание» ждём появления объекта в зоне контроля робота
    (Рис. 7 поз. 1)
    . Расстояние до объекта передаем в программный блок «Математика» (Рис. 7 поз. 4).
  2. С помощью программного блока «Ожидание» ждем 1 секунду.
  3. Второй раз снимаем показание ультразвукового датчика (Рис. 7 поз. 3) и передаем полученное значение в программный блок «Математика» (Рис. 7 поз. 4).
  4. В программном блоке «Математика» находим расстояние, пройденное объектом измерения за 1 секунду. Полученное значение передаем в программный блок «Сравнение» (Рис. 7 поз. 5) и выводим на экран (Рис. 7 поз. 6).
  5. С помощью программного блока «Сравнение» (Рис. 7 поз. 5) сравниваем пройденное расстояние с пороговым значением, равным 10. Результат сравнения двух чисел представляет собой логический вывод. Логический вывод может принимать одно из двух значений:
    «Да»
    или «Нет». Этот вывод мы передаем в прогаммный блок «Переключатель» (Рис. 7 поз. 7), настроив его на прием логических значений. Обратите внимание: шины данных, передающие логические значения, окрашены в зеленый цвет, в отличие от желтых шин данных, передающих числовые значения. (В дальнейшем мы подробнее ознакомимся с принципами обработки логических значений).
  6. С помощью программного блока «Переключатель» мы организуем две ветки поведения программы в зависимости от скорости объекта. Если объект за 1 секунду приблизился к роботу, больше чем на 10 см, значит, будем считать его приближение критическим и подадим сигналы тревоги (Рис. 7 поз. 8). В противном случае будем считать, что объект движется медленно, в этом случае робот включит зеленую подсветку клавиш модуля EV3 и произнесёт
    «Okay»
    .
  7. В конце программы еще раз воспользуемся программным блоком «Ожидание» (Рис. 7 поз. 10) и «придержим» завершение программы на 5 секунд, чтобы успеть прочитать информацию на экране модуля EV3.

Рис. 7 

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

7.3. Ультразвуковой датчик — режим «Присутствие/слушать»

Как уже отмечалось выше, в этом режиме ультразвуковой датчик способен обнаруживать излучение другого ультразвукового датчика. Результатом обнаружения является логическое значение: «Да», если найдено ультразвуковое излучение, или «Нет», если ничего не найдено. Данный режим можно использовать, например, в состязаниях роботов-шпионов (описание режима уже говорит о том, что для его использования необходимо минимум два робота).

Задача № 16: необходимо написать программу, обнаруживающую другого робота, с работающим ультразвуковым датчиком.

Попробуйте написать программу самостоятельно, не подглядывая в решение!

Решение Задачи №16

Используя знания, полученные ранее, попробуйте самостоятельно разобрать вариант решения Задачи №16. Предложите свой вариант решения…

УЛЬТРАЗВУКОВОЙ ДАТЧИК HC-SR04 С ARDUINO

Ультразвуковой датчик HC-SR04 — это датчик, который может измерять расстояние. Он излучает ультразвук с частотой 40 000 Гц (40 кГц), который распространяется по воздуху, и если на его пути есть объект или препятствие, он отражается обратно в модуль. Он обычно используется в роботах, избегающих препятствий, и в проектах автоматизации. Он поставляется в комплекте с модулями ультразвукового передатчика и приемника.

Вот список некоторых характеристик и характеристик ультразвукового датчика HC-SR04:

  • Источник питания: +5 В постоянного тока
  • Ток покоя: <2 мА
  • Рабочий ток: 15 мА
  • Эффективный угол: <15°
  • Расстояние дальности: 2 см – 400 см/1″ – 13 футов
  • Разрешение: 0,3 см
  • Угол измерения: 30 градусов
  • Ширина входного импульса триггера: 10 мкс
  • Размеры: 45 мм x 20 мм x 15 мм

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

Эти звуковые волны распространяются по воздуху со скоростью звука, примерно 343 м/с. Если перед датчиком находится объект, звуковые волны отражаются обратно, и приемник ультразвукового датчика их обнаруживает. Измеряя, сколько времени прошло между отправкой и получением звуковых волн, можно рассчитать расстояние между датчиком и объектом.

При 20°C скорость звука составляет примерно 343 м/с или 0,034 см/мкс. Предположим, что время между отправкой и получением звуковых волн составляет 2000 микросекунд. Если вы умножите скорость звука на время прохождения звуковых волн, вы получите расстояние, которое прошли звуковые волны.
Расстояние = Скорость x Время
Но это не тот результат, который нам нужен. Расстояние между датчиком и объектом на самом деле составляет только половину этого расстояния, поскольку звуковые волны проходят от датчика к объекту и обратно от объекта к датчику. Значит, нужно разделить результат на два.

Расстояние (см) = скорость звука (см/мкс) × время (мкс) / 2
Итак, для примера это будет:
Расстояние (см) = 0,0343 (см/мкс) × 2000 (мкс) / 2 = 34,3 см

VCC — это источник питания для ультразвукового датчика расстояния HC-SR04, который мы подключаем к контакту 5V на Arduino.
Триггер Штифт (Триггер) используется для запуска ультразвуковых импульсов.
Вывод Echo генерирует импульс при приеме отраженного сигнала. Длина импульса пропорциональна времени, которое потребовалось для обнаружения передаваемого сигнала.
GND должен быть подключен к земле Arduino.

 

Соединение

  • Датчик имеет четыре контакта — GND, VCC, триггер, эхо
  • Работает от 5В. Подключите контакт Vcc датчика к Arduino 5v
  • . Контакт GND
  • ультразвукового датчика подключен к GND Arduino
  • .
  • Интерфейс триггерного и эхо-вывода датчика с любыми цифровыми выводами Arduino. Здесь мы подключены к цифровым контактам 2 и 3 Arduino.

Образец кода

 

Тестирование

 

Шаг 1. Подключите кабель A–B к USB-порту компьютера и убедитесь, что порт обнаружен, установив флажок в диспетчере устройств.

Шаг 2. Откройте два окна Arduino IDE, выберите Arduino UNO в качестве платы и выберите соответствующий COM-порт. Плата
: Инструменты > Плата > Arduino/Geniuno UNO.

 

 

Шаг 3. Порт: Инструменты > Порт в Arduino.

 

Шаг 4. Скомпилируйте и загрузите эту программу на плату Arduino Uno через Arduino IDE
Показания датчика будут получены в последовательном мониторе.

 

 

Демонстрация видео показана ниже РЕКОМЕНДУЕМ ДЛЯ ВАС:

Программное обеспечение шлюза SMS
Ozeki приносит вам выдающиеся
SMS-шлюз технологии. Используйте наш SMS-сервер продукты на Windows, Linux или Android

С# SMS API
Разработчики могут использовать наш C# SMS API . для отправки SMS из C#.Net. C# SMS API поставляется с полным исходный код

PHP SMS API
Озеки PHP SMS-шлюз программное обеспечение может использоваться для отправки SMS с PHP и получать SMS с помощью PHP на Ваш сайт

SMS-шлюз SMPP
Поставщики услуг SMS используют наши Решение SMPP-шлюза , который предлагает высокопроизводительный сервер SMPP и SMPP-клиент шлюз с потрясающими возможностями маршрутизации

Озеки 10


Следующий документ содержит некоторую полезную информацию об ультразвуковом преобразователе Arduino. датчики. С помощью этого датчика вы можете легко измерить расстояние между объектами и генерировать события в случае определенных измерений. Руководство содержит некоторые основные определения об ультразвуковом датчике и о том, как подключить его к вашему Arduino и управлять им со своего компьютера с помощью Ozeki 10. Итак, приступим.

Что такое ультразвуковой датчик?

Ультразвуковой датчик использует SONAR для определения расстояния до объекта. так же, как летучие мыши делают. Он предлагает отличное бесконтактное обнаружение дальности с высокой точность и стабильные показания в удобном корпусе от 2 см до 400 см или от 1 дюйма до 13 футов.

Как работает ультразвуковой датчик?

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

Схема подключения кнопок Arduino

Рисунок 1 – Схема подключения ультразвукового датчика Arduino

Как использовать ультразвуковой датчик Arduino в Ozeki

Соединение с ультразвуковым датчиком передает данные измерений с ультразвукового датчика на выбранное соединение Ozeki. Данные ультразвуковых измерений в см. Вы всегда можете задать текущее расстояние между любым объектом и датчиком. Можно установить пороговое значение изменения измерения, которое будет генерировать автоматические события каждый раз, когда измерение превышает пороговое значение. Чтобы использовать ультразвуковой датчик в Ozeki, сначала необходимо загрузить Ozeki Robot Developer. озэки Robot Developer установит библиотеки Arduino, необходимые для эффективного использования этого датчика.

Скачать Ozeki Robot Developer

После установки разработчика Ozeki Robot вам необходимо загрузить код управления ультразвуковым датчиком к вашему Ардуино. Вы можете найти код и инструкции по загрузке на следующих страницах. Процесс загрузки включает в себя два шага: сначала вам нужно отформатировать EEPROM Arduino, затем вам нужно загрузить контрольный код. Процедура очень проста, требуется только несколько секунд.

Загрузите код ультразвукового датчика в Arduino Uno 9.0031 Загрузить код ультразвукового датчика в Arduino Mega 2560
Загрузить код ультразвукового датчика в Arduino Nano
Загрузить код ультразвукового датчика в Raspberry Pi
Загрузить код ультразвукового датчика в Ozeki Matrix

Датчики Arduino и Ozeki будут обмениваться данными через порт USB с использованием протокола ультразвукового датчика Ozeki. Этот Протокол позволяет вам использовать датчик непосредственно на вашем ПК. Вы сможете управлять этим датчиком через веб-интерфейс. пользовательский интерфейс или вы сможете общаться с ним с помощью Ozeki Chat. Вы можете прочитать больше об управлении чатом на следующей странице.

Как общаться с ультразвуковым датчиком с помощью чата

Важно понимать управление чатом, потому что когда вы строите робота, Вы хотите управлять этим датчиком, отправляя и получая сообщения. Если вы откройте приложение Ozeki Robot Developer, вы увидите, кому вы можете написать C#.Net программа для работы с этим датчиком.

Этапы подключения

  1. Подключите ультразвуковой датчик к Arduino, используя схему подключения
  2. Подключите плату Arduino к компьютеру
  3. Проверьте COM-порты, чтобы убедиться, что ваш Arduino подключен
  4. Откройте приложение Arduino на вашем ПК
  5. Загрузить пример кода в микроконтроллер
  6. Откройте графический интерфейс Ozeki 10 в браузере
  7. Выберите подключение ультразвукового датчика
  8. Нажмите «Измерить», чтобы получить данные с датчика

Обзор системы

Предлагаемая нами система состоит из ультразвукового датчика, подключенного к аналоговому порту. вашего Ардуино. Arduino будет отвечать за чтение данных с этого устройства. в настоящее время. Мозг системы будет работать на ПК (рис. 2). На ПК Озеки 10 смогут управлять общением. Вы можете легко запустить Ozeki 10 с помощью веб-браузера.

Рис. 2. Конфигурация системы подключения ультразвукового датчика к ПК с помощью Arduino

Предварительные условия

  • Ультразвуковой датчик
  • Ozeki 10 установлен на вашем компьютере
  • Программируемая плата (Arduino Mega/Nano/Uno, ультразвуковой модуль Ozeki или Raspberry Pi)
  • USB-кабель необходим между Arduino Mega/Nano/Uno, ультразвуковым модулем Ozeki и вашим компьютером

Шаг 1. Подключите ультразвуковой датчик к плате Arduino 9.0061

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

  • Ардуино Мега 2560
  • Ардуино Нано

Ваш браузер не поддерживает видео тег.

  • Ардуино Уно
  • Ультразвуковой модуль Ozeki
  • Малиновый Пи
    (Если вы используете Raspberry Pi, перейдите к «Шаг 3»)

После подключения подключите плату к компьютеру!

Шаг 2. Загрузить код в микроконтроллер

(Вот код для загрузки)

Ваш браузер не поддерживает видео тег.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *