код для ультразвукового датчика ардуино

Ультразвуковой дальномер HC-SR04: подключение, схема и примеры работы

Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Работа модуля основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия. код для ультразвукового датчика ардуино. %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic hc sr04.1. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic hc sr04.1. картинка код для ультразвукового датчика ардуино. картинка %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic hc sr04.1. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

Модуль подключается четырьмя проводами. Контакты VCC и GND служат для подключения питания, а Trig и Echo — для отправки и приема сигналов дальномера. Подключим их к пинам 10 и 11 соответственно. код для ультразвукового датчика ардуино. %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic conection. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic conection. картинка код для ультразвукового датчика ардуино. картинка %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultrasonic conection. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Напряжение питания дальномера 5 В. Модуль работает и с платами, напряжение которых 3,3 В — в этом случае подключайте его к пинам группы с P8 по P13. Установите джампер выбора питания V2 на Troyka Shield в положение V2+5V. Пин микроконтроллера, соединённый с пином Echo должен быть толерантен к 5 В. Приведённая схема подходит для подключения дальномера к Iskra JS.

Пример работы

Рассмотрим как работает дальномер.

код для ультразвукового датчика ардуино. %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra diagramm. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra diagramm. картинка код для ультразвукового датчика ардуино. картинка %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra diagramm. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Зная продолжительность высокого сигнала на пине Echo можем вычислить расстояние, умножив время, которое потратил звуковой импульс, прежде чем вернулся к модулю, на скорость распространения звука в воздухе (340 м/с).

Теперь вычислим расстояние переведя скорость из м/с в см/мкс:

distance = duration * 340 м/с = duration * 0.034 м/мкс

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

distance = duration * 1/29 = duration / 29

Принимая во внимание то, что звук преодолел расстояние до объекта и обратно, поделим полученный результат на 2

distance = duration / 58

Оформим в код всё вышесказанное и выведем результат в Serial Monitor

код для ультразвукового датчика ардуино. %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra serial. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra serial. картинка код для ультразвукового датчика ардуино. картинка %D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:hc sr04 ultrasonic sensor distance module:ultra serial. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Работа с библиотекой

Количество строк кода можно существенно уменьшить, используя библиотеку для работы с дальномером.

Источник

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

Узнайте, как создать электронную рулетку с помощью ультразвукового датчика HC-SR04 и платы Arduino Uno.

Компоненты

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

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

Скорее всего, вы видели ультразвуковой датчик. В этом уроке вы узнаете об ультразвуковом датчике HC-SR04, в том числе о том, как подключить его к Arduino, чтобы создать электронную рулетку.

Принцип работы датчика

код для ультразвукового датчика ардуино. arduino hc sr04 1. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 1. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 1. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Рисунок ниже показывает сверхвысокочастотные звуковые волны ультразвукового датчика, отражающиеся от поверхности объекта.

код для ультразвукового датчика ардуино. arduino hc sr04 2. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 2. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 2. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Подключение ультразвукового датчика к Arduino с помощью TinkerCad Circuits

С вашим основным пониманием того, как ультразвуковой датчик работает, теперь вы готовы к подключению устройства к Arduino. Чтобы изучить работу ультразвукового датчика, вы можете построить виртуальную функциональную схему с помощью TinkerCad Circuits.

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

На рисунке ниже показан проект функционального ультразвукового датчика Arduino, построенного с помощью TinkerCad Circuits.

код для ультразвукового датчика ардуино. arduino hc sr04 tinkerkad. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 tinkerkad. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 tinkerkad. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Используйте схему ниже в качестве ориентира, если у вас есть макетная плата для экспериментов с ультразвуковым датчиком.

код для ультразвукового датчика ардуино. arduino hc sr04 3. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 3. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 3. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Подключение ультразвукового датчика к Ардуино на макетной плате

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

код для ультразвукового датчика ардуино. arduino hc sr04 shema. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 shema. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 shema. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

При использовании 4-контактного ультразвукового датчика нормально закрытый штырь (NC) соединен с землей. Вы можете разместить ультразвуковой датчик, как показано на рисунке, на макетной плате и с помощью перемычек закончить проводку к Arduino.

Ниже схема, которую я создал с помощью 4-проводной перемычки, чтобы соединить ультразвуковой датчик и Arduino.

код для ультразвукового датчика ардуино. arduino hc sr04 5. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino hc sr04 5. картинка код для ультразвукового датчика ардуино. картинка arduino hc sr04 5. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Четырехпроводной перемычка имеет цветовую кодировку. В таблице ниже показаны соединения проводов между Arduino и ультразвуковым датчиком.

ArduinoУльтразвуковой датчик
5VКрасный
GNDЧерный
Не подсоединенБелый
D7Желтый

Вы успешно подключили ультразвуковой датчик к Arduino и теперь готовы загрузить скетч в Arduino.

Скетч

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

В IDE сразу видно изменение данных о расстоянии. На рисунке показаны данные примера сессии измерения расстояния.

код для ультразвукового датчика ардуино. arduino ping resultat. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-arduino ping resultat. картинка код для ультразвукового датчика ардуино. картинка arduino ping resultat. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

Этот код проекта был изначально создан Дэвидом А Меллисом (David A Mellis), модифицирован Томом Игое (Tom Igoe), а позже модифицирован Доном Уилчером (Don Wilcher). Этот пример кода является публичным.

Источник

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

код для ультразвукового датчика ардуино. 70. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-70. картинка код для ультразвукового датчика ардуино. картинка 70. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

код для ультразвукового датчика ардуино. 70. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-70. картинка код для ультразвукового датчика ардуино. картинка 70. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Общие сведения:

Видео:

Спецификация:

Подключение:

Питание:

Входное напряжение 5 В постоянного тока, подаётся на выводы Vcc и GND датчика.

Подробнее о датчике:

код для ультразвукового датчика ардуино. 491f0f8a682a7854db08e4dc6eb77d19. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-491f0f8a682a7854db08e4dc6eb77d19. картинка код для ультразвукового датчика ардуино. картинка 491f0f8a682a7854db08e4dc6eb77d19. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Расстояние вычисляется умножением скорости на время (в данном случае скорости распространения звуковой волны V, на время ожидания эха Echo). Но так звуковая волна проходит расстояние от датчика до объекта и обратно, а нам нужно только до объекта, то результат делим на 2:

L = V * Echo / 2

Скорость звука в воздухе, в отличии от скорости света, величина не постоянная и сильно зависит от температуры:

V 2 = γ R T / M

Подставив в формулу известные значения γ, R, M, получим:

V ≈ 20,042 √T

Осталось объединить формулы вычисления V и L, и перевести L из м в см, Echo из с в мкс, T из °К в °C, получим:

L ≈ Echo √(t+273,15) / 1000

Подробнее про установку библиотеки читайте в нашей инструкции.

Примеры:

Определение расстояния с использованием библиотеки iarduino_HC_SR04:

Определение расстояния с использованием библиотеки iarduino_HC_SR04_int:

Определение расстояния с использованием библиотеки iarduino_HC_SR04_tmr:

Результат работы трёх примеров:

код для ультразвукового датчика ардуино. 99e31e04e80392c743cbf08ca3b1fda6. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-99e31e04e80392c743cbf08ca3b1fda6. картинка код для ультразвукового датчика ардуино. картинка 99e31e04e80392c743cbf08ca3b1fda6. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

Описание функций библиотек:

Подключение библиотеки iarduino_HC_SR04:

Подключение библиотеки iarduino_HC_SR04_int:

Подключение библиотеки iarduino_HC_SR04_tmr:

Функция distance():

Функция begin():

Функция work():

Усреднение показаний:

Переменная averaging типа long является коэффициентом усреднения выводимых показаний. Эта переменная присутствует во всех трёх библиотеках.

При снятии показаний без усреднений (по умолчанию) мы можем получать «прыгающие» значения. Например, на дистанции в 2 метра до препятствия, показания могут колебаться от 198 до 202 (это может быть причиной многих факторов: геометрия отражающей поверхности, колебания температуры и состава воздуха, колебания питания датчика, посторонние шумы и многое другое). Для устранения этих факторов можно однократно указать коэффициент усреднения, чем выше его значение, тем плавнее будут меняться данные возвращаемые функцией distance().

Источник

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

Предисловие

Так получилось, что в университете я изучаю C/C++. Для души пробую делать небольшие проекты на Python. Я много слышал про платформу Arduino, смотрел видео на YouTube, частенько посещал Arduino Project Hub и вот мне стало интересно самому поэкспериментировать, углубясь в разработку под микроконтроллеры. Купив стартовый набор с самой платой и горстью электронных компонентов и попробовав собрать проекты из обучающей брошюры, понял, что надо двигаться дальше. Продумав саму идею следующей самоделки, отправился на просторы Google и обнаружил, что не могу найти всего, что мне нужно на одном ресурсе. Безусловно, мне несложно было посетить несколько сайтитов и блогов с информацией, но я бы сильно сэкономил время, если бы нашел все в одном месте. Так и появилась эта статья-туториал.

Суть проекта

Мне хотелось сделать дальномер. Во-первых, из-за того, что у меня был ультразвуковой датчик и надо было научиться с ним взаимодействовать. Во-вторых, я хотел выводить всю информацию на OLED-дисплей. В статьях, которые я находил, либо рассказывалось про работу с дисплеем и датчиком по отдельности, либо они являлись частью совершенно другого проекта. Я собрал все необходимое тут и надеюсь, что это сможет как-то помочь другим.

Любая плата Arduino (у меня Uno);

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

OLED-дисплей на 0,96 дюймов;

Работа с OLED-дисплеем

OLED-дисплей идеально подходит для DIY-устройств. Во-первых, мы имеем достаточно высокое разрешение экрана — 128×64 пикселя. Во-вторых, дисплей работает без модуля подсветки, что обеспечивает низкое потребление энергии. В-третьих, для подключения используется всего четыре разъема — два для питания и два для обмена информацией. Но несмотря на это, у OLED-дисплеев есть и минусы. Со временем пиксели могут тускнеть и перегорать.

Вот таким образом можно подключить дисплей:

код для ультразвукового датчика ардуино. image loader. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-image loader. картинка код для ультразвукового датчика ардуино. картинка image loader. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.Схема подключения

Есть несколько библиотек для работы с OLED-дисплеями, мне больше нравится OLED_I2C. Мне она кажется очень простой и максимально понятной. Следующим образом выведем классический «Hello, world!» на дисплей:

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

print(st, x, y) — печать строки на дисплей.
Параметры:
st: строка для печати;
x: координата верхнего левого угла первого символа по горизонтали;
y: координата верхнего левого угла первого символа по вертикали.
В качестве координат можно использовать как сами координаты, так и литералы LEFT, CENTER, RIGHT.

Работа с ультразвуковым дальномером

Ультразвуковой датчик расстояния работает по принципу эхолокации — посылает пучок ультразвука и получает его отражение с некоторой задержкой, с помощью которой и можно высчитать расстояние до объекта. Работает датчик от напряжения в 5V на расстоянии от 2 до 400 сантиметров.

Для получения данных с датчика необходимо:

Подать на выход Trig импульс длительностью 10 микросекунд;

Трансмиттер отправит 8 импульсов с частотой 40 кГц;

Когда импульсы отразятся от препятствия и будут приняты ресивером, то на выходе Echo образуется входной сигнал;

С помощью формулы данные преобразуются в расстояние. Чтоб получить расстояние в сантиметрах, нам необходимо разделить ширину импульса на 58, для получения расстояния в дюймах — на 148.

Подключить датчик к плате можно следующим образом:

код для ультразвукового датчика ардуино. image loader. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-image loader. картинка код для ультразвукового датчика ардуино. картинка image loader. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.Схема подключения

Финальный проект

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

Подключим все элементы к плате следующим образом:

код для ультразвукового датчика ардуино. image loader. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-image loader. картинка код для ультразвукового датчика ардуино. картинка image loader. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.Схема проекта

Финальный проект в работе выглядит следующим образом:

код для ультразвукового датчика ардуино. b8eb3f55df21794d108a82eb05f24dc8. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-b8eb3f55df21794d108a82eb05f24dc8. картинка код для ультразвукового датчика ардуино. картинка b8eb3f55df21794d108a82eb05f24dc8. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Что дальше?

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

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

Перейти на Arduino Nano ради более компактного размера;

Добавить автономное питание для работы без кабеля;

Источник

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

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

код для ультразвукового датчика ардуино. DSC00603. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-DSC00603. картинка код для ультразвукового датчика ардуино. картинка DSC00603. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

код для ультразвукового датчика ардуино. output 8Nf2WC. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-output 8Nf2WC. картинка код для ультразвукового датчика ардуино. картинка output 8Nf2WC. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

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

код для ультразвукового датчика ардуино. HC SR04 polar pattern. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-HC SR04 polar pattern. картинка код для ультразвукового датчика ардуино. картинка HC SR04 polar pattern. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

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

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

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

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

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

код для ультразвукового датчика ардуино. DSC00600. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-DSC00600. картинка код для ультразвукового датчика ардуино. картинка DSC00600. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

HC-SR04GNDVCCTrigEcho
Arduino UnoGND+5V32

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

код для ультразвукового датчика ардуино. sonic %D1%81%D1%85%D0%B5%D0%BC%D0%B0. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-sonic %D1%81%D1%85%D0%B5%D0%BC%D0%B0. картинка код для ультразвукового датчика ардуино. картинка sonic %D1%81%D1%85%D0%B5%D0%BC%D0%B0. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

код для ультразвукового датчика ардуино. sonic bb. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-sonic bb. картинка код для ультразвукового датчика ардуино. картинка sonic bb. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

Программа

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

код для ультразвукового датчика ардуино. HC SR04 sequence chart. код для ультразвукового датчика ардуино фото. код для ультразвукового датчика ардуино-HC SR04 sequence chart. картинка код для ультразвукового датчика ардуино. картинка HC SR04 sequence chart. Ультразвуковой дальномер рассчитан на определение расстояния до объектов в радиусе четырёх метров.

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

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

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

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

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

s = duration * 0.034 cм/мкс

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

s = duration * 1/29 = duration / 29

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

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

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

Задания

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

Заключение

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

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

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

OLED дисплей 128×64 GND VCC Trig Echo
Arduino Uno GND +5V 3 2»

-Что-то здесь не так…..не так-ли?

В точку! Исправлено:)

Просто и понятно все объяснено. Автору большое спасибо.

Автор у Вас опечатка в статье.

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

s = duration * 0.034 м/мкс

В единице измерения допущена неточность. Вы же в см/мкс переводите, а не м/мкс (как у Вас)

всё сделал, но в мониторе порта пишет следующее (x⸮x⸮⸮⸮x⸮x⸮⸮⸮x⸮x⸮⸮⸮x⸮), что делать, как быть?))

Проверьте скорость передачи в мониторе последовательного порта. Она должна совпадать со скоростью в программе.
Должно быть: 9600

Спасибо большое за такое точное и простое обьяснение!

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

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

Источник

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

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