Добрый день Возникла задача сделать устройство, которое будет определять расстояние до "маяка" Маяк будет подвижным, так же как Arduino устройство Сначала думал про УЗ датчик, - > маяк посылает периодично сигнал определенной частоты, а arduino с помощью микрофона улавливает, фильтрует, и сравнивает уровень данного сигнала каждые n-секунд к примеру, и таким образом определять удаляется устройство или приближается, но к сожалению боюсь ардуино будет трудно фильтровать звук, шумы все испортят ИК приемник передатчик как я понял не подходят, так как если устройство отвернется то сигнал уже не уловить? да и опять же как узнавать приближаемся мы или нет.... Нашел приемники 433ГЦ, и в какой то статье увидел что мол с помощью ВЧ можно узнавать расстояние, и возник вопрос - реально ли такое сделать?
Посмотрите вот это: http://www.wless.ru/technology/?action=details&id=462&pf=tech&pf_id=11&prod=13&tech=11&type=37 или это: http://www.wless.ru/technology/?action=details&id=516&pf=tech&pf_id=11&prod=7&tech=11&type=2
Спасибо за быстрый ответ как понимаю это использовать wifi сигнал, боюсь будет дорого и не оправданно У меня масштаб задачи меньше, в пределах комнаты \ двух http://www.dx.com/ru/p/433mhz-rf-tr...-arduino-arm-mcu-wl-green-220194#.VeocEfZ_NBc можно ли реализовать с помощью данного модуля мою задумку? или к примеру можно ли будет в шумной комнате отфильтровать ультразвук определенной периодичности? если ближе к маяку - уровень громкости больше, и наоборот?
Или можно узнавать уровень сигнала между bluetooth устройствами с помощью arduino ? по аналогии со звуком сделать.?
По ссылке, что я давал, специализированные устройства для измерения расстояний с точностью до нескольких сантиметров. На простых приемниках и передатчиках, измеряя только уровень сигнала, такого добиться нельзя. Нужно измерять задержку между посылкой и приемом как в радиолокации. Например, базовая станция отсылает пакет и включает таймер, метка получает пакет и тут же отправляет его обратно. Базовая станция принимает пакет и останавливает таймер. Чем больше расстояние тем больше задержка. Но на расстояниях в несколько метров эта задержка будет в несколько нс. Измерять ее средствами Ардуино невозможно.
Извиняюсь что не уточнил масштабы) а если по уровню сигнала блютуз пытатья определить в какю сторону двигаться устройству? получится так?
Ему для этого приходится перемещаться, пока он не попадет в створ излучения "маяка" на базе. Если не ошибаюсь, то сначала он это пытается сделать по счислению (отрабатывая обратно пройденный маршрут), а потом, в случае неудачи, начинает хаотически дергаться. При этом расстояние до маяка, никак не определяется, только очень приблизительно определяется азимут, по которому робот и направляется к базе.
Спасибо за информацию, но ведь если угол между приемником передатчком ИК будут разные, как я понимаю они не найдутся?
Тут может быть сделано разными способами. Как именно в пылесосе - не знаю. Первый вариант - датчики по всему периметру корпуса. На какой попадет сигнал с базы - в том направлении надо повернуться и ехать. Второй вариант - робот не только перемещается, пытаясь попасть в створ излучения "маяка", но и поворачивается вокруг оси, т.е. проехал немного - крутанулся на 360 градусов. Если засек сигнал - прекратил вращение и поехал в сторону базы. Если нет - еще сместился и опять крутанулся.
хммм, а получать информацию об уровне сигнала bluetooth можно между устройствами, чтобы примерное расстояние узнавать, если сигнал уменьшается - значит удаляемся?
Это будет верно только в чистом поле. В реальности, особенно в помещении, за счет переотражений и интерференции получится весьма пестрая картина распределения уровня сигнала. Публиковали распределение сигнала WiFi. Например, тут. Байтораздирающее зрелище. Не думаю, что БТ от него будет сильно отличаться.