Два микрофона. Положение диктора в пространстве.

Тема в разделе "Arduino & Shields", создана пользователем ilgamer, 7 мар 2012.

  1. Корней

    Корней Гик

    Понадобилось два раза про это написать :)
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Я был невнимателен :oops:
     
  3. barok

    barok Нуб

    teddyfox:

    Вот бы осцилограммы от микрофонов посмотреть. Можно ли из них определить сдвиг фаз.
     
  4. teddyfox

    teddyfox Нерд

    Наврядли что-нибудь полезное извлечете, поскольку пиковый детектор все интегрирует и тонкой фазовой составляющей не увидеть. В моем случае ставка делается на определение направления по относительному уровню сигнала, а у вас - на относительные фазовые характеристики.
     
  5. OGR

    OGR Нуб

    ilgamer
    Хочу поинтересоваться, получился ли у вас данный робот. В данный момент делаю работу на эту же тему, только определяю положение диктора около компьютера. Но у меня возникли некоторые трудности, очень хотел бы с вами пообщаться на эту тему.
     
  6. teddyfox

    teddyfox Нерд

    В продолжение к тому, что писал вот здесь.

    Перешел на микрофоны M-10 (микрофонная головка у них - электретная всенаправленная. Вся согласующая электретную головку с внешним миром электроника упрятана в металлический патрон - это удобно. Да и вообще с мет. патроном конструктивно удобней. Цена одного М-10 - ок. 300р). Микрофоны запитаны напряжением 9,6В.

    Локатор у меня теперь из 4-х микрофонов М-10, расположенных с шагом 90 градусов (см. фото). Звукозаизолировал "боковины" вибропоглощающей клейкой нашлепкой (в Леруа-Мерлене продаются). Хоть каждый микрофон - всенаправленный, однако звукоизоляцией добился того, что с разных направлений каждый микрофон принимает по-разному. Отказался от хлопка - слишком ненаправленный звук. Теперь своему роботу даю звуковой сигнал от Ардуины через УНЧ и динамик (на пульте управления роботом). Робот определяет направление с точностью 45 градусов (полагаю, что и мы своими ушами с не большей точностью это можем делать) - я думаю, что больше и не нужно.
     

    Вложения:

    • zzz.JPG
      zzz.JPG
      Размер файла:
      833,7 КБ
      Просмотров:
      503
  7. ilgamer

    ilgamer Нерд

    Фух. Давно не посещал форум - был занят различными делами вроде спасения девушек, собирающих какао бобы для Nestle.

    И так, я продолжаю работу над роботом. Заказал необходимые детали.
    teddyfox, погрешность в 45 градусов?! Откуда она берется? Дело в аппаратуре или в коде?
     
    roggedhorse нравится это.
  8. ilgamer

    ilgamer Нерд

    Планы такие как прежде:
    1. Собираем дуньку с двумя микрофонами
    2. Пишем код, отображающий показания сигналов, идущих с двух микрофонов.
    3. Создаем таблицу из показаний, анализируем (показания при смене угла).
    4. Пишем код робота, ориентируясь по таблице
    5. Тест, отладка. Если потребуется, переработка материала таблицы.
    Я иду методом "Doom", рассчитаю заранее показатели, чтобы робот мог по ним ориентироваться. В прочем, это тяжело будет сделать в шумном помещении. Но, если мой план сработает, я постараюсь бороться с шумом. Возможно, это удастся сделать, записывая показания уровня сигнала каждые две секунды, скажем, и обнаруживая в них его резкое повышение.
     
  9. roggedhorse

    roggedhorse Гик

    Офигенная затея!
     
  10. ilgamer

    ilgamer Нерд

    Перечитал сообщения в теме. Корней очень сильно помог. Я не пойду по его стопам, так как опыта не хватит, но обязательно уделю время изучению чистки звука. Постараюсь писать о ходе работы, надеюсь кого-нибудь заинтересует.
     
  11. teddyfox

    teddyfox Нерд

    45 градусов вот откуда:
    У меня в памяти Меги заложена диаграмма направленности всей системы из 4-х микрофонов. Получая сигнал-реакцию на внешний звук (с четырех микрофонов), сравниваю этот сигнал с диаграммой направленности и определяю направление. То есть могу четко отделить направление Nord от Nord-West или South от South-East.
    Вот отсюда погрешность 45 градусов. Определять более точно не получается, так как диаграмма снята в неидеальных акустических условиях и достаточно груба. (И величины на диаграмме и приходящий сигнал я считаю как ln(S1/(S1+S2+S3+S4), ln(S2/(S1+S2+S3+S4), ... - то есть логарифм относительного амплитудного значения, S1,S2,S3,S4 - амплитудные значения, оцифрованные с выходов микрофонов.)
     
  12. ilgamer

    ilgamer Нерд

    Немного схитрил и добавил в проект ультразвуковой дальномер.
    Пришли все необходимые детали. Скоро будет описание с фото, а может и видео.
    Постараюсь писать по ходу сборки робота.
     
  13. ilgamer

    ilgamer Нерд

    Появились первые результаты. Собрал первый прототип и написал к нему код. Вот так выглядит "слепо-немой" робот сейчас:
    [​IMG]
    [​IMG]

    Мягкий мяч, по бокам которого размещены два микрофона, позволил "образовать" две зоны слышимости: левую и правую. В serial порт поступает строка "Left", если разница между изменениями уровня левого и правого микрофона больше 3, и строка "Right", если разница /.../ правого и левого микрофонов больше 2. Путем экспериментов, обнаружил, что при таких значениях система работает весьма правдоподобно.
    Работаю...

    P.S.
    Микрофоны использовал очень простые и дешевые. Стоили около 50-70 рублей.
    При сборке пытался экономить. Микрофоны, сервопривод, туева хуча проводов и прочие мелочи обошлись не дороже 350 рублей (меньше стоимости микрофона в магазине Амперка). Закупил все в интернет-магазине Deal Extreme. Очень советую, если хочется побольше деталей за меньшие деньги!
     
  14. ilgamer

    ilgamer Нерд

    Апдейт.

    До меня добрался сервопривод. Теперь имеются все необходимые элементы. Активно собираю робота.
    Думаю, через пару-тройку дней покажу первую версию. Буду надеяться, моя задумка сработает как планировалось.

    Комплектующие для сборки робота:
    Arduino Uno Rev3
    Troyka Shield
    Дальномер ультразвуковой HC-SR04
    Звуковой датчик Meeeno (x2)
    Сервопривод SG90
    Мини-breadboard BBB002
    • Соединительные провода
     
    Otonasi нравится это.
  15. Otonasi

    Otonasi Нуб

    Добрый день!
    Очень заинтересовала работа с 2 микрофонами, скажите данный проект получил продолжение? Можно увидеть работу микрофонов в действии?