0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
Акустический датчик01.10.2010, 21:25. Показов 76541. Ответов 93
Метки нет Все метки)
(
Эксперимента ради, собрал я такую штуковину:
http://img440.imageshack.us/img440/928/dscn2468s.jpg По сути дела это датчик, реагирующий на резкие звуки (например, хлопки в ладоши) Работает так: 1) Старый совковый пьезоизлучатель преобразует звуковые колебания в напряжение. 2) Компаратор преобразует эти импульсы в вид, пригодный для МК. На выходе пьезоизлучателя амплитуда колебаний около 0.1В (если громко хлопнуть в ладоши, в метре от него) Порог компаратора я ставлю около 20мВ. От него зависит чувствительность. 3) МК (на демоплате стоит ATTiny2313), анализирует импульсы, проверяя подходят-ли они под шаблон. Например, можно приучить устройство реагировать на два хлопка, или на серию хлопков с определённым ритмом. 4) Если это то, что нужно - можно, например, переключить свет. Или выполнить любое другое действие. Ждите видюшку :) P.S. Около года не заглядывал на EE. Теперь вернулся :)
0
|
01.10.2010, 21:25 | |
Ответы с готовыми решениями:
93
Датчик Емкостной датчик датчик угла |
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
01.10.2010, 22:11 | |
Крупные фотки:
http://img839.imageshack.us/i/dscn2468c.jpg http://img835.imageshack.us/i/dscn2471d.jpg Схема: http://img137.imageshack.us/img137/3325/82265295.jpg И видео: http://imk718.imageshack.us/i/dscn2455.mp4
0
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
|
|
02.10.2010, 16:49 | |
моя еще нереализованная идея
1 береш нормальный микрофон от мабил 2 снимаеш ачх хлопка в том месте, где будет стоять датчик 3 делаеш полосовой фильтр, чтобы не реагировал на помехи 4 береш тини13 с ацп 5 ??????? 6 PROFIT
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
||
04.10.2010, 15:33 | ||
Да и потом - что этот микрофон даст? Чувствительности мне хватает с запасом (на прямой видимости срабатывает с ~8метров). А всякую аналоговую живность (вроде того-же компаратора) всё-равно ставить придётся. 2kotobyti Это только по-началу кажется, что всё так просто. Я тоже думал - щас соберу, напишу прошивку и всё заработает... Ан нет! Оказалось, что есть куча шумов, которые почти идентичны хлопку. Например сначала система была настроена на команду из двух хлопков с определённой паузой между ними (100-200мс). И ведь работало прекрасно... до тех пор, пока я не простудился: оказалось, что система спокойно реагирует на мой кашель :) "Кхе-Кхе" = "Хлоп-Хлоп". Пришлось допиливать программу. Поэтому сразу предупреждаю: самое интересное будет в п.5 "??????"
0
|
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
|
|
04.10.2010, 16:12 | |
"поставил то, что было под рукой" - вполне нормальная причина. Правда мне трудно представить себе ситуацию, когда под рукой нет обычного микрофона...
Но когда начинается обработка сигнала, качество источника может стать ограничением. Так что если вы и дальше собираетесь продолжать эксперименты с распознаванием звуков, советую поставить нормальный микрофон, чтобы решать именно эту задачу, а не воевать еще и с особенностями вашего датчика. Лучший и наиболее продуктивный вариант - загнать сигнал в компьютер с установленным на ним пакетом анализа сигналов (тип LabView), разработать на нем все нужные фильтры, а потом уже реализовывать их на МК. Это и для целей обучения будет куда более полезно. Тем более что звук можно снять с обычной звуковой карты, без использования дополнительных средств.
0
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
|
||
04.10.2010, 18:27 | ||
хотя я не простужаюсь и посторонних шумов нет тоже 2 коротких хлопка для включения второй лампочки тоже неплохая идея не забудь еще фотодиод, чтобы днем не срабатывало
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 18:42 | |
Нашел второй пьезодинамик. Теперь девайс отличает "право" и "лево":
http://img339.imageshack.us/im... cn2508.mp4 Но тут, неожиданно, вылезла бага: Когда я пытаюсь измерить время между моментом, когда сработал первый датчик, и моментом, когда сработал второй, то получаю абсолютно неадекватные результаты. Может это связано с тем, что у пьезодинамиков разная чувствительность. Может с тем, что в дело вмешивается эхо (хотя это как-то маловероятно). А может.... может пора ставить микрофоны... :)
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 19:10 | |
Да, схема осталась той-же. Датчики подключены к "-" входу компаратора. Пороговое напряжение (на "+") одинаковое для обоих датчиков. Хотя... я тут подумал про напряжение смещения компаратора. Он (по ДШ) не больше 10мВ.
Собственно, задумка в том, чтобы по разнице во времени, определять направление на источник звука. Но пока даже эту разницу измерить не удаётся. При одинаковых условиях она изменятся почти случайным образом. Чёт-тут не то :)
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 20:22 | |
Я тут, между делом, подумал о практическом применении этой приблуды:
1) Управление всякими устройствами. К примеру той-же лампочкой. Возможность определять направление (хотя-бы "право-лево") позволяет, к примеру, включить свет в той части помещения, откуда ты хлопнул. 2) Контроль за работой всяких механизмов. Допустим, есть какой-нить перпетум-мобиле, который при поломке начинает ритмично шуметь, а потом разваливается. Вот, можно установить это устройство на него и определять, когда механизм собирается сдохнуть. В случае чего отключить питание.
0
|
0 / 0 / 0
Регистрация: 27.06.2010
Сообщений: 405
|
|
05.10.2010, 20:55 | |
Я делал немного по другому. Полосовой RC фильтр на операционнике + амплитудный детектор на диодах + компаратор(или триггер Шмита). Полоса пропускания подбирается двумя конденсаторами в фильтре. Амплитудный детектор позволяет определять длительность звука, что и уменьшает число ложных срабатываний от продолжетельных громких звуков. Т.е. срабатывать должно только от звуков определенной длятельности и/или определённой пазузы между звуками.
Правда, до конца я эту штуку так и не доделал, забросил её почему-то.
0
|
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
|
|
05.10.2010, 21:06 | |
Правильнее и интереснее делать цифровую фильтрацию, загоняя сигнал в МК через АЦП. Простой предфильтр, конечно, тоже нужен.
Что касается звука, то такие колебания вполне могут пойти через текстолит, причем скорость звука в нем намного больше, чем в воздухе. Или у тебя датчики не имеют общего основания? Как, кстати, измеряешь длительность?
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 21:21 | |
http://**************************/download/file.php?id=1975&sid=401cacce63a44cb1fcd db206e800d8c6 Вот так оно выглядит. Разницу во времени измеряю 8и разрядным таймером (Tiny2313, 18МГц). Когда срабатывает один датчик - запускаю, когда второй - останавливаю. Потом высылаю в комп. Даже, если бы звук доходил через общие поверхности (стол, или провода), то устройство должно выдавать неправильные результаты при определении направления ("право-лево") . А оно достаточно уверенно рабтотает в этом режиме. P.S. Скоро будет микрофон (если я не засну :))
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 22:16 | |
Поюзал микрофон от старенького mp3-плеера. Мысли такие:
1) Он реально мельче, чем тот пьезодинамик. :))) 2) Чувствительность (на первый взгляд) у него примерно такая-же что и у старого датчика. 3) Пьезодинамик феерично реагировал на вибрации. Пэтому была такая тема: стукнул пальцем по столу - настольная лампочка включилась :) Друзей пугал :) Микрофон таких эффектов не выдаёт. 4) Зато микрофон хорошо реагирует на поток воздуха - дунул на лампочку - она включилась :))) Будем копать глубже :)
0
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
05.10.2010, 23:02 | |
В деле микрофон показал себя неплохо. С точки зрения МК, импульсы от микрофона выглядят так-же, как и с пьезодинамика. Я думал, что будут различия, но оказалось, что всё хорошо.
Хотя, есть одно различие. Пьезодинамик почти не реагировал на звуки с небольшой амплитудой (Музыка из колонок, голос). А хлопок, это ударная волна, поэтому амплитуда тут достаточна. Микрофон-же напротив, прекрасно реагирует на голос и другую муть. Можно предположить, что от этого будут появляться "ложные срабатывания" (если шум совпадает с шаблоном). И, возможно, участятся "пропуски команды". Чтобы точнее судить о вероятности таких ошибок, подключу его опять к лампочке, на ночь. Утром будет статистика по ошибкам :) Скриншот программы, в которой я смотрю импульсы с компаратора (не пинайте интерфейс - написал на скорую руку)
0
|
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
|
|
05.10.2010, 23:28 | |
А с чего бы импульсам отличаться, у тебя же компаратор стоит. Это, кстати, рубит на корню все твои попытки обработки сигналов на МК или компьютере.
Микрофон, чтобы он меньше реагировал на потоки воздуха, убирают в поролоновый чехол, или в чехол их искусственного меха, что еще лучше.
0
|
05.10.2010, 23:28 | |
Помогаю со студенческими работами здесь
20
Датчик тока Mouse и датчик дождя. Емкостный датчик топлива. Датчик влажности почвы. Датчик пересечения ..20м Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
|
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
|
Исследование рантаймов контейнеров Docker, containerd и rkt
Mr. Docker 11.05.2025
Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .
|
Micronaut и GraalVM - будущее микросервисов на Java?
Javaican 11.05.2025
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .
|
Инфраструктура как код на C#
stackOverflow 11.05.2025
IaC — это управление и развертывание инфраструктуры через машиночитаемые файлы определений, а не через физическую настройку оборудования или интерактивные инструменты. Представьте: все ваши серверы,. . .
|
Инъекция зависимостей в ASP.NET Core - Практический подход
UnmanagedCoder 11.05.2025
Инъекция зависимостей (Dependency Injection, DI) — это техника программирования, которая кардинально меняет подход к управлению зависимостями в приложениях. Представьте модульный дом, где каждая. . .
|
Битва за скорость: может ли Java догнать Rust и C++?
Javaican 11.05.2025
Java, с её мантрой "напиши один раз, запускай где угодно", десятилетиями остаётся в тени своих "быстрых" собратьев, когда речь заходит о сырой вычислительной мощи. Rust и C++ традиционно занимают. . .
|
Упрощение разработки облачной инфраструктуры с Golang
golander 11.05.2025
Причины популярности Go в облачной инфраструктуре просты и одновременно глубоки. Прежде всего — поразительная конкурентность, реализованная через горутины, которые дешевле традиционных потоков в. . .
|
Создание конвейеров данных ETL с помощью Pandas
AI_Generated 10.05.2025
Помню свой первый опыт работы с большим датасетом — это была катастрофа из неотформатированных CSV-файлов, странных значений NULL и дубликатов, от которых ехала крыша. Тогда я потратил три дня на. . .
|
C++ и OpenCV - Гайд по продвинутому компьютерному зрению
bytestream 10.05.2025
Компьютерное зрение — одна из тех технологий, которые буквально меняют мир на наших глазах. Если оглянуться на несколько лет назад, то сложно представить, что алгоритмы смогут не просто распознавать. . .
|