Звуковой датчик к роботу схема. Акустические датчики для освещения – чудо техники, которое экономит ваши деньги. Самодельные акустические реле

Используется для слежения за уровнем шума или обнаружения громких сигналов: хлопков, стуков или свиста.

Элементы платы

Микрофон и электронная обвязка модуля

Микрофон преобразует звуковые колебания в колебания электрического тока. Если этот сигнал напрямую подключить к аналоговым входам микроконтроллера, такого как Arduino, результат скорее всего будет неудовлетворительным. Сигнал с микрофона предварительно необходимо усилить, избавиться от отрицательной полуволны и сгладить сигнал. Все эти действия выполняет электронная обвязка модуля.

Почему мы не можем просто взять любой микрофон? Этому есть несколько причин.

Во-первых, сигнал от микрофона очень слаб. Настолько, что, если мы подключим его к аналоговому входу Arduino, то analogRead всегда будет возвращать 0 . Перед тем как использовать, сигнал с микрофона необходимо усилить.

Во-вторых, даже усиленный звуковой сигнал - это всегда колебания. Поэтому показания микрофона очень зависят от того, в какой момент времени произошло измерение напряжения микроконтроллером. Даже при самом громком хлопке analogRead может вернуть 0 .

Как видим, даже измерение максимальных значений амплитуды не даст четкую информацию об уровне громкости. Чтобы получить эту информацию, нужно делать измерения максимально часто и подвергать эти данные математической обработке. Численной характеристикой громкости является площадь под графиком звуковой волны. Именно её и «считает» электронная обвязка микрофона.

Потенциометр регулировки чувствительности

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

Контакты подключения трёхпроводного шлейфа

Модуль подключается к управляющей электронике двумя трёхпроводными шлейфами .

Назначение контактов трёхпроводного шлейфа:

    Питание (V) - красный провод. На него должно подаваться напряжение от 3 до 5 В.

    Земля (G) - чёрный провод. Должен быть соединён с землёй микроконтроллера.

    Сигнал датчика шума (E) - жёлтый провод. Через него происходит считывание сигнала датчика уровня шума микроконтроллером.

Вторым шлейфом с пина S снимается сигнал аналогового микрофона.

Видеообзор

Пример использования

Отобразим показания датчика шума и микрофона на экране компьютера. В качестве управляющего микроконтроллера возьмём Arduino.

soundLoudnessSensor.ino #define SOUND_PIN A5 #define NOISE_PIN A4 void setup() { // открываем монитор Serial-порта Serial.begin (9600 ) ; } void loop() { // считываем показания микрофона int soundValue = analogRead(SOUND_PIN) ; // считываем показания уровня шума int noiseValue = analogRead(NOISE_PIN) ; Serial.print (soundValue) ; Serial.print ("\t \t " ) ; Serial.println (noiseValue) ; }

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

Итак, приступим. Для начала стоит определиться с компонентами и схемой. Принцип работы схемы прост: слабый сигнал с микрофона усиливается и отправляется на аналоговый пин Ардуино. В качестве усилителя я буду использовать операционный усилитель (компаратор). Он обеспечивает гораздо больший коэффициент усиления по сравнению с обычным транзистором. В моем случае этим компаратором будет служить микросхема LM358, ее можно найти буквально где угодно. И стоит она довольно дешево.


Если вам не удалось найти именно LM358, то на ее место можно поставить любой другой подходящий операционный усилитель. К примеру, представленный на фотографии компаратор, стоял на плате усилителя сигнала инфракрасного приемника в телевизоре.

Теперь давайте рассмотрим схему датчика.


Кроме операционного усилителя нам понадобится еще несколько легкодоступных компонентов.

Самый обычный микрофон. Если полярность микрофона не обозначена, то достаточно взглянуть на его контакты. Минусовой всегда уходит на корпус, а в схеме, соответственно, соединяется с «землей».


Далее нам потребуется резистор на 1 кОм.


Три резистора на 10 кОм.


И еще один резистор номиналом 100 кОм – 1 МОм.


В моем случае в качестве «золотой середины» применен резистор на 620 кОм.

Но в идеале нужно использовать переменный резистор соответствующего номинала. При чем, как показали опыты больший номинал лишь повышает чувствительность устройства, но при этом появляется больше «шумов».


Следующим компонентом является конденсатор на 0.1 мкФ. Он имеет маркировку «104».


И еще один конденсатор, на 4.7 мкФ.


Теперь переходим к сборке. Я собирал схему навесным монтажом.


























Сборка завершена. Схему установил в корпусе, который изготовил из небольшого обрезка пластиковой трубки.
Переходим к тестированию устройства. Я подключу его к плате Arduino UNO. Переходим в среду разработки Ардуино и открываем пример AnalogReadSerial в разделе Basics.
void setup() { Serial.begin(9600);//подключаем Serial соединение на частоте 9600 бод } void loop() { int sensorValue = analogRead(A0); /*считываем значение с нулевого аналогово пина и сохраняем в переменную sensorValue*/ Serial.println(sensorValue); //выводим значение в порт delay(1); //ждем одну миллисекунду для стабилизации }
Перед загрузкой в плату изменяем задержку на 50 миллисекунд и вгружаем. После этого делаем пробный хлопок и следим за показаниями. В момент хлопка они подскакивают, постарайтесь примерно запомнить это значение и вернитесь к скетчу.
В скетч добавляем пару строк.
if (sensorValue > X){ Serial.print ("CLAP"); delay (1000); }
Вместо «Х» вставляете то самое значение, загружаете и снова хлопаете. Так продолжайте до тех пор, пока не подберете оптимальное значение срабатывания. При завышенном значении условие будет выполняться лишь при хлопке на очень близком расстоянии. При заниженном значении условие будет выполняться при малейшем шуме или звуке шагов.

CMA-4544PF-W или аналогичны;

  • 3 светодиода (зелёный, жёлтый и красный, вот из такого набора , например);
  • 3 резистора по 220 Ом (вот отличный набор резисторов самых распространённых номиналов);
  • соединительные провода (рекомендую вот такой набор);
  • макетная плата (breadboard);
  • персональный компьютер со средой разработки Arduino IDE.
  • 1 Электретный капсюльный микрофон CMA-4544PF-W

    Мы воспользуемся готовым модулем, в котором присутствует микрофон, а также минимально необходимая обвязка. Приобрести такой модуль можно .

    2 Схема подключения микрофона к Arduino

    Модуль содержит в себе электретный микрофон, которому необходимо питание от 3 до 10 вольт. Полярность при подключении важна. Подключим модуль по простой схеме:

    • вывод "V" модуля - к питанию +5 вольт,
    • вывод "G" - к GND,
    • вывод "S" - к аналоговому порту "A0" Arduino.

    3 Скетч для считывания показаний электретного микрофона

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

    Const int micPin = A0; // задаём пин, куда подключён микрофон void setup() { Serial.begin(9600); // инициализация послед. порта } void loop() { int mv = analogRead(micPin) * 5.0 / 1024.0 * 1000.0; // значения в милливольтах Serial.println(mv); // выводим в порт }

    Для чего может понадобиться подключать микрофон к Arduino? Например, для измерения уровня шума; для управления роботом: поехать по хлопку или остановиться. Некоторые даже умудряются «обучить» Arduino определять разные звуки и таким образом создают более интеллектуальное управление: робот будет понимать команды «Стоп» и «Иди» (как, например, в статье «Распознавание голоса с помощью Arduino»).

    4 «Эквалайзер» на Arduino

    Давайте соберём своеобразный простейший эквалайзер по приложенной схеме.


    5 Скетч «эквалайзера»

    Немного модифицируем скетч. Добавим светодиоды и пороги их срабатывания.

    Const int micPin = A0; const int gPin = 12; const int yPin = 11; const int rPin = 10; void setup() { Serial.begin(9600); pinMode(gPin, OUTPUT); pinMode(yPin, OUTPUT); pinMode(rPin, OUTPUT); } void loop() { int mv = analogRead(micPin) * 5.0 / 1024.0 * 1000.0; // значения в милливольтах Serial.println(mv); // выводим в порт /* Пороги срабатывания светодиодов настраиваются вами экспериментальным методом: */ if (mv }

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

    Значения порогов, после которых загораются соответствующие светодиоды, зависят от чувствительности микрофона. На некоторых модулях чувствительность задаётся подстроечным резистором, на моём модуле его нет. Пороги получились 2100, 2125 и 2150 мВ. Вам для своего микрофона придётся определить их самим.

    Самодельные датчики

    На рис. 1 представлено устройство усилителя слабых сигналов. Устройство реализовано на двух однотипных кремниевых транзисторах п-р-п проводимости, обладающих высоким коэффициентом усиления (80- 100 по току). При звуковом воздействии на микрофон ВМ1 переменный сигнал поступает в базу транзистора VT1 и усиливается им. С коллектора транзистора VT2 снимается выходной сигнал, управляющий периферийными или исполнительными устройствами отрицательным фронтом.

    Электрическая схема чувствительного акустического датчика на биполярных транзисторах

    Оксидный конденсатор С1 сглаживает пульсации напряжения источника питания. Резистор обратной связи R4 предохраняет усилитель слабых сигналов от самовозбуждения.

    Выходной ток транзистора VT2 позволяет управлять маломощным электромагнитным реле с рабочим напряжением 5 В и током срабатывания 15...20 мА. Расширенная схема акустического датчика показана на рис. 3.9. В отличие от предыдущей схемы она отличается дополнительными возможностями регулировки усиления и инверсии выходного сигнала.

    Расширенная схема акустического датчика

    Регулировка усиления слабых сигналов с микрофона ВМ1 осуществляется переменным резистором R6 (см. рис. 2). Чем меньше сопротивление данного резистора, тем больше усиление транзисторного каскада на транзисторе VT1. При длительной практике эксплуатации рекомендуемого узла удалось установить, что при сопротивлении резистора R6 равным нулю возможно самовозбуждение каскада. Чтобы его избежать, последовательно с R6 включают еще один ограничительный резистор сопротивлением 100- 200 Ом.

    Электрическая схема акустического датчика с возможностью инверсии выходного сигнала и регулировкой усиления

    На схеме показаны два выхода, с которых снимается управляющий сигнал для последующих схем и оконечных электронных узлов. С точки "ВЫХОД 1" снимают управляющий сигнал с отрицательным фронтом (который появляется при звуковом воздействии на микрофон ВМ1). С точки "ВЫХОД 2" соответственно инверсный сигнал (с положительным фронтом).

    Благодаря применению в качестве оконечного токового усилителя полевого транзистора КП501А (VT2) устройство снижает потребление тока (относительно предыдущей схемы), а также Имеет возможность управления более мощной нагрузкой, например, исполнительным реле с током включения до 200 мА. Этот транзистор можно заменить на КП501 с любым буквенным индексом, а также на более мощный полевой транзистор соответствующей конфигурации.

    Эти простые конструкции в налаживании не нуждаются. Все они испытаны при питании от одного и того же стабилизированного источника с напряжением 6 В. Потребляемый ток конструкции (без учета тока потребления реле) не превышает 15 мА.

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

    Модуль датчика касания KY-036

    Модуль, по сути, представляет собой сенсорную кнопку. Как понимает автор, принцип действия устройства основан на том, что, прикасаясь к контакту датчика человек, становится антенной для приема наводок на частоте бытовой сети переменного тока . Эти сигналы поступают на компаратор LM393YD

    Габариты модуля 42 х 15 х 13 мм, масса 2,8 г., в плате модуля имеется крепежное отверстие диаметром 3 мм. Индикация питания осуществляется светодиодом L1.

    При срабатывании датчика загорается (мигает) светодиод L2. Потребляемый ток 3,9 мА в ждущем режиме и 4,9 мА при срабатывании.

    Не совсем ясно, какой порог чувствительности датчика должен регулироваться переменным резистором. Данные модули с компаратором LM393YD являются стандартными и к ним припаивают различные датчики, получая, таким образом, модули различного назначения. Выводы питания «G» — общий провод, «+» – питание +5В. На цифровом входе «D0» присутствует низкий логический уровень, при срабатывании датчика на выходе появляется импульсы с частотой 50 Гц. На контакте «A0» присутствует инвертированный относительно «D0» сигнал . В целом модуль срабатывает дискретно, как кнопка, в чем можно убедиться с помощью программы LED_with_button .

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

    Модуль датчика звука KY-037

    Модуль должен срабатывать от звуков, громкость которых превышает заданный предел. Чувствительным элементом модуля является микрофон, работающий вместе с компаратором на микросхеме LM393YD .

    Габариты модуля 42 х 15 х 13 мм, масса 3,4 г., аналогично предыдущему случаю в плате модуля имеется крепежное отверстие диаметром 3 мм. Индикация питания осуществляется светодиодом L1. Выводы питания «G» — общий провод, «+»– питание +5В.

    Потребляемый ток 4,1 мА в ждущем режиме и 5 мА при срабатывании.

    На выводе «A0» напряжение изменяется в соответствии уровнем громкости сигналов, принимаемых микрофоном, с повышением громкости показания уменьшаются, в этом можно убедиться с помощью программы AnalogInput2.

    На цифровом входе «D0» присутствует низкий логический уровень, при превышении заданного порога низкий уровень меняется на высокий. Порог срабатывания можно регулировать переменным резистором. При этом загорается светодиод L2. При резком громком звуке наблюдается задержка в 1-2 с при обратном переключении.

    В целом полезный датчик для организации системы умного дома или сигнализации.

    Модуль датчика звука KY-038

    С первого взгляда модуль кажется аналогичным предыдущему. Чувствительным элементом модуля является микрофон, следует отметить, что по данному модулю в сети не так уж много информации .

    Габариты модуля 40 х 15 х 13 мм, масса 2,8 г., аналогично предыдущему случаю в плате модуля имеется крепежное отверстие диаметром 3 мм. Индикация питания осуществляется светодиодом L1. Выводы питания «G» — общий провод, «+»– питание +5В.

    При срабатывании геркона загорается светодиод L2. Потребляемый ток 4,2 мА в ждущем режиме и до 6 мА при срабатывании.

    На выводе «A0» при повышении уровня громкости происходит увеличение показаний (использована программа AnalogInput2).

    На контакте «D0» присутствует низкий логический уровень, при срабатывании датчика он меняется на высокий. Порог срабатывания настраивается подстроечным резистором (использована программа LED_with_button).

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

    Выводы

    На этом автор заканчивает обзор большого набора из различных датчиков для аппаратной платформы Arduino. В целом данный набор произвел на автора смешанное впечатление. В набор входят как достаточно сложные датчики, так и совсем простые конструкции. И если в случае наличия на плате модуля токоограничительных резисторов, светодиодных индикаторов и т.п. автор готов признать полезность подобных модулей, то небольшая часть модулей представляет собой одиночный радиоэлемент на плате. Зачем нужны такие модули, остается непонятным (видимо крепление на стандартных платах служит целям унификации). В целом набор является неплохим способом познакомиться с большинством широко распространенных датчиков, применяемых в Arduino проектах.

    Полезные ссылки

    1. http://arduino-kit.ru/catalog/id/modul-datchika-kasaniya
    2. http://www.zi-zi.ru/module/module-ky036
    3. http://robocraft.ru/blog/arduino/57.html
    4. http://arduino-kit.ru/catalog/id/modul-datchika-zvuka
    5. http://www.zi-zi.ru/module/module-ky037
    6. http://arduino-kit.ru/catalog/id/modul-datchika-zvuka_
    7. http://smart-boards.ml/module-audiovideo-4.php