Оглавление:
- Шаг 1: Схема подключения
- Шаг 2: Список деталей
- Шаг 3: теория
- Шаг 4: Строительство
- Шаг 5: Установка программного обеспечения
- Шаг 6: Тестирование
- Шаг 7: Дисплей
Видео: Эхо-локатор с двумя датчиками: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
В этом руководстве объясняется, как определить местоположение объекта с помощью Arduino, двух ультразвуковых датчиков и формулы Герона для треугольников. Нет движущихся частей.
Формула Герона позволяет вычислить площадь любого треугольника, у которого известны все стороны. Как только вы узнаете площадь треугольника, вы сможете рассчитать положение отдельного объекта (относительно известной базовой линии) с помощью тригонометрии и Пифагора.
Точность отличная. Большие области обнаружения возможны при использовании широко доступных ультразвуковых датчиков HC-SR04 или HY-SRF05.
Конструкция проста… все, что вам потребуется, это острый нож, две дрели, паяльник и пила по дереву.
Изображений
- Видеоклип показывает установку в действии.
- На фото 1 представлен собранный «эхолокатор».
- На фото 2 показан типичный дисплей. Объект - красная (мигающая) точка.
- На фото 3 показана установка для видеотестирования. Было необходимо расположить два ультразвуковых датчика HY-SRF05 на 50 см ниже базовой линии, чтобы полностью «осветить» зону обнаружения звуком.
Шаг 1: Схема подключения
На фото 1 показана электрическая схема «двойного датчика эхолокации».
Датчик B становится «пассивным» путем наложения нескольких слоев малярной ленты на передающий (Т) преобразователь. Эта лента блокирует ультразвуковой звук, который в противном случае мог бы издаваться.
Шаг 2: Список деталей
Как показано на фото 1, для завершения этого проекта требуется очень мало деталей:
Следующие детали были получены с
- 1 только Arduino Uno R3 в комплекте с USB-кабелем
- Только 2 ультразвуковых преобразователя HY-SRF05 или HC-SR04
Следующие детали были получены на месте:
- 1 только мужская полоса заголовка Arduino
- 2 только женские полоски заголовка Arduino
- 2 только куска алюминиевого лома
- 2 только маленьких деревяшки
- 2 маленьких винта
- 3 только кабельные стяжки
- 4 отрезка проволоки с пластиковым покрытием (разные цвета) [1]
Примечание
[1]
Общая длина каждого провода должна равняться желаемому расстоянию между датчиками плюс небольшое количество для пайки. Затем провода скручиваются вместе, образуя кабель.
Шаг 3: теория
Образцы лучей
На фото 1 показаны диаграммы направленности перекрывающихся лучей для преобразователя A и преобразователя B.
Датчик A получит эхо от любого объекта в «красной зоне».
Датчик B будет получать эхо только в том случае, если объект находится в «лиловой области». Вне этой области невозможно определить координаты объекта. [1]
Если датчики расположены на большом расстоянии друг от друга, возможны большие «розовато-лиловые» зоны обнаружения.
Расчеты
Со ссылкой на фото 2:
Площадь любого треугольника можно рассчитать по формуле:
площадь = основание * высота / 2 ……………………………………………………………………. (1)
Преобразование уравнения (1) дает нам высоту (координату Y):
высота = площадь * 2 / основание ……………………………………………………………………. (2)
Пока все хорошо … но как рассчитать площадь?
Ответ заключается в том, чтобы расположить два ультразвуковых преобразователя на известном расстоянии друг от друга (базовая линия) и измерить расстояние, на котором каждый датчик находится от объекта, с помощью ультразвука.
На фото 2 показано, как это возможно.
Преобразователь A посылает импульс, который отражается от объекта во всех направлениях. Этот импульс слышен как датчиком A, так и датчиком B. Никакой импульс не отправляется датчиком B… он только прослушивает.
Обратный путь к датчику A показан красным. При делении на два и учете скорости звука мы можем вычислить расстояние «d1» по формуле: [2]
d1 (см) = время (микросекунды) / 59 ……………………………………………… (3)
Путь к датчику B показан синим цветом. Если мы вычтем расстояние «d1» из этой длины пути, мы получим расстояние «d2». Формула для вычисления «d2»: [3]
d2 (см) = время (микросекунды / 29,5 - d1 …………………………………….. (4)
Теперь у нас есть длина всех трех сторон треугольника ABC… введите «Цапля».
Формула Герона
В формуле Герона используется так называемый «полупериметр», в котором вы складываете каждую из трех сторон треугольника и делите результат на два:
s = (a + b + c) / 2 …………………………………………………………………………. (5)
Теперь площадь можно рассчитать по следующей формуле:
площадь = sqrt (s * (s-a) * (s-b) * (s-c)) ………………………………………………………. (6)
Как только мы узнаем площадь, мы можем вычислить высоту (координату Y) из уравнения (2) выше.
Пифагор
Координата X теперь может быть вычислена путем опускания перпендикуляра из вершины треугольника к базовой линии для создания прямоугольного треугольника. Теперь координату X можно рассчитать с помощью Пифагора:
c1 = sqrt (b2 - h2) …………………………………………………………………….. (7)
Примечания
[1]
Целевую область можно полностью «осветить» звуком, разместив датчики ниже базовой линии.
[2]
Значение 59 для константы получается следующим образом:
Скорость звука составляет примерно 340 м / с, что составляет 0,034 см / мкс (сантиметры / микросвет).
Обратное значение 0,034 см / мкСм равно 29,412 мкСм / см, что при умножении на 2, чтобы учесть обратный путь, равняется 58,824 или 59 при округлении.
Это значение может быть увеличено / уменьшено с учетом температуры, влажности и давления воздуха.
[3]
Значение 29,5 для константы получается следующим образом:
Обратного пути нет, поэтому мы используем 29,5, что составляет половину значения, использованного в [2] выше.
Шаг 4: Строительство
Монтажные кронштейны
Два монтажных кронштейна были изготовлены из алюминиевого листа толщиной 20 мм с использованием метода, описанного в моем руководстве
Размеры моих кронштейнов показаны на фото 1.
Два отверстия с пометкой «baseline» предназначены для крепления веревки к каждому датчику. Просто привяжите шнур на необходимом расстоянии для легкой установки.
Гнезда для датчиков
Гнезда датчиков (фото 2) были изготовлены из стандартных гнезд разъемов Arduino.
Все ненужные штифты были вытащены, а в пластике просверлено отверстие диаметром 3 мм.
При пайке соединений старайтесь не закоротить провода на алюминиевый кронштейн.
Снятие напряжения
Небольшой кусок термоусадочной трубки на каждом конце кабеля предотвращает распутывание проводов.
Кабельные стяжки используются для предотвращения нежелательного перемещения кабеля.
Шаг 5: Установка программного обеспечения
Установите следующий код в таком порядке:
IDE Arduino
Загрузите и установите Arduino IDE (интегрированную среду разработки) с https://www.arduino.cc/en/main/software, если она еще не установлена.
Обработка 3
Загрузите и установите Processing 3 с
Эскиз Arduino
Скопируйте содержимое прикрепленного файла «dual_sensor _echo_locator.ino» в «эскиз» Arduino, сохраните и загрузите его на свой Arduino Uno R3.
Закройте Ardino IDE, но оставьте USB-кабель подключенным.
Обработка эскиза
Скопируйте содержимое прикрепленного файла «dual_sensor_echo_locator.pde» в «Эскиз» обработки.
Теперь нажмите кнопку «Выполнить» в верхнем левом углу… на вашем экране должен появиться графический экран.
Шаг 6: Тестирование
Подключите USB-кабель Arduino к компьютеру.
Запустите «dual_sensor_echo_locator.pde», щелкнув кнопку запуска «в верхнем левом углу» в IDE Processing 3 (интегрированная среда разработки).
Числа, разделенные запятой, должны начать перемещаться по экрану, как показано на фото1.
Сообщение об ошибке при запуске
Вы можете получить сообщение об ошибке при запуске.
В таком случае измените [0] в строке 88 фото 1, чтобы он соответствовал номеру, связанному с вашим COM-портом.
В зависимости от вашей системы может быть указано несколько COM-портов. Один из номеров будет работать.
На фото 1 номер [0] связан с моим «COM4».
Размещение ваших датчиков
Расположите датчики на расстоянии 100 см друг от друга, а объект на 100 см впереди.
Медленно поверните оба датчика к диагонально противоположному углу воображаемого квадрата в 1 метр.
Вращая датчики, вы найдете положение, в котором на графическом дисплее появится мигающая красная точка.
Дополнительные данные также появятся (фото 2), как только датчики обнаружат ваш объект:
- расстояние1
- расстояние2
- исходный уровень
- компенсировать
- полупериметр
- площадь
- Координата X
- Координата Y
Шаг 7: Дисплей
Дисплей был написан с использованием Обработки 3… показана базовая линия 100 см.
Изменение базовой линии
Давайте изменим нашу базовую линию со 100 см на 200 см:
Измените «float Baseline = 100;» в заголовке «Обработка» читать «float Baseline = 200;»
Измените метки «50» и «100» в процедуре обработки «draw_grid ()» на «100» и «200».
Изменение смещения
Более крупные целевые области могут контролироваться, если мы разместим датчики ниже базовой линии.
Если вы решите это сделать, необходимо изменить переменную «Смещение» в заголовке «Обработка».
Щелкните здесь, чтобы просмотреть другие мои инструкции.
Рекомендуемые:
Как сделать домашнюю автоматизацию на основе Интернета вещей с помощью реле управления датчиками NodeMCU: 14 шагов (с изображениями)
Как сделать домашнюю автоматизацию на основе IoT с помощью реле управления датчиками NodeMCU: в этом проекте на основе Интернета вещей я сделал домашнюю автоматизацию с помощью Blynk и модуля реле управления NodeMCU с обратной связью в реальном времени. В ручном режиме этим релейным модулем можно управлять с мобильного телефона или смартфона, а также с помощью ручного переключателя. В автоматическом режиме этот умный
Контроллер для перчаток DIY с датчиками электронного текстиля: 14 шагов (с изображениями)
Контроллер перчатки DIY с датчиками электронного текстиля: это руководство представляет собой пошаговое руководство о том, как сделать перчатку для обработки данных с датчиками eTextile. Проект - совместная работа Рэйчел Фрейре и Артема Максима. Рэйчел занимается разработкой текстиля для перчаток и сенсоров eTextile, а Арти разрабатывает
Магнитный настольный хоккей своими руками с картоном, RGB-подсветкой и датчиками: 11 шагов (с изображениями)
Магнитный настольный хоккей своими руками с картоном, RGB-подсветкой и датчиками: вы, должно быть, играли в воздушный хоккей! Заплатите несколько долларов в игровую зону и просто начните забивать голы, чтобы побеждать своих друзей. Разве это не вызывает привыкания? Вы, должно быть, подумали о том, чтобы держать дома один стол, но эй! когда-нибудь задумывались о том, чтобы сделать это самостоятельно? Мы
Навигация робота с датчиками обуви, без GPS, без карты: 13 шагов (с изображениями)
Навигация робота с помощью датчиков обуви, без GPS, без карты: робот движется по заранее запрограммированной траектории и передает (через Bluetooth) информацию о фактическом движении на телефон для отслеживания в реальном времени. В Arduino заранее запрограммирован путь, а oblu используется для определения движения робота. oblu передает информацию о движении
Портативная консоль с беспроводными контроллерами и датчиками (Arduino MEGA и UNO): 10 шагов (с изображениями)
Портативная консоль с беспроводными контроллерами и датчиками (Arduino MEGA и UNO): Что я использовал: - Arduino MEGA - 2x Arduino UNO - Adafruit 3.5 " TFT 320x480 Сенсорный экран HXD8357D - Зуммер - Динамик 4 Ом, 3 Вт - Светодиодные лампы 5 мм - Принтер Ultimaker 2+ с черной PLA-нитью - Лазерный резак с древесиной МДФ - Черная аэрозольная краска (для дерева) - 3x nRF24