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

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

Я получил эти датчики: Пара алюминиевых корпусов Ультразвуковой преобразователь 40 кГц Передатчик Приемник . Я подумываю о их покупке, но сначала мне нужно убедиться, что они будут работать. Я часами искал инструкции о том, как подключить их к моему Arduino, но безуспешно.

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

Вы понимаете, что если вы используете отдельные Arduino для передачи и приема, то их нужно будет точно синхронизировать, чтобы измерить время полета? Другими словами, приемник должен знать, когда импульс покинул передатчик.
И я бы добавил, что из-за дрейфа осцилляторов их нельзя синхронизировать и забыть. Через некоторое время они будут рассинхронизированы. Как уже упоминалось, вам нужно найти способ периодической повторной синхронизации.
Я буду использовать радиочастотную связь, чтобы синхронизировать их. Это должны быть два отдельных Arduino, потому что я измеряю расстояние между двумя конкретными объектами.

Ответы (4)

См. статью Керри Вонг

Вам нужно будет создать что-то вроде следующих схем

введите описание изображения здесь введите описание изображения здесь

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

введите описание изображения здесь

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

Я не пробовал ничего из вышеперечисленного и не могу поручиться за это.


Полярность указана в даташитах. иногда +ve нога длиннее.

введите описание изображения здесь

Это не то, что я пытаюсь сделать. В этом примере будет получено расстояние между трансивером и любым случайным объектом. Мне нужно получить расстояние между трансивером и другим конкретным объектом (т.е. человеком, идущим по комнате).
@Ben: схема драйвера будет такой же.
Хорошо. Это может показаться глупым вопросом, но я действительно новичок в этом деле. Я предполагаю, что большие прямоугольники на принципиальных схемах - это ультразвуковые преобразователи. Имеет ли значение, в какую сторону они идут? Должен ли каждый штифт идти с определенной стороны или я могу просто поставить их в любом направлении?
@Ben: Датчики поляризованы, один контакт подключен к корпусу датчика. Из того, что я читал, этот контакт должен быть подключен к нижней стороне (-ve, gnd).
Хорошо. Спасибо. Я попробую, как только мои компоненты прибудут.

Один из способов подключить его - сделать так, чтобы «случайный объект» имел преобразователь, который принимает и передает, действующий как активный отражатель. Это может быть сделано на аналоговом или цифровом оборудовании. Когда будет получен звуковой сигнал, он передаст звуковой сигнал.

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

Почему бы не включить динамик и микрофон после радиоимпульса? Радио распространяется со скоростью света, так что почти мгновенно.

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

Будет гораздо более простая схема.

На самом деле это то, что было предложено в вопросе, как разъяснено в комментарии автора. Сложность заключается в том, что с ультразвуковыми преобразователями немного сложнее работать, чем с обычными аудиоэлементами.
Ах, извините. К тому времени, когда я вмешался, было что прочитать.
Он не предлагает вводить радиопередатчик. Я предлагал обходной путь, чтобы они идеально синхронизировались / не синхронизировались.
Неправда. Как я осторожно сказал, постер поднимает это в комментарии к своему собственному вопросу , который включает в себя: «Я буду использовать радиосвязь, чтобы синхронизировать их».

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

Сделайте так, чтобы одна передача совпадала с опорным радиоимпульсом (или, возможно, лучше через миллисекунду или около того). Вы можете просто игнорировать выход приемника этого.

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

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