Как подключить и использовать ультразвуковой датчик HC-SR04 с Arduino. Какие компоненты нужны для проекта. Как написать скетч для измерения расстояния. Какие есть варианты применения датчика расстояния в проектах с Arduino.
Компоненты, необходимые для подключения ультразвукового датчика к Arduino
Для создания проекта по измерению расстояния с помощью ультразвукового датчика HC-SR04 и платы Arduino потребуются следующие компоненты:
- Плата Arduino (Uno, Nano или другая совместимая)
- Ультразвуковой датчик HC-SR04
- Макетная плата
- Соединительные провода
- USB-кабель для подключения Arduino к компьютеру
Дополнительно можно использовать:
- LCD-дисплей для вывода результатов измерений
- Светодиоды для индикации расстояния
- Зуммер для звуковой сигнализации
Схема подключения HC-SR04 к Arduino
Подключение ультразвукового датчика HC-SR04 к Arduino осуществляется по следующей схеме:
- VCC датчика подключается к 5V на Arduino
- GND датчика — к GND Arduino
- Trig датчика — к цифровому пину Arduino (например, D2)
- Echo датчика — к другому цифровому пину Arduino (например, D3)
Важно соблюдать правильность подключения выводов, иначе датчик может выйти из строя или работать некорректно.
Принцип работы ультразвукового датчика расстояния
Ультразвуковой датчик HC-SR04 работает по следующему принципу:
- На вход Trig подается короткий импульс длительностью 10 мкс
- Датчик излучает 8 ультразвуковых импульсов частотой 40 кГц
- Ультразвук отражается от препятствия и возвращается к датчику
- На выходе Echo формируется импульс, длительность которого пропорциональна расстоянию до объекта
- Arduino измеряет длительность импульса и рассчитывает расстояние
Зная скорость звука в воздухе и время прохождения импульса, можно вычислить расстояние по формуле:
Расстояние = (Скорость звука * Время) / 2
Деление на 2 нужно, так как звук проходит путь дважды — туда и обратно.
Базовый скетч для измерения расстояния с помощью HC-SR04
Вот простой скетч для Arduino, который позволяет измерять расстояние с помощью ультразвукового датчика HC-SR04:
«`cpp const int trigPin = 2; const int echoPin = 3; long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.print(«Distance: «); Serial.print(distance); Serial.println(» cm»); delay(500); } «`Этот скетч выполняет следующие действия:
- Настраивает пины для работы с датчиком
- Генерирует импульс на Trig
- Измеряет длительность импульса на Echo
- Рассчитывает расстояние
- Выводит результат в Serial Monitor
Как улучшить точность измерений ультразвукового датчика?
Для повышения точности измерений с помощью HC-SR04 можно применить следующие методы:
- Калибровка датчика на известных расстояниях
- Усреднение нескольких последовательных измерений
- Фильтрация выбросов и некорректных значений
- Учет температуры и влажности воздуха
- Использование более точного таймера микроконтроллера
Вот пример скетча с усреднением измерений:
«`cpp const int trigPin = 2; const int echoPin = 3; const int numReadings = 5; long duration; int distance; int readings[numReadings]; int readIndex = 0; int total = 0; int average = 0; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); for (int i = 0; i < numReadings; i++) { readings[i] = 0; } } void loop() { total = total - readings[readIndex]; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; readings[readIndex] = distance; total = total + readings[readIndex]; readIndex = readIndex + 1; if (readIndex > = numReadings) { readIndex = 0; } average = total / numReadings; Serial.print(«Average distance: «); Serial.print(average); Serial.println(» cm»); delay(50); } «`Этот скетч использует скользящее среднее для сглаживания измерений и уменьшения влияния случайных выбросов.
Применение ультразвукового датчика расстояния в проектах Arduino
Ультразвуковой датчик HC-SR04 можно использовать во многих интересных проектах на базе Arduino:
- Робот, объезжающий препятствия
- Система парковки автомобиля
- Охранная сигнализация
- Измеритель уровня жидкости в резервуаре
- Интерактивные инсталляции и игры
- Система автоматического открывания дверей
Рассмотрим пример простой системы сигнализации на основе HC-SR04:
«`cpp const int trigPin = 2; const int echoPin = 3; const int buzzerPin = 4; const int ledPin = 13; long duration; int distance; int safeDistance = 100; // Безопасное расстояние в см void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(buzzerPin, OUTPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.print(«Distance: «); Serial.print(distance); Serial.println(» cm»); if (distance < safeDistance) { digitalWrite(ledPin, HIGH); tone(buzzerPin, 1000); delay(500); noTone(buzzerPin); delay(500); } else { digitalWrite(ledPin, LOW); noTone(buzzerPin); } delay(100); } ``` Этот скетч активирует светодиод и зуммер, когда объект приближается ближе заданного расстояния.Ограничения и альтернативы ультразвуковому датчику HC-SR04
Хотя HC-SR04 является популярным и недорогим решением, у него есть некоторые ограничения:
- Ограниченный диапазон измерений (2-400 см)
- Чувствительность к температуре и влажности воздуха
- Возможные ложные срабатывания от звуковых помех
- Трудности при измерении расстояния до мягких или пористых поверхностей
В зависимости от требований проекта, можно рассмотреть альтернативные датчики:
- Инфракрасные датчики расстояния (например, Sharp GP2Y0A21YK)
- Лазерные дальномеры (например, VL53L0X)
- Датчики с большим диапазоном (например, US-100)
- Датчики с водонепроницаемым корпусом (например, JSN-SR04T)
Выбор конкретного датчика зависит от условий эксплуатации и требуемой точности измерений.
Заключение и дальнейшие шаги
Ультразвуковой датчик HC-SR04 — это простой и доступный способ добавить возможность измерения расстояния в проекты Arduino. Мы рассмотрели базовые принципы его работы, подключение и программирование.
Для дальнейшего изучения темы рекомендуется:
- Экспериментировать с различными настройками и алгоритмами обработки данных
- Комбинировать датчик с другими сенсорами для создания более сложных систем
- Изучить возможности других типов датчиков расстояния
- Реализовать проекты с практическим применением измерения расстояния
Помните, что практика — ключ к успеху в освоении электроники и программирования Arduino. Не бойтесь экспериментировать и создавать собственные уникальные проекты!
Ультразвуковой датчик расстояния arduino в Украине. Цены на Ультразвуковой датчик расстояния arduino на Prom.ua
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino RT
Доставка по Украине
889.89 грн
444.95 грн
Купить
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino DL
Доставка по Украине
886.16 грн
443.08 грн
Купить
Интернет-магазин Delery
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino SP
Доставка по Украине
914.14 грн
457.07 грн
Купить
Shoppes
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino GB
Доставка по Украине
916.48 грн
458.24 грн
Купить
Global — магазин хороших покупок!
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка по Украине
345 грн
Купить
PROMRV
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка по Украине
345 грн
Купить
freedelivery
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino, 103040
На складе в г. Ровно
Доставка по Украине
345 грн
Купить
Интернет магазин » Горячий Стиль «
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino 2000-04358
На складе
Доставка по Украине
345 грн
Купить
ПОЛЕЗНЫЕ МЕЛОЧИ
Ультразвуковой датчик расстояния HC-SR04, модуль Arduino
На складе в г. Умань
Доставка по Украине
45 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
На складе
Доставка по Украине
по 345 грн
от 2 продавцов
345 грн
Купить
KRONS интернет- магазин
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
На складе
Доставка по Украине
345 — 361 грн
от 7 продавцов
493 грн
345 грн
Купить
ТОП ПРОДАЖ | NUKLEON. com.ua
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка по Украине
по 345 грн
от 9 продавцов
345 грн
Купить
PovnyiyKit
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
На складе в г. Ровно
Доставка по Украине
по 345 грн
от 2 продавцов
345 грн
Купить
Saga Market
Ультразвуковой герметичный датчик расстояния JSN-SR04T 2.0, Arduino
На складе
Доставка по Украине
345 — 623 грн
от 2 продавцов
623 грн
Купить
Інтернет-магазин MINE — затребувані товари для домашнього побуту і комфорту
Ультразвуковой датчик расстояния HC-SR04 для Arduino (Качество)
На складе в г. Вознесенск
Доставка по Украине
35 грн
Купить
ArduinoKit обучающие наборы
Смотрите также
Ультразвуковой датчик расстояния HC-SR04, модуль Arduino
Доставка по Украине
173 грн
144 грн
Купить
Promsnab
Ультразвуковой датчик расстояния US-015 Arduino
На складе
Доставка по Украине
75 грн
Купить
Інтернет-магазин техніки та електроніки
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
На складе в г. Ровно
Доставка по Украине
365 грн
Купить
Double-Shop
Ультразвуковой герметичный датчик расстояния JSN-SR04T Arduino и других микроконтроллерах
Доставка по Украине
419 грн
410 грн
Купить
ІНТЕРНЕТ-МАГАЗИН «ЗАКУПИСЬ»
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
На складе в г. Ровно
Доставка по Украине
по 345 грн
от 2 продавцов
345 грн
Купить
Techland
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка из г. Ровно
345 грн
Купить
Интернет-магазин «ТЕХНО ФАБРИКА»
HC-SR04 ультразвуковой датчик расстояния HCSR04 для Arduino, Raspberry Pi
На складе в г. Николаев
Доставка по Украине
45 грн
Купить
Інтернет-магазин техніки та електроніки
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка по Украине
345 грн
Купить
K2Market
HC-SR04, ультразвуковой датчик расстояния.
На складе в г. Софиевская Борщаговка
Доставка по Украине
48 грн
Купить
«SashaMika»
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino JS
Доставка по Украине
904.12 грн
452.06 грн
Купить
Интернет магазин «Justprice»
Ультразвуковой дальномер HC-SR04
Заканчивается
Доставка по Украине
38 грн
Купить
robotron.in.ua
JSN-SR04T Ультразвуковой датчик расстояния, приближения
На складе в г. Полтава
Доставка по Украине
по 365.2 грн
от 2 продавцов
365.20 грн
Купить
Интернет магазин «E-To4Ka»
Ультразвуковой герметичный датчик расстояния JSN-SR04T, Arduino
Доставка по Украине
460 грн
345 грн
Купить
T2TV.com.ua | Онлайн Гипермаркет
Ультразвуковой датчик расстояния HC-SR04 [#4-9]
На складе в г. Запорожье
Доставка по Украине
35. 40 грн
Купить
Ardu.prom.ua (наложка НП от 150 грн!)
Измеритель расстояния на HC-SR04 без микроконтроллера / Хабр
В этой статье пошагово соберем схему измерителя расстояния из нескольких микросхем стандартной логики.
Зачем
Все just-for-fun. Конечная схема является тривиальной и не несет новых технических решений. Автор не является профессиональным конструктором электроники и некоторые решения могут не отвечать принятым стандартам.
Больше оправданийРазработка даже простейшего цифрового устройства без использования микроконтроллера все чаще становится практически нецелесообразным занятием в силу низкой цены микроконтроллеров, их гибкости и богатого набора периферии, упакованного в компактный корпус.
Несмотря на это, автор находит разработку схем на дискретных элементах интересным занятием-пазлом, что-то на уровне лампового звука. В мире где все описывается программным кодом, исполняемым черными ящиками с миллиардами транзисторов, испытываешь неподдельное удивление, когда видишь, как небольшой набор логических вентилей, счетчиков и триггеров образуют устройство имеющее непростое поведение.
Конечно, такое мнение смогут разделить в основном те, для кого работа с дискретной логикой не была обыденностью.
Задача
Хотим получать устройство, представляющее расстояние в сантиметрах в десятичной системе счисления. Минимальное значение – 1 см, максимальное – 254 см. Для отображения используем 7-сегментный индикатор с 3 знакоместами, для измерения расстояния – модуль ультразвукового датчика HC-SR04 или аналог.
Да, я понимаю, что в модуле датчика скорее всего используется микроконтроллер. Это не считается.
Собираем
HC-SR04 – очень популярный, дешевый и неточный ультразвуковой датчик. Кратко о интерфейсе. Датчик имеет две сигнальные линии TRIG
(вход) и ECHO
(выход).
На вход TRIG
подаем импульс запуска измерения и через некоторое время получаем положительный импульс на выходе ECHO
. Длительность импульса ECHO
умноженная на некоторую константу K равна измеренному расстоянию.
Вся задача сводится к измерению длительности импульса в единицах времени K, для чего нам понадобится 8-битный счетчик, который будем тактировать частотой 1/K Гц. Выход счетчика будет отражать расстояние в сантиметрах (в двоичном представлении).
При этом, мы не хотим, чтобы в процессе счета на индикаторе отображалось постепенно увеличивающееся значение – это будет мешать чтению результата. Поэтому возьмем счетчик 74HC590 со встроенным выходным буферным регистром.
Выводами СЕ
(разрешение счета) и OE
(включение выходов) мы управлять не будем. На вход тактирования счетчика CPC
подан сигнал CLK0
задающего генератора (~= 58мкс или 17240 Гц).
Нам нужно сбросить счетчик по фронту ECHO
и сохранить состояние счетчика в выходной регистр по спаду. Сбросом занимается вывод MRC
, а записью в выходной регистр – вывод CPR
. Сброс происходит по низкому уровню, как нам и нужно, а вот запись – по фронту (не по спаду, как хотелось бы). Придется добавить инвертор. Для уменьшения количества корпусов в качестве инвертора возьмем 74HC00 (4 элемента И-НЕ), далее нам еще понадобятся элементы И-НЕ.
Тут сталкиваемся с первой небольшой проблемой. После спада ECHO
сигнал на вывод MRC
придет чуть быстрее, чем на CPR
, так как инвертор вносит некоторую задержку. Состояние счетчика будет сохраняться сразу после сброса, то есть сохранится ноль. Обычно для дополнительной задержки сигала ставят буферы, но мы не будем разбрасываться элементами и внесем задержку с помощью RC цепочки.
Выбранный счетчик может считать только до 255, но от датчика может прийти сигнал большей длительности: когда измеренное расстояние более 255 см или если измерение не удалось (в этом случаи датчик намеренно выдает очень длинный импульс). В таких ситуациях наш счетчик просто переполнится (возможно, не один раз) и затем будет остановлен на каком-то случайном значении. Поэтому нужно останавливать счет по достижению максимального значения, что можно сделать используя выход переноса RCO
.
По достижению счетчиком значения 255 RCO
переходит в низкое состояние отключая тактирование счетчика, что «замораживает» его значение до сброса (следующего измерения). Еще мы тут «случайно» инвертировали сигнал тактирования (с целью не добавлять новый корпус и использовать оставшиеся элементы И-НЕ), в данном случаи это не приведет к проблемам.
Теперь нужно сформировать сигнал TRIG
, запускающий измерения. Его период должен быть на несколько порядков больше CLK0
(>60мс). Для этого можно использовать отдельный низкочастотный генератор или поставить делитель на сигнал тактирования. Снова стремясь уменьшить количество элементов, пойдем вторым путем.
Возьмём CD4060 – делитель с коэффициентом деления до 214 с двумя встроенными инверторами (на которых мы соберем задающий RC генератор).
Генератор по схеме из даташита CD4060 запускаться у автора отказался, поэтому схема была изменена.
Для запуска измерения подадим сигнал с Q13
(~4 Гц) на TRIG
. Частота у него подходящая, а коэффициент заполнения (50%) – нет. Нам не нужен сигнал высокого уровня длительностью в 125мс, нам нужно всего около 0.02-1 мкс. Решим эту проблему еще одной RC цепочкой в режиме high-pass фильтра.
Вы, наверное, заметили появление кнопки на схеме. Она реализует функцию «HOLD»: при ее удержании подавляются сигналы запуска измерения, тем самым на выходе счетчика будет удерживаться значение последнего измерения.
Запустив схему в таком виде с подключенными к выходу счетчика светодиодами мы уже сможем порадоваться значениям измеренного расстояния… в бинарном виде. Не сильно user-friendly, согласитесь, нужно срочно переводить в десятичную систему счисления. Сделать это можно несколькими способами, все они ужасны (требуют много корпусов), поэтому начинаем читерить (=.
Да, да, будет ПЗУ (параллельная EEPROM, в данном случаи). Тут многие могут возразить: «Как же так, без микроконтроллера, а программировать все равно нужно?! Заголовок – клик-бейт!» Что еще будет, когда придется показать, как прошивалась ПЗУ без покупки программатора.
«Программатор»В качестве программатора берем ардуину и кучку проводов. Прищурив глаза будем смотреть на ПЗУ как на гигантский декодер адреса и 8192 диода в одном корпусе.
Описание процесса программирования ПЗУ выходит за рамки статьи. Скажу лишь, что с ардуино сделать это довольно просто. Самое неудобное – необходимость формирования двух источников напряжения 14В (для стирания) и 12В (для записи). Скетч «программатора» приведен с файлами проекта в конце статьи.
При формировании содержимого ПЗУ, преобразование числа 255 было заменено на вывод трех прочерков «—«, что означает неудачное измерение.
Входов у ПЗУ много, а вот выходов хватит только на одну цифру 7-сегментного индикатора, потому будем использовать динамическую индикацию. Входы A8
и A9
в бинарном коде выбирают одну из трех отображаемых цифр, четвертое состояние не используется и соответствует погашенным сегментам. Для активации цифры индикатора (в зависимости от кода на A8
и A9
) понадобится 2-битный дешифратор с инвертированными выходами (т. к. нам нужно управлять общими катодами индикатора). Сделать дешифратор можно так (четвертый код мы не используем).
Теперь осталось подключить наш дешифратор и ПЗУ к делителю частоты, который будет заниматься формированием сигналов для A8
, A9
и IN0
, IN1
, тем самым последовательно перебирая десятичные цифры.
Цифры будут переключаться с частотой ~1кГц, поэтому не страшно, что они переключаются не по порядку, глазу это будет не заметно.
Однако, выходы делителя рассчитаны на нагрузку около 1мА, чего недостаточно для управления индикатором (на схеме выше сигнал CLK5
с делителя напрямую подключен к индикатору). Нас тут спас бы еще один инвертор (или буфер) перед CLK5
, но мы уже использовали все 4 элемента И-НЕ из 74HC00. Не добавлять же ради одного элемента еще один корпус. Используем вместо этого свободный выход D7
ПЗУ, запрограммировав его так, чтобы на D7
всегда была инверсия A9
. (Можно было бы и без инверсии, просто так сложилось.) Нагрузочная способность выхода ПЗУ достаточна для управления индикатором.
Собираем все вместе, добавляем регулятор питания и посыпаем схему щепоткой блокировочных конденсаторов.
Правильно собранное устройство настройки не требу —
Калибровка
Для правильного измерения расстояния нам нужно подстроить частоту задающего генератора подстрочным резистором. Сделать это можно так: размещаем датчик напротив ровной стены на известном расстоянии (чем больше, тем лучше точность калибровки). Расстояние выбираем как N+0.5 см, где N – целое. Далее ищем положение резистора, при котором значение на индикаторе самопроизвольно переключается между N и N+1. (Например, между 127 и 128, если выбранное расстояние – 127.5 см.)
Итог
Теоретическая точность измерений +/- 1см, не считая погрешность датчика. На самом деле все еще хуже, т.к. частота генератора плавает.
Потребление ~14мА, предполагается питание от «кроны». Даже плохой батарейки должно хватить на 6-8 часов.
Схема может измерять не только расстояние, но и другие физические величины. Нужен только преобразователь, который линейно переводит измеряемую величину в длительность сигнала.
Фото
Схема была отлажена на бредборде.
Потом решил заказать плату, для эстетического удовольствия.
Знаете, как называется, когда берешь первую непроверенную плату и впаиваешь в нее ПЗУ без каретки?
Это смелость.
Смелость и слабоумие, конечно.
В процессе переноса схемы с бредборда была допущена ошибка: перепутаны общие катоды двух крайних индикаторов (число 123 отображается как 321). Благо, это было исправлено через перепрошивку ПЗУ. Так что даже не пришлось резать и подпаивать проводки.
Ссылки
Схема/плата в Ki-CAD 5.1 и скетч для Arduino mega 2560, которым прошивалась ПЗУ
— На этом все, спасибо за внимание!
Датчик расстояния ардуино в Красноярске: 124-товара: бесплатная доставка, скидка-15% [перейти]
Партнерская программаПомощь
Красноярск
Каталог
Каталог Товаров
Одежда и обувь
Одежда и обувь
Стройматериалы
Стройматериалы
Здоровье и красота
Здоровье и красота
Текстиль и кожа
Текстиль и кожа
Детские товары
Детские товары
Продукты и напитки
Продукты и напитки
Электротехника
Электротехника
Дом и сад
Дом и сад
Торговля и склад
Торговля и склад
Промышленность
Промышленность
Вода, газ и тепло
Вода, газ и тепло
Все категории
ВходИзбранное
Датчик расстояния ардуино
Датчик расстояния LEGO Technic 45604 для SPIKE Prime
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния Daewoo Nexia MT 94, Espero 95 AMD AMDSEN37
В МАГАЗИНЕще цены и похожие товары
448
628
Датчик влажности и температуры Ардуино DHT11 / Комплектующие для платформы (Arduino) Тип:
В МАГАЗИНЕще цены и похожие товары
500
700
Датчик температуры (герметичный термистор) Ардуино 10K NTC 3950, кабель 1м / Комплектующие для платформы (Arduino)
В МАГАЗИНЕще цены и похожие товары
299
399
Датчик касания, сенсорный выключатель TTP223, 5 шт. комплектующие для платформы Ардуино (Arduino)
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния HC-SR04+, ультразвуковой
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния HC-SR04, ультразвуковой
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния оптический, 10-80см, с проводом
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния ультразвуковой HC-SR04
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния IOE-SR05, ультразвуковой
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния US-016, ультразвуковой
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния HY-SRF05, ультразвуковой
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния оптический VL53L0X с контроллером, 10-200см
В МАГАЗИНЕще цены и похожие товары
Датчик расстояния оптический, 4-30см, с проводом
В МАГАЗИНЕще цены и похожие товары
Мультиметр цифровой DT-832
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния инфракрасный GP2Y0A21YK0F
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния лазерный TOF10120
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния оптический, 20-150см, с проводом
В МАГАЗИНЕще цены и похожие товары
135 500
Датчик расстояния Wenglor Y1TA100QXVT80
ПОДРОБНЕЕЕще цены и похожие товары
2 350
2765
LTC Инфракрасный датчик 6004 расстояние 15 м для GeoSafe Код производителя: 6004, Штук в комплекте:
ПОДРОБНЕЕЕще цены и похожие товары
862
1348
Датчик ускорения давления воздуха NRF51802, Bluetooth 4. 0, гироскоп, модуль датчика окружасветильник для Arduino
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния HC-SR04
ПОДРОБНЕЕЕще цены и похожие товары
Датчик скорости магнитный для смарт-автомобилей Arduino Тип: датчик
ПОДРОБНЕЕЕще цены и похожие товары
Датчик влажности почвы и модуль детектора для Arduino Тип: датчик
ПОДРОБНЕЕЕще цены и похожие товары
Датчик влажности почвы для Arduino Тип: датчик
ПОДРОБНЕЕЕще цены и похожие товары
Датчик влажности почвы и модуль детектора почвы, датчик влажности почвы для Arduino Тип: датчик
ПОДРОБНЕЕЕще цены и похожие товары
Датчик расстояния лазерный VL53L0X GY-530, лазерный дальномер Тип: лазерный
ПОДРОБНЕЕЕще цены и похожие товары
2 страница из 18
Проекты с использованием ультразвукового датчика
Главная→Метки ультразвуковой датчик 1 2 3 >>
На данной странице представлены проекты, в которых используется ультразвуковой датчик для измерения расстояния до интересующих объектов
Опубликовано автором admin-new21 сентября, 2022
Ультразвуковые датчики в настоящее время находят применение во многих приложениях: обнаружение препятствий, измерение расстояние, мониторинг глубин и многое другое. А такие варианты ультразвуковых датчиков как SR04T и SR04M, помещенные в водонепроницаемый корпус, позволяет им работать в жестких погодных условиях и … Читать далее →
Рубрика: Схемы на Arduino | Метки: arduino, arduino uno, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new13 июня, 2022
Робот, объезжающий препятствия, является одним из самых популярных типов роботов, создаваемых энтузиастами-радиолюбителями. По сути, это обычный робот на колесах, который может двигаться в пространстве, не сталкиваясь ни с какими препятствиями. Существует много различных способов сконструировать подобного робота, но в нашем … Читать далее →
Рубрика: Схемы на PIC | Метки: HC-SR04, l293d, PIC, драйвер мотора, инфракрасный датчик, робототехника, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new11 июня, 2022
Практически для любого современного проекта встраиваемой электроники необходимы датчики. Они являются «глазами» и «ушами» проекта и помогают микроконтроллеру получать информацию о том, что происходит вокруг него. В данной статье мы рассмотрим подключение ультразвукового датчика HC-SR04 к микроконтроллеру PIC. Измеренное с … Читать далее →
Рубрика: Схемы на PIC | Метки: HC-SR04, PIC, ЖК дисплей, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new13 апреля, 2022
Беспроводные технологии играют важную роль в жизни современного общества. К подобным технологиям можно отнести Bluetooth, WiFi, радиочастотные модули 433 МГц (433 MHz RF) и т.д. Каждая из этих технологий имеет свои преимущества и недостатки по скорости, дальности, стоимости и т.п. … Читать далее →
Рубрика: Проекты на STM32 | Метки: arduino uno, HC-SR04, STM32, беспроводная связь, ЖК дисплей, радиочастотный модуль, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new4 января, 2022
Управление сточными водами (канализацией) является одной из важнейших задач муниципальных служб. Особенно остро эти проблемы проявляются в крупных (переполненных) городах. В данной статье мы рассмотрим создание интеллектуального индикатора сточных вод на основе платы ESP8266 NodeMCU, который будет обнаруживать засорение дренажных … Читать далее →
Рубрика: Проекты на ESP8266 | Метки: ESP8266, HC-SR04, NodeMCU, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new11 января, 2022
В предыдущих статьях на нашем сайте, посвященных основам работы с платой Raspberry Pi Pico, мы рассмотрели ее настройку для работы с языком MicroPython и подключение к ней OLED дисплея. В этой же статье мы рассмотрим подключение к плате Raspberry Pi … Читать далее →
Рубрика: Проекты на Raspberry Pi | Метки: HC-SR04, MicroPython, OLED дисплей, Raspberry Pi Pico, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new2 сентября, 2021
Цифровое измерение расстояний в настоящее время находит широкое применение в системах контроля движения транспортных средств, медицине, устройствах для слабовидящих и т.д. Наиболее дешевым способом измерения расстояний является использование для этой цели ультразвуковых датчиков, среди которых наиболее распространен датчик HC-SR04. В … Читать далее →
Рубрика: Схемы на AVR | Метки: ATtiny85, avr, HC-SR04, OLED дисплей, печатная плата, регулятор напряжения, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new21 сентября, 2022
Ультразвуковые датчики, также известные как сонары (SONAR), представляют собой электронные устройства, используемые для измерения расстояния до объекта при помощи излучения ультразвуковых волн. Кроме измерения расстояния они также используются в задачах обнаружения объектов и роботах, объезжающих препятствия. Ранее для измерения расстояния … Читать далее →
Рубрика: Схемы на Arduino | Метки: arduino, arduino nano, ЖК дисплей, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new28 апреля, 2021
В данной статье мы рассмотрим подключение ультразвукового датчика HCSR04 к плате Raspberry Pi и измерение расстояний с его помощью. Ранее на нашем сайте мы использовали совместно датчик HCSR04 и плату Raspberry Pi в проекте робота, объезжающего препятствия. Также на нашем … Читать далее →
Рубрика: Проекты на Raspberry Pi | Метки: HC-SR04, Raspberry Pi, ЖК дисплей, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new22 апреля, 2021
Роботы с каждым годом играют все большую роль в современной цивилизации, проникая практически во все сферы нашей жизнедеятельности. В данной статье мы рассмотрим создание робота на основе платы Raspberry Pi и ультразвукового датчика HC-SR04, способного самостоятельно объезжать препятствия, встречающиеся на … Читать далее →
Рубрика: Проекты на Raspberry Pi | Метки: HC-SR04, l293d, Raspberry Pi, драйвер мотора, робототехника, ультразвуковой датчик | Добавить комментарий
Датчик расстоянияArduino с использованием ультразвукового датчика HC-SR04
В этом руководстве я расскажу о том, как настроить датчик расстояния Arduino с помощью ультразвукового датчика HC-SR04.
Существует множество различных проектов, в которых этот учебник пригодится. Ниже я приведу лишь несколько примеров.
Датчик расстояния пригодится во многих проектах роботов, где пригодится знание расстояния до объектов. Например, вы можете использовать информацию о расстоянии, чтобы избежать препятствий, которые могут быть на вашем пути.
Вы также можете использовать датчик расстояния HC-SR04 для обнаружения радикального изменения расстояния до объекта. Вы можете использовать что-то вроде MyDevices Cayenne или свое собственное решение, чтобы предупредить вас об изменении.
Есть так много возможностей, и мы надеемся создать и поделиться некоторыми проектами, которые будут использовать этот датчик в ближайшем будущем.
Если вы предпочитаете Pi, вы также можете настроить HC-SR04 для работы с Raspberry Pi. И Arduino, и Raspberry Pi имеют множество применений датчика расстояния.
Если вы готовы к обучению, вы можете найти полное руководство прямо ниже. Мы даже включили видео, которое поможет вам выполнить все шаги по настройке этого датчика.
Оборудование
Все оборудование, которое вам понадобится для сборки этого датчика расстояния Arduino, указано ниже. Это руководство предназначено для HC-SR04, поэтому убедитесь, что вы выбрали один из них.
Рекомендуется
Видео
В приведенном ниже видео показаны все шаги по настройке ультразвукового датчика HC-SR04 с Arduino.
Полное письменное объяснение можно найти прямо под видео, а также несколько дополнительных вещей, которых нет в видео.
Adblock блокирует видео? Поддержите нас, подписавшись на наш сервис без рекламы.
Ультразвуковой датчик HC-SR04
Ультразвуковой датчик расстояния HC-SR04 — это популярный недорогой датчик, обеспечивающий измерение от 2 см (0,7 дюйма) до 400 см (157 дюймов). Точность может достигать 3 мм (0,1 дюйма), но может варьироваться в зависимости от качества сенсора.
Ультразвуковые датчики — относительно простые устройства, чрезвычайно полезные во многих высокотехнологичных установках. Они работают, излучая звуковые волны, а затем ожидая, пока они отразятся от близлежащего объекта. Приемник обнаружит, когда звуковые волны отразятся обратно к датчику.
Вы можете измерить время, прошедшее с момента, когда вы испустили звуковую волну, до момента, когда вы ее получили, используя датчик и немного кода.
Так как мы знаем скорость звука 340 метров в секунду или 0,0343 сантиметра в микросекунду , мы можем рассчитать расстояние, используя время, которое требуется звуковой волне, чтобы отскочить назад. (Расстояние = Время * Скорость)
Важно помнить, что нам нужно вдвое уменьшить либо скорость звука, либо время, необходимое для перемещения, так как мы хотим знать только расстояние до объекта. Если вы не уменьшите вдвое одно из значений, вы рассчитаете расстояние до объекта и обратно.
Я должен отметить, что математика, используемая для расчета расстояния, очень примитивна и не очень точна. Тем не менее, этого должно быть достаточно для большинства проектов.
Настройка схемы датчика расстояния
Схема для этого ультразвукового датчика расстояния Arduino очень проста. На его настройку уйдет не более пары минут.
Либо выполните несколько шагов ниже, либо обратитесь к принципиальной схеме, чтобы собрать эту очень простую схему.
- VCC подключается к 5v
- Trig подключается к контакту 2
- Echo подключается к контакт 3
- GND подключается к GND
Код датчика расстояния Arduino
Существует несколько различных реализаций кода, которые можно использовать для расчета расстояния. Этот расчет всегда выполняется с использованием сигнала, создаваемого вашим датчиком расстояния.
Самый простой способ — использовать библиотеку, но в этом уроке мы будем писать код с нуля.
1. Код довольно прост, если вы предпочитаете просто скачать его, то вы можете найти его на нашем Github. Кроме того, вы можете продолжить и узнать, что делает код.
Во-первых, нам нужно найти все переменные, которые нам понадобятся в нашем скрипте. Нам нужно будет определить контакты для триггера и эха.
Нам также нужны две переменные для наших расстояний и длительности импульса.
Далее нам нужно закодировать нашу функцию настройки. Эта функция инициализирует все, что нам нужно для нашей функции цикла.
Во-первых, мы запускаем последовательный вывод и устанавливаем скорость передачи 9600
.
Как мы упоминали ранее, пусковой штифт ( trigger_pin
) необходимо настроить как выход. Этот вывод сообщает нашему датчику, что нужно излучать ультразвуковую звуковую волну, которую улавливает приемник.
Вывод эха ( echo_pin
) должен быть установлен в качестве входа. Этот штифт станет высоким, когда ультразвуковая волна отразится и ударит по приемнику.
Далее мы рассмотрим нашу функцию цикла. Именно здесь мы будем запускать наш ультразвуковой датчик расстояния HC-SR04 и определять расстояние до ближайшего объекта.
Мы начинаем с установки высокого уровня для триггера trigger_pin
(эхо), и это будет излучать ультразвуковые волны для приема нашим echo_pin
(приемник). Мы сохраняем вывод высоким на 10 микросекунд , прежде чем установить его обратно на низкий .
И, наконец, мы используем функцию pulseIn для измерения времени, которое требуется выводу эха ( echo_pin
) для перехода от low до high . Возвращает время в микросекундах.
Если есть ошибка, он просто вернет 0, и это указывает на то, что он никогда не получал полный импульс в течение периода ожидания.
Теперь у нас есть расчеты расстояний, как вы можете видеть выше, их два. Один для сантиметров, другой для дюймов.
Математика для сантиметров и дюймов примерно одинакова, за исключением значения скорости звука. Я объясню расчет см.
Скорость звука в сантиметрах в микросекунду примерно равна 0,0343 . Мы делим это на два, поскольку мы измеряем только половину расстояния, пройденного ультразвуком. Это дает нам значение 0,0171 .
Наконец, нам нужно распечатать нашу информацию, чтобы мы могли ее просмотреть. Мы используем Serial.print, поэтому все наши данные будут напечатаны в последовательном мониторе.
Сначала печатаем расстояние, потом см. Вы можете изменить см на дюймы, если вам нужно. После этого мы отправляем Serial.println, поэтому наша следующая строка данных будет на новой строке.
Наконец, мы задерживаем скрипт на 500 миллисекунд.
Это весь код, помните, что вы можете загрузить его с GitHub, если у вас возникнут проблемы. Вы также можете найти окончательный код без комментариев прямо ниже.
2. Теперь вы должны быть готовы развернуть код на Arduino и увидеть свое творение в действии.
Проверка схемы и кода
1. Чтобы загрузить код , нажмите Подтвердить ( 1. ), а затем загрузить ( 2. ).
Если у вас возникнут проблемы, проверьте код, чтобы убедиться, что все в порядке.
Также убедитесь, что ваш Arduino подключен и выбран в разделе Tools->Port:
3. Теперь ваш датчик расстояния Arduino должен работать. Загрузите последовательный монитор, расположенный в меню инструментов, и вы должны увидеть распечатку некоторых измерений.
Устранение неполадок
В этом руководстве есть несколько ошибок. Я расскажу о некоторых наиболее распространенных проблемах, с которыми сталкиваются люди.
- Если компилятор Arduino выдает ошибки, вернитесь к коду, чтобы убедиться, что вы скопировали его правильно. Компилятор обычно указывает на любые проблемы, исправляет их, и код должен скомпилироваться.
- Странные значения, которые не имеют смысла, обычно связаны либо с плохо подключенным датчиком расстояния, либо с неисправным датчиком расстояния. Плохо подключенный датчик исправить намного проще, так как вам просто нужно дважды проверить свою цепь. Если он неисправен, вам нужно будет купить новый. Также убедитесь, что вы указали правильные контакты в скрипте.
- Если у вас возникли проблемы с загрузкой кода в Arduino, дважды проверьте, выбрали ли вы его в IDE. Он находится в разделе « Tools->Port: » и « Инструменты->Плата ».
Я надеюсь, что это руководство показало вам все шаги по настройке датчика расстояния Arduino, который использует HC-SR04. Если у вас есть какие-либо отзывы, советы или что-то еще, пожалуйста, не стесняйтесь оставлять комментарии ниже.
Как определить и выбрать хорошие датчики расстояния Arduino — Производство печатных плат и сборка печатных плат
В настоящее время мы используем измерительные системы в нашей повседневной жизни. Они состоят из объектов, которые определяют физические расстояния. Такие устройства есть на транспортных средствах, таких как легковые автомобили, автобусы и грузовики. К ним относятся радары и камеры.
Мы используем датчики расстояния в качестве объектов в нашем окружении в различных приложениях. Например, мы используем их в медицине. Они измеряют расстояние до органа или части человеческого тела. Они также полезны для промышленных целей, таких как проверка и контроль качества.
Запросить датчик расстояния Arduino
Что такое датчик расстояния?Электронный компонент, измеряющий расстояние до физического объекта. Наиболее распространенными такими датчиками являются фотоэлементы, датчики уровня освещенности и емкости. Другие включают фоторезистивные датчики и индуктивные и ультразвуковые металлические чувствительные элементы. Тем не менее, существуют и другие типы этих датчиков.
Arduino может определять расстояние до объектов, уровень освещенности и наклон в вашем доме. Датчики подходят для использования с Arduino.
ФотоэлементыФотоэлемент представляет собой электронный датчик, преобразующий интенсивность падающего на него света в напряжение. Чтобы датчик этого типа работал, вы должны пропускать свет через линзу под определенным углом. Поэтому его выход высокий, когда на него падает яркий свет, и 0 В, когда темный объект (например, ваша рука) блокирует свет.
В Arduino используются фотоэлементы двух типов: цифровые и аналоговые. Цифровой фотоэлемент выдает 5 В, если свет включен. В противном случае он выдает 0 В. Аналоговые фотоэлементы выдают значение, пропорциональное интенсивности падающего на них света. Таким образом, вам придется использовать микросхему АЦП, чтобы прочитать их значение.
Цифровые фотоэлементы очень дешевы, но плохо реагируют на изменение освещенности. Тем не менее, они полезны, когда вы хотите измерить различные уровни освещения.
Датчики уровня освещенностиЭти датчики также известны как фототранзисторы. Они могут определить количество света, падающего на них. Выход этих датчиков пропорционален интенсивности падающего на них света. Таким образом, вы можете использовать его, чтобы узнать, освещен ли ваш дом или нет. Вы можете использовать его с микросхемой АЦП или без нее.
Емкостные датчикиМогут измерять расстояние между двумя объектами. Например, они могут измерить высоту стены или расстояние между полом и вашей рукой.
Кондуктивно-емкостные датчикиЭти датчики широко используются в робототехнике. Их принцип работы зависит от измерения расстояния между объектами. Чем ближе объект, тем больше электричества он проводит.
Емкостные датчики очень точны, и вы можете использовать их для измерения небольших перемещений. Они также относительно дешевы. Наиболее распространенным типом емкостного датчика является «зажим-крокодил».
Цифровые емкостные датчикиЭти датчики могут определять расстояние между двумя объектами (ваша рука и пол). Мы можем использовать их для игр или даже для создания систем безопасности в вашем доме, потому что они работают по принципу детекторов приближения.
ФоторезисторыФоторезисторы — это очень чувствительные устройства, измеряющие расстояние до объектов. Они измеряют сопротивление, оказываемое объектом свету. Они работают так же, как фотоэлемент, с той лишь разницей, что совершенно не реагируют на свет.
Фоторезисторы бывают двух типов: поверхностные и печатные. Поверхностные подходят только для промышленного применения. Тем не менее, вы можете использовать распечатанные дома.
Чтобы использовать поверхностные фоторезисторы с Arduino, вам потребуется микросхема АЦП.
Напечатанные фоторезисторы могут быть более точными, чем цифровая камера, потому что они не полагаются на аналоговые схемы. У них и дальность лучше.
Как определить хороший датчик расстояния ArduinoФотоэлементы, датчики уровня освещенности, емкостные датчики не подходят для использования с Arduino. Для их работы требуется источник питания.
Другая группа датчиков расстояния не требует источника питания. Они полезны в робототехнике, и мы называем их цифровыми датчиками расстояния. Все они имеют внутренний аналого-цифровой преобразователь (АЦП). АЦП — это устройство, выполняющее аналого-цифровое преобразование. Мы подключаем его к двум аналоговым входам, где разница между ними представляет собой цифровое значение значения, которое он производит. В простых случаях, после считывания аналогового ввода, мы можем использовать АЦП для цифрового ввода, чтобы решить, какое действие предпринять в отношении объекта, который его обнаружил.
Существует множество различных типов цифровых датчиков расстояния, доступных из RayMing PCB & Assembly . Они отличаются точностью, максимальной дальностью и ценой. Кроме того, они функционируют по-разному. Поэтому очень важно выбрать подходящий для вашего приложения.
Цифровые датчики расстояния можно разделить на две основные группы: активные и пассивные.
Активные датчики измеряют расстояния с помощью инфракрасных или видимых световых лучей, которые они излучают сами. Мы используем их для измерений на расстоянии до 100 метров, и их цена составляет около 10 долларов и более. Они также потребляют много энергии (вам понадобится 9В для каждого датчика). Вам понадобится дополнительная библиотека Arduino для считывания сигнала с этих датчиков.
Мы используем активные датчики только в робототехнике. Лучи света могут вызвать проблемы с обнаружением объектов в вашем доме или мастерской. Например, зеркала и другие блестящие предметы могут отражать лучи.
Запросить производство и сборку печатных плат
Датчик расстояния Arduino КонструкцияАналоговые датчики работают, измеряя количество падающего на них света. Имеют резистивный слой (фоторезистивный). Он производит переменное напряжение, пропорциональное интенсивности падающего на него света. Мы выполняем аналого-цифровое преобразование с помощью микросхемы АЦП.
Напротив, цифровые датчики не имеют резистивного слоя. Вместо этого они измеряют время, необходимое импульсу для перехода из одной точки в другую. В них используется схема, которая генерирует прямоугольные импульсы очень высокого напряжения в течение короткого времени. Он также измеряет время между двумя такими импульсами с помощью микросхемы АЦП.
Проще говоря, активный цифровой датчик представляет собой небольшой источник света, который посылает световой импульс. Он также измеряет время, необходимое для возвращения отражения этого импульса. Пассивный цифровой датчик измеряет время, необходимое для того, чтобы внешний источник света достиг его.
Как выбрать подходящий тип датчика расстояния Arduino для вашего приложенияПри выборе датчика расстояния для робота необходимо учитывать несколько факторов:
Видимость:Вам понадобится датчик расстояния, который может обнаруживать объекты, не находящиеся в диапазоне видимого света. Например, вы можете использовать непрозрачные окна, двери и зеркала. Но вы не хотите использовать инфракрасный датчик. Он может начать работать, когда кто-то входит в комнату. Кроме того, это может даже привести к повреждению сетчатки глаза человека.
Точность:Предположим, вам нужно отслеживать расстояние до движущегося объекта, например, автомобиля или робота. Вам нужен точный датчик, потому что его цель может двигаться с разной скоростью. Следовательно, датчик не может измерять каждый раз, когда изменяется расстояние. Вместо этого выберите аналоговый тип датчика (например, фотоэлемент). Вам придется перекалибровать его каждый раз, когда цель перемещается дальше вперед или назад. Но этот метод ненадежен.
Диапазон:Вам также необходимо учитывать диапазон датчика, если вы покупаете его для своего робота. Например, вам нужно будет убедиться, что он может обнаружить ваш целевой объект на расстоянии 100 метров.
Простая установка:Предположим, что установить и настроить датчик расстояния в вашем приложении несложно. Это будет проще для пользователей, которым необходимо управлять роботом.
Цена:Цена датчика тоже имеет значение. Если вам интересен датчик определенного типа, погуглите его и сравните цены.
Вы должны знать, что многие другие датчики расстояния не подходят для использования с Arduino. Например, датчики приближения, радарные датчики и ультразвуковые датчики.
Типы датчиков, которые мы можем использовать с микроконтроллером AVR, таким как ArduinoСуществует множество различных типов датчиков, которые мы можем использовать с Arduino. Это активные и пассивные цифровые датчики расстояния, подобные рассмотренным выше. Существуют также аналоговые и цифровые магнитные, инфракрасные и ультразвуковые датчики расстояния.
Датчик, который вам нужно выбрать, зависит от приложения, которое вы хотите, чтобы он выполнял.
1. Ультразвуковой датчикУльтразвуковой датчик — это датчик, который генерирует высокочастотные звуковые волны и использует их для определения расстояния до объектов. Это самый популярный тип датчика среди любителей, потому что он недорог в использовании и работает надежно.
Как работает ультразвуковой датчик?Ультразвуковые датчики работают на основе концепции, согласно которой все объекты имеют определенную характерную частоту. Например, ходьба по воде создает волны, сильно отличающиеся от тех, которые образуются при броске камня в ту же воду. Ультразвуковой датчик смотрит на две разные волны, сравнивает их и определяет расстояние до них.
Ультразвуковой датчик измеряет расстояние несколькими звуковыми сигналами, издаваемыми датчиком. Затем они определяют, сколько времени требуется звуковой волне, чтобы вернуться. Время зависит от расстояния объекта от датчика. Каждая волна распространяется со скоростью, пропорциональной ее длине волны, т. е. пропорциональной ее длине. Таким образом, время, необходимое для возврата каждой волны, пропорционально ее расстоянию от датчика.
Важно отметить, что ультразвуковой датчик измеряет время возвращения каждой волны. То же самое относится ко всем датчикам, основанным на расстоянии. Например, инфракрасные датчики измеряют время движения объекта от достижения определенной точки до возвращения.
Ультразвуковые датчики генерируют другой тон и определяют его частоту, когда обнаруживают объект в поле зрения.
Основные области применения ультразвуковых датчиковУльтразвуковые датчики в основном применяются в робототехнике. Мы можем использовать его для самых разных целей:
a. Измерение расстояния:
Ультразвуковые датчики чаще всего применяются для измерения расстояния, особенно в робототехнике. Например, они могут подсчитать количество людей, входящих в дверь, или рассчитать, как движется машина. Они также могут измерять объем жидкости или количество жуков или животных, содержащихся в контейнере.
б. Роботизированные датчики:
Мы можем использовать ультразвуковые датчики в качестве основы для множества различных роботизированных датчиков. Например, ультразвуковой датчик может измерять расстояние до резервуара, работать как датчик детонации или создавать виртуальную стену.
в. Умные автомобили:
На борту умного автомобиля есть ультразвуковые датчики для определения расстояния в виде вибрации. Они могут высматривать объекты, преграждающие путь машине, или окружающие ее препятствия.
д. Беспилотные летательные аппараты (БПЛА)/дроны:
БПЛА более известны как беспилотные летательные аппараты (БПЛА) или дроны. Мы можем использовать их для различных целей, таких как аэрофотосъемка и спасательные операции. Инфракрасные и ультразвуковые датчики являются наиболее распространенными датчиками на БПЛА.
Ультразвуковые датчики становятся все более популярными в робототехнике. Мы можем использовать их для определения расстояния без необходимости видеть. Они работают, даже когда на улице темно или материал загораживает им обзор (например, непрозрачная стена).
Преимущества ультразвуковых датчиков1. Несколько вариантов интерфейса для сопряжения с микроконтроллером
Поскольку мы можем подключить ультразвуковые датчики непосредственно к контактам микроконтроллера, вы можете подключить их к линиям ввода-вывода AVR. Вы можете использовать либо встроенный интерфейс чипа, либо одну из множества библиотек с открытым исходным кодом. Они позволяют вам взаимодействовать с датчиками расстояния Arduino в последовательных форматах UART и SPI.
2. Склонен к меньшему потреблению тока/мощности
Поскольку ультразвуковые датчики работают по принципу измерения расстояния, они работают очень мало. Таким образом, они, как правило, потребляют меньший ток и мощность, чем другие датчики. Более низкое энергопотребление позволяет использовать ультразвуковой датчик во многих приложениях.
3. Хорошо работает в темноте
Ультразвуковые датчики хорошо работают даже в условиях низкой освещенности. Например, они могут отслеживать дверь в доме, вокруг которого нет надлежащего освещения. Таким образом, ультразвуковые датчики идеально подходят для приложений, требующих работы даже в темное время суток или при наличии большого количества дыма или пыли.
4. Не зависит от цвета и прозрачности объекта
На ультразвуковые датчики не влияет цвет и прозрачность объекта. В результате они могут определять расстояние от воды и жидкостей, а также непрозрачных материалов, таких как стены.
Недостатки ультразвуковых датчиков1. Ограниченный диапазон обнаружения
Ультразвуковые датчики не подходят для приложений, требующих большого диапазона обнаружения. У них ограниченные возможности. Например, мы не можем обнаружить объекты на расстоянии более 16 футов.
2. Низкое разрешение и низкая частота обновления
Разрешение ультразвукового датчика очень низкое. В результате невозможно обнаружить очень маленькие объекты, такие как насекомые или частицы.
3. Невозможно измерить расстояние до объектов с экстремальной текстурой
Ультразвуковые датчики не могут определить расстояние до объектов с экстремальной текстурой. Например, невозможно определить расстояние до кирпичной стены с кирпичной текстурой высокого тона.
2. Инфракрасные датчики расстоянияИнфракрасные датчики расстояния также популярны среди любителей. Они могут чувствовать расстояние и температуру.
Запросить производство и сборку печатных плат
Как работает инфракрасный датчик расстояния?высокая точность датчик расстояния
Инфракрасный датчик расстояния представляет собой излучатель света и детектор света. Он посылает невидимые световые сигналы и определяет отраженную длину волны. Этот процесс похож на то, как распространяется звук. Инфракрасные датчики работают в широком диапазоне длин волн. Это не похоже на ультразвуковые датчики, которые используют определение на основе тона.
Обычно инфракрасный датчик включает два светодиода и один фототранзистор. Фиксированное расстояние разделяет два светодиода на датчике. Первый светодиод является передатчиком, т. е. излучает невидимый свет, а второй светодиод является приемником или детектором. Он отражает свет, полученный от передатчика.
Мы можем лучше всего объяснить, как работают инфракрасные датчики, следующим образом:
1. Он генерирует инфракрасные волны от светодиода передатчика и направляется к светодиоду приемника.
2. Светодиод приемника попадает в инфракрасные волны, которые отражаются и попадают на другой фототранзистор.
3. Второй фототранзистор генерирует электрический сигнал. Сигнал соответствует количеству света, отраженного светодиодом приемника.
4. Подключили второй фототранзистор к светодиоду приемника и переключили. Он включается, когда датчик получает свет.
5. 4-я линия цепи датчика – аналоговый сигнал 0-5В. В зависимости от типа используемого датчика вы можете получать сигнал с помощью контактов VCC и GND микроконтроллера.
6. Напряжение этого сигнала помогает управлять светодиодом передачи или считывать измерения расстояния другим способом.
Применение инфракрасных датчиков расстояния:a. Приложения для мониторинга и управления: инфракрасные датчики расстояния могут управлять автоматическими дверями и механизмами. Они подходят для приложений домашней автоматизации. Они контролируют бытовую технику, такую как кондиционеры, вентиляторы, водонагреватели и т. д.
Инфракрасные датчики также широко используются в системах безопасности.
б. Системы безопасности: инфракрасные датчики расстояния могут обнаруживать движущийся объект и подавать сигнал в систему сигнализации или обнаружения движения.
в. Измерение расстояния: они могут измерять расстояние Arduino между двумя датчиками и температуру объекта. Инфракрасные датчики могут помочь определить положение движущегося объекта.
д. Телевизоры, компьютеры, ноутбуки: мы используем их в телевизорах и компьютерах для отслеживания положения пультов дистанционного управления. Они также играют роль в обнаружении движения пальцев человека на сенсорной панели или клавиатуре ноутбука, чтобы помочь перемещаться по курсору.
Каковы преимущества инфракрасных датчиков расстояния1. Малый форм-фактор
Инфракрасные датчики расстояния малы и компактны, что делает их идеальными для использования в робототехнике. Мы также можем использовать их в игрушках, таких как игрушечные вертолеты, для определения положения объекта или двух блоков.
2. Подходит для дневного и ночного использования
Мы можем использовать инфракрасные датчики расстояния в дневное и ночное время. Они могут управлять игрушками и другими приложениями, использующими свет, звук или касание.
3. Защищенная связь в пределах прямой видимости
Поскольку инфракрасные датчики расстояния работают через свет, они безопасны. Поэтому мы можем использовать их для общения на расстоянии. Это не похоже на ультразвуковые датчики, которые могут взломать систему.
4. Может измерять расстояние до объектов со сложной поверхностью
Инфракрасные датчики расстояния могут определять расстояние до объектов со сложной поверхностью. Это связано с тем, что инфракрасные волны могут легко проходить через определенные материалы, такие как вода, стекло и дерево. Ультразвуковые датчики не столь эффективны в этом отношении. Мы не можем использовать их для определения расстояния до этих материалов.
Недостатки инфракрасных датчиков расстояния:1. Ограниченный диапазон измерения
Инфракрасные датчики расстояния имеют ограниченный диапазон измерения. Они не могут измерить расстояние до объекта, находящегося далеко.
2. Воздействие условий окружающей среды и твердых предметов
Инфракрасные датчики расстояния неразрушающие. На них могут повлиять условия окружающей среды и твердые предметы. Эти датчики не будут хорошо работать в местах с дымом или пылью.
3. Лазерные датчики расстояния: LIDARLIDAR, аббревиатура от LIGHT DEPTH MARAYS, означает обнаружение света и определение дальности. По сути, это влечет за собой отправку серии лучистых волн и измерение времени, которое эти волны должны вернуться к излучателю. Скорость, с которой распространяются волны, зависит от их длины. Мы можем считать эту длину волны лучом, отраженным от объекта для обнаружения системой LIDAR.
Как работают лазерные датчики расстояния?Лазерные датчики расстояния работают по принципу триангуляции. Согласно этому принципу, если мы знаем три точки или три угла, мы можем прийти к другой точке, используя правила тригонометрии. Три точки — это излучатель, приемник и интересующий объект или область. Метод триангуляции, используемый лазерными датчиками ближнего действия Arduino, включает отправку лазерного луча. Он направляет их в разные стороны под разными углами. Затем он ждет, пока датчик измерит свое положение с помощью устройства, известного как пара зеркал. Это устройство работает как люксметр. После этого можно рассчитать расстояние между этими тремя точками.
Где работают лазерные датчики расстояния?Лазерные датчики расстояния работают во многих областях, таких как:
a. Мониторинг окружающей среды
Мы можем использовать лазерные датчики расстояния для мониторинга состояния окружающей среды. Они также могут контролировать уровень загрязнения, особенно в загрязненных городах, таких как Дели.
б. Измерение расстояния
Мы можем использовать лазерные датчики расстояния для измерения расстояния между точкой и объектом. Например, производитель автомобилей может использовать эту технологию для контроля качества своих автомобилей. В этом случае мы можем измерить расстояние между двумя частями автомобиля с помощью лазеров.
в. Управление машинами и безопасность
Мы можем использовать лазерные датчики расстояния для управления машинами и механизмами. Он также может измерять расстояние между двумя объектами. Этот случай посылает лазерный луч под определенным углом. Измеряем обратный сигнал с помощью пары зеркал. Эта информация позволяет рассчитать расстояние между объектами-излучателями и приемниками.
д. Робототехника Визуализация и обнаружение окружающей среды
Лазерные датчики расстояния могут контролировать машины или механизмы. Затем он идентифицирует объекты в окружающей среде, такие как животные или люди. Например, они могут повысить безопасность роботов, отслеживая их положение.
Преимущества лазерных датчиков расстоянияЛазерные датчики расстояния имеют следующие преимущества:
a. Подходит для использования днем и ночью
Лазерные датчики расстояния позволяют точно измерять расстояние даже днем и ночью. Они могут управлять машинами и машинами.
б. Небольшие длины волн по сравнению с гидролокатором и радаром
Лазерные датчики расстояния имеют небольшую длину волны. Они эффективны в воде, воздухе и даже минералах.
в. Высокая скорость обновления
Лазерные датчики расстояния могут измерять расстояние между двумя объектами. Он имеет высокую и быструю скорость обновления. Они подходят для быстро движущихся объектов.
д. Возможность измерения трехмерных структур
Лазерные датчики расстояния могут измерять расстояние между двумя объектами под разными углами. Он также может измерять трехмерные структуры. Например, они могут измерять расстояние до объекта под тремя-четырьмя разными углами. Это означает, что они могут определить форму объекта, используя эти измерения.
д. Высокая дальность и точность измерения
Лазерные датчики расстояния могут измерять расстояние между двумя объектами с большого расстояния. Они обладают высокой степенью точности измерения расстояния между объектом и точкой. Это идеально подходит для определения того, на каком расстоянии датчики Arduino начинают видеть ухудшение сигнала.
Запросить производство и сборку печатных плат
Недостатки лазерных датчиков расстоянияa. Более высокая стоимость эксплуатации
Лазерные датчики расстояния дороже, чем другие датчики на рынке. Они также дороже в обслуживании и выбрасывают ошибки, когда их компоненты устаревают.
б. Опасно для невооруженного глаза
Лазерные лучи от лазерных датчиков расстояния могут повредить глаза при непрямом воздействии. Глаза должны моргать или закрываться при воздействии этих лучей.
4. Светодиодные времяпролетные датчики расстоянияВремяпролетные датчики доступны в виде светодиодов. Они измеряют время, необходимое свету, чтобы вернуться к своему излучателю. Этот метод включает отправку длинноволнового импульсного лазера на известное расстояние. Затем он измеряет время, необходимое для того, чтобы этот свет вернулся. Скорость, с которой движется этот свет, зависит от его длины волны. Устройства, использующие датчики времени пролета, являются датчиками времени пролета или датчиками TOF. Эти датчики полезны в визуализации, управлении машинами, робототехнике и мониторинге окружающей среды.
Когда мы используем времяпролетные датчики?Времяпролетные датчики полезны для многих целей, таких как:
a. Дроны
Дрон — это небольшой беспилотный летательный аппарат, который может создавать аэрофотоснимки. Датчик времени пролета может посылать лазерный луч и измерять время, необходимое для возвращения этого луча. Мы называем этот тип датчика датчиком времени пролета или датчиком TOF. Он также может работать в управлении машинами и робототехнике.
б. Подсчет людей на больших площадях
Времяпролетные датчики могут подсчитывать количество людей в определенной области. Они работают по тому же принципу, что и камеры видеонаблюдения. Они посылают лазерный луч, отраженный после попадания в объект. Затем датчик измеряет время, необходимое для того, чтобы этот луч вернулся в исходное положение. Затем он вычисляет длину этого расстояния с помощью тригонометрии.
в. Робототехника
Времяпролетные датчики могут отслеживать присутствие людей в определенной области. Они также могут помочь роботам идентифицировать такие объекты, как животные или люди. Затем это может помочь им избежать столкновения с этими объектами.
д. Машинное зрение
Времяпролетные датчики могут определять линии машины. Например, они могут обнаружить трещины на машине, что делает ее небезопасной для использования.
эл. Мониторинг окружающей среды
Времяпролетные датчики могут измерять расстояние между двумя точками. Они также могут контролировать уровень загрязнения в таких местах, как загрязненные города, такие как Дели.
ф. Промышленное применение
Времяпролетные датчики могут работать в промышленных применениях, например датчики опасных материалов. Он может обнаруживать наличие токсичных газов или пыли в воздушных потоках. Они также используются в сельском хозяйстве, например, при выращивании сельскохозяйственных культур или влажности почвы, для отслеживания их уровня. Наконец, они могут измерять расстояние между двумя объектами.
Преимущества времяпролетных датчиковВремяпролетные датчики могут измерять расстояние между двумя объектами в диапазоне от 0,2 до 50 метров. Они также обладают высокой степенью точности измерения расстояния между объектом и точкой. Разрешение у них хорошее. Они могут эффективно отличать один объект от другого. Они используют разные частоты для работы.
Недостатки времяпролетных датчиковВремяпролетные датчики стоят дороже, чем другие датчики на рынке. Они не работают при использовании в местах без прямой видимости. Это делает их непригодными для определенных приложений, таких как отслеживание объектов в воде.
ЗаключениеДатчики расстояния Arduino были частью многих систем удаленной домашней автоматизации. Но они также полезны в различных других приложениях. Если вы нашли эту статью полезной, поделитесь ею с друзьями, чтобы они знали об этом.
Подключить Arduino к датчикам расстояния очень просто, как подключить Arduino к другим компонентам. Библиотеки Arduino также включают в себя различные датчики расстояния. К ним относятся ультразвуковые, u-blox и оптические датчики расстояния. Так что эти датчики подходят для связи с другими устройствами с помощью Bluetooth и Wi-Fi.
Как использовать ультразвуковой датчик в Arduino
Ozeki 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.0449 Загрузить код ультразвукового датчика в Arduino Mega 2560
Загрузить код ультразвукового датчика в Arduino Nano
Загрузить код ультразвукового датчика в Raspberry Pi
Загрузить код ультразвукового датчика в Ozeki Matrix
Датчики Arduino и Ozeki будут обмениваться данными через порт USB с использованием протокола ультразвукового датчика Ozeki. Этот Протокол позволяет вам использовать датчик непосредственно на вашем ПК. Вы сможете управлять этим датчиком через веб-интерфейс. пользовательский интерфейс или вы сможете общаться с ним с помощью Ozeki Chat. Вы можете прочитать больше об управлении чатом на следующей странице.
Как общаться с ультразвуковым датчиком с помощью чата
Важно понимать управление чатом, потому что когда вы строите робота, Вы хотите управлять этим датчиком, отправляя и получая сообщения. если ты откройте приложение Ozeki Robot Developer, вы увидите, кому вы можете написать C#.Net программа для работы с этим датчиком.
Этапы подключения
- Подключите ультразвуковой датчик к Arduino, используя схему подключения
- Подключите плату Arduino к компьютеру
- Проверьте COM-порты, чтобы убедиться, что ваш Arduino подключен
- Откройте приложение Arduino на ПК
- Загрузить пример кода в микроконтроллер
- Откройте графический интерфейс Ozeki 10 в браузере
- Выберите подключение ультразвукового датчика
- Нажмите «Измерить», чтобы получить данные с датчика
Обзор системы
Предлагаемая нами система состоит из ультразвукового датчика, подключенного к аналоговому порту. вашего Ардуино. 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.0017
Вы можете увидеть, как подключить ультразвуковой датчик на любую из следующих досок:
- Ардуино Мега 2560
- Ардуино Нано
Ваш браузер не поддерживает видео тег.
- Ардуино Уно
- Ультразвуковой модуль Ozeki
- Малиновый Пи
(Если вы используете Raspberry Pi, перейдите к «Шаг 3»)
После подключения подключите плату к компьютеру!
Шаг 2.
Загрузить код в микроконтроллер(Вот код для загрузки)
Ваш браузер не поддерживает видео тег.
Шаг 3. Запустите Ozeki 10, чтобы попробовать ультразвуковой датчик
Ваш браузер не поддерживает видео тег.
Шаг 4. Настройка ультразвукового датчика в Ozeki 10
Чтобы иметь возможность настроить ультразвуковой датчик (подключенный к Arduino) в Ozeki 10, который установлен на вашем компьютере, вам необходимо открыть графический пользовательский интерфейс (GUI) Ozeki 10. Вы можете открыть графический интерфейс, введя URL-адрес компьютера в свой веб-браузер. Например, если наш ПК имеет IP-адрес 192.168.1.5, мы бы введите http://192.168.1.5:9513 в наш веб-браузер.
Шаг 5. Понимание протокола ультразвукового датчика
Ультразвуковой датчик может связываться с Ozeki через следующий протокол.
Каталожные номера:
https://www.arrow.com
https://www.tutorialspoint.com
Дополнительная информация
- Датчики и приводы Arduino
- Как использовать аналоговый датчик в Arduino
- Как использовать контроллер кнопок в Arduino
- Как использовать зуммер в Arduino
- Как использовать двигатели постоянного тока в Arduino
- Как использовать датчик dht в arduino
- Как использовать диспетчер EEPROM в Arduino
- Как использовать датчик гироскопа в arduino
- Как использовать менеджер идентификаторов в Arduino
- Как использовать ИК-трансивер в Arduino
- Как использовать аналоговый джойстик в Arduino
- Как использовать клавиатуру в Arduino
- Как использовать ЖК-дисплей в Arduino
- Как использовать считыватель NFC в arduino
- Как использовать оптический вентиль в Arduino
- Как использовать регистр в arduino
- Как использовать приемопередатчик RF 433 МГц
- Как использовать приемопередатчик RF 2,4 ГГц
- Как использовать светодиод RGB в Arduino
- Как использовать датчик RGB в Arduino
- Как использовать поворотный энкодер в Arduino
- Как использовать серводвигатель в Arduino
- Как использовать шаговый двигатель в Arduino
- Как использовать переключатель в ардуино
- Как использовать датчик температуры в arduino
- Как использовать таймер в ардуино
Датчик температуры | Arduino Mega |
arduino — Измерение расстояния с помощью ультразвукового датчика в трубе
Вопрос задан
Изменено 2 года, 2 месяца назад
Просмотрено 1к раз
\$\начало группы\$
Я пытаюсь определить расстояние до объекта в трубе, но получаю неверные значения с помощью ультразвукового датчика с Arduino, поскольку звук отражается от поверхности трубы.
Что мне нужно сделать, чтобы получить правильные значения?
Это картина того, что я пытаюсь сделать.
- arduino
- датчик
- ультразвук
- дальномер
\$\конечная группа\$
10
\$\начало группы\$
Я предполагаю, что труба предназначена только для защиты датчика от шума окружающей среды. Если труба ничем не заполнена, то просто выстелите внутреннюю часть трубы листами губки или поролона, чтобы устранить или уменьшить внутренние отражения.
Поиск в сети дает результаты для звукоизоляционного пенопластового листа
0003
Принцип аналогичен черной краске, используемой внутри телескопов и объективов фотоаппаратов.
\$\конечная группа\$
0
\$\начало группы\$
Ультразвуковые датчики измеряют расстояние, отправляя ультразвуковой сигнал и измеряя время, необходимое для его отражения от объекта и возвращения обратно. Самой большой проблемой являются отражения внутри трубы, которые можно решить с помощью звукопоглощающего материала внутри трубы.
Другая проблема заключается в том, что скорость звука зависит от атмосферного давления. Даже небольшие изменения, такие как открытие двери или быстрое перемещение объекта перед датчиком, полностью разрушают измерение. Гораздо лучшим решением является использование времяпролетного лазерного датчика дальности. В наши дни они действительно недорогие (VL53L0X стоит около 10 долларов) и обеспечивают гораздо лучшую точность и производительность.
\$\конечная группа\$
0
\$\начало группы\$
Вам вполне может понадобиться совершенно другая технология, отличная от ультразвуковой. Некоторый тип сфокусированного и направленного луча датчика, отраженного от цели на удаленном объекте, может быть возможным, но многое зависит от окружающей среды, того, что находится в трубе, и того, чего вы пытаетесь достичь.
Может быть, лучше отойти от ультразвуковых проблем и переформулировать проблему в более общем виде в отношении того, что вы пытаетесь измерить. При этом вам также нужно будет предоставить более подробную информацию об окружающей среде и о том, что находится в трубе.
\$\конечная группа\$
4
\$\начало группы\$
Если ваш датчик похож на HCSR04, он генерирует пакет из 8 периодов тона 40 кГц. В открытом воздухе при скорости 330 м/с длина волны составляет 8 миллиметров, а длина вспышки составляет примерно 6 сантиметров.
Сигнал от приемника усиливается, и некая простая схема дискриминатора пытается решить, когда возникает передний фронт или максимум задержанного и ужасно искаженного обратного импульса.
Это работает довольно хорошо в относительно свободном пространстве, где в основном обнаруживается однократное отражение от объекта странной формы, но если предположить, что ваша труба больше 8 миллиметров в диаметре, она будет отражать звук много раз, и каждый угол будет производить разные задержка из-за зигзагообразного рисунка.
Хорошей аналогией было бы сравнение одномодового оптического волокна, которое работает как волновод и может поддерживать абсурдно высокие частоты модуляции на расстояниях от десятков до сотен километров с усилением, но без регенерации, с самыми ранними видами многомодового оптического волокна со ступенчатым индексом который работал только с гораздо более низкой пропускной способностью, и это сильно зависит от расстояния. (МДФ с градиентным показателем преломления имеет гораздо меньшую модовую дисперсию, чем старое волокно со ступенчатым показателем преломления.)
У вас есть аналогия ступенчатого волокна с огромной модовой дисперсией; чем выше углы зигзагообразных отражений, тем больше длина пути и тем медленнее отражение. Ваш резкий ввод «пинга» ужасно размазывается с расстоянием.
Это означает, что простой дискриминатор в вашем бюджетном устройстве совершенно не готов к восприятию этой каши и дает плохой результат.
Все остальные ответы дают хорошие советы.