Обнаружение близости различных объектов

arduino-uno sensors rfid object-oriented

в настоящее время я работаю над новым проектом, в котором я хотел бы обнаружить наличие/близость нескольких объектов вокруг arduino на расстоянии до 1 метра. Я думал о настройке rfid, но, поскольку объекты могут иметь разные размеры, например, 5 сантиметров в высоту и всего 3 сантиметра в ширину, я думаю, что это не сработает на максимальном расстоянии. Я также думал о маяке ble, но, поскольку этот маяк должен быть постоянно активен, это не будет идеальным решением. Поскольку основание может быть полностью настроено, на его поверхности могут быть какие-то датчики/провода, но мне немного не хватает хорошей идеи для этого.

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

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

Спасибо и приветствую вас, Себастьян

, 👍1

Обсуждение

почему RFID-решение зависит от размера объекта?, @jsotola

эй @jsotola спасибо за отзыв, да, моя ошибка, просто я быстро просмотрел настройки rfid и подумал, что у него есть некоторая зависимость от диапазона, но просто считыватель кажется немного дороже. Но когда я думаю об этом дважды, было бы лучше, если бы можно было различать некоторые области в пределах одного метра и разные объекты, входящие в каждую область. Я добавил некоторое изображение, надеюсь, это поможет понять, что я действительно хочу заархивировать. Большое спасибо!, @sebbo111

Этот образ сбивает меня с толку. Почему вы положили карту Германии под свой Arduino? Чего вы пытаетесь достичь? Как вы, возможно, заметили, измерение положения (в данном случае с указанием направления и расстояния) нескольких объектов - непростая задача. Описание того, что вы на самом деле пытаетесь построить, может дать нам лучшую информацию, чтобы предложить подходящее решение, @chrisl

@chrisl это должна быть умная настольная игра, и в этом случае "германия" просто представляет поле, и в разных областях должны распознаваться разные ситуации, как только объект (персонаж) входит в разные области, @sebbo111

Я хочу обнаружить конкретные небольшие объекты, которые могут быть перемещены в определенных областях (один квадратный метр), так что не "просто обнаружить что-то перед xyz", а также не "в зависимости от диапазона" обнаружения. Есть ли у кого-нибудь предложение до сих пор? Спасибо и Приветствия, Себастьян, @sebbo111


2 ответа


-1

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

,

HC-05-это последовательный мост Bluetooth, а не ультразвуковой датчик, @chrisl

Что вы пытаетесь обнаружить? Я думал, вы пытаетесь обнаружить препятствия со стороны робота., @DragonflyRobotics

эй, пожалуйста, смотрите мой комментарий выше для крис, спрашивая то же самое, привет, @sebbo111


1

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

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

  • Герконы и магниты на нижней части предметов. Магнит на объекте закроет геркон. Для чтения переключатели довольно дешевые (видел 40 штук около 10€ на Amazon; на Алиэкспресс или других, вы можете получить их даже дешевле) и может быть легко помещен в электрическую матрицу, или (в зависимости от количества и места объекта в любой момент) проверил через сдвиговые регистры, которые тоже не очень дорого.

  • Датчики Холла и магниты на нижней части предметов. Вы бы измерили магнитное поле магнитов с помощью датчиков Холла. Вы можете использовать разную силу магнита, чтобы получать разные показания и, таким образом, напрямую различать различные типы объектов. Датчики Холла будет не так легко прочитать. В основном они имеют аналоговый выход, поэтому вам понадобятся дополнительные АЦП и мультиплексоры, чтобы прочитать их все.

    • RFID-считыватели и RFID-чипы в каждом объекте. Очень дорогой и довольно низкого разрешения. Также очень трудно читать со всех них с помощью Arduino. Но вы можете выбрать версию с герконом и использовать один RFID-считыватель, чтобы сначала сообщить Arduino, какой объект вы размещаете. В игре вы сначала поднесете предмет к считывателю, а затем поместите его на плату.
  • Лидарная система: Лидарный сканер может сканировать вашу плату (он измеряет расстояние по кругу вокруг нее). Каждый объект будет представлять собой отрицательный пик в измеренном распределении расстояний. По углу и расстоянию вы могли бы рассчитать положение на плате. Хотя вам нужно будет осторожно разместить датчик, так как один объект может скрыть за ним другой. Вы можете решить эту проблему с помощью дополнительного лидарного сканера, но обработка также будет довольно сложной. А лидарные сканеры довольно дороги.

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

  • Компьютерное зрение: Вдали от Arduino вы можете использовать OpenCV на Raspberry Pi вместе с небольшой камерой над вашей платой для обнаружения объектов. Общее обнаружение объекта довольно легко с помощью OpenCV и python; тогда получить его положение на изображении камеры тривиально (откуда вы можете легко вычислить положение на плате). При дополнительной работе также должна быть возможность обнаружить сам объект (имеется в виду различение различных объектов). Для этого нам, возможно, потребуется обучить OpenCV изображениям объектов сверху вниз. Если вы не получите хороших результатов в обычном режиме камеры, вы можете попробовать режим ИК-камеры (удалив ИК-фильтр камеры Pi) и нанести некоторые хорошие ИК-отражающие материалы поверх объектов. Тогда OpenCV нужно только найти яркие пятна на изображении. Все это возможно, хотя я не могу вам в этом помочь, а также это не по теме на этом сайте.

  • Если у вас есть плата с фиксированными положениями, вы можете установить прямые электрические соединения между объектами и платой. Хотя это означает, что у вас будут металлические контакты по всей плате. Недавно я использовал такие электрические соединения, чтобы различать различные объекты, которые можно поместить в небольшое количество отсеков. У меня есть 7 контактов на каждом объекте, один из них заземлен. На объекте я подключил некоторые другие контакты к контакту заземления, чтобы создать двоичный шаблон. Контакты каждого отсека считываются регистратором сдвига. Все регистры соединены вместе и подключены к Arduino в общей сложности 4 контактами.

В зависимости от ваших потребностей вы можете комбинировать некоторые из этих вариантов. Я бы попробовал решение OpenCV или, в качестве альтернативы, геркон с одним RFID-считывателем.

,