- Микрофон и Arduino
- Подключение микрофона к Arduino
- Подключение микрофонного модуля
- Компоненты, необходимые для проекта
- Принципиальная схема подключения компонентов
- Код для подключения микрофона к Arduino
- Как подключить датчик звука (микрофон) к Arduino
- Инструкция по подключению датчика звука к Arduino
- 1 Электретный капсюльный микрофон CMA-4544PF-W
- 2 Схема подключения микрофона к Arduino
- 3 Скетч для считывания показаний электретного микрофона
- 4 «Эквалайзер»на Arduino
- 5 Скетч «эквалайзера»
- Полезный совет
- Arduino и микрофон
- Описание
- Подключение
- Библиотеки
- Примеры
- Простой аналоговый датчик звука для Ардуино своими руками
Микрофон и Arduino
Подключение микрофона к Ардуино – несложная базовая процедура, которая позволит создать полноценные, очень увлекательные аудио проекты. В них вы можете задействовать устройства, которые будут переводить звуковой сигнал в цифровой, фиксировать наличие звука, измерять его громкость (ну а далее все зависит от ваших возможностей и предпочтений).
Микрофонный модуль (конденсаторный ∕ электретный микрофон) – девайс простой. Состоит обычно из компактной платы, на которой расположены порты подключения к контроллерам Ардуино (например, Nano). Там же имеется звуковой усилитель, резистор и электронный микрофон, особо чувствительный к звуку. К слову, регулятором чувствительности можно легко и просто настраивать чувствительность микрофона, а также решать, от какого уровня шума будет срабатывать ваш датчик в дальнейшем.
Подключение модуля выглядит следующим образом:
Конечно же мы рассмотрим несколько проектов, чтобы ознакомиться с практичностью применения подобного датчика. Начнем небольшой «разминки» – определим интенсивность звука. Для этой схемы подключения (смотрите скриншот ниже) нам понадобятся такие аппаратные компоненты:
- плата расширения Arduino UNO;
- датчик звука с микрофоном (типа KY-038);
- макетная плата;
- светодиод;
- резистор;
- перемычки.
Загружаем скетч для проверки работоспособности сборки:
Никаких особых библиотек мы не использовали – все супер-просто!
При желании можно собрать и настроить простейший эквалайзер. Обратите внимание на схему:
Пример программной прошивки:
А еще можно создать своими руками светильник, который будет включаться по хлопку в ладоши и много чего другого. Пробуйте, экспериментируйте!
Мы рассказали сегодня о том, как можно подключить датчик звука к Ардуино. Надеемся, информация была вам полезна! До скорой встречи!
Источник
Подключение микрофона к Arduino
Микрофонный датчик звука, как следует из названия, фиксирует наличие звука и измеряет его громкость.
Существует большое разнообразие таких датчиков. На рисунке справа представлены лишь несколько простых аналоговых модулей, наиболее часто используемых с платформой Arduino.
Слева на фотографии — модуль микрофона KY-038, справа — модуль микрофона с компаратором LM393.
В модули обоих датчиков встроен потенциометр для регулировки чувствительности цифрового вывода.
Подключение микрофонного модуля
Подключение датчика к плате Arduino довольно простое:
Разъём | Подключение к Arduino |
A0 | Аналоговые разъёмы |
D0 | Цифровые разъёмы |
GND | GND |
VCC | 5 V |
Arduino_3.3 | NRF24_Vcc |
Arduino_GND | NRF24_GND |
Если вы используете модуль LM393, то необходимо подключить его вывод OUT (ВЫХОД) к цифровому выводу платы Arduino.
Компоненты, необходимые для проекта
В этом примере микрофонный датчик будет определять интенсивность звука окружающей обстановки, светодиод будет загораться если интенсивность звука превысит определённый порог.
Принципиальная схема подключения компонентов
Соедините элементы, как показано на нижеследующей схеме, созданной с помощью программы Fritzing (полный обзор программы по ссылке).
Код для подключения микрофона к Arduino
Далее нужно загрузить следующий код в плату Arduino.
Источник
Как подключить датчик звука (микрофон) к Arduino
Подключим модуль с звуковым датчиком – микрофоном CMA-4544PF-W – к Arduino.
Инструкция по подключению датчика звука к Arduino
- Arduino UNO или иная совместимая плата;
- модуль с электретным капсюльным микрофоном CMA-4544PF-W или аналогичный;
- 3 светодиода (зелёный, жёлтый и красный, вот из такого набора, например);
- 3 резистора по 220 Ом (вот отличный набор резисторов самых распространённых номиналов);
- соединительные провода (рекомендую вот такой набор);
- макетная плата (breadboard);
- персональный компьютер со средой разработки Arduino IDE.
1 Электретный капсюльный микрофон CMA-4544PF-W
Электретный микрофон CMA-4544PF-W, который является основой модуля, реагирует на звуковые волны с частотами от 20 Гц до 20 кГц. Микрофон является всенаправленным, т.е. чувствителен к звуку, приходящему со всех направлений, с чувствительностью -44 дБ. Более подробно об устройстве и принципе действия электретных микрофонов можно почитать в статье «Устройство и принцип работы электретных микрофонов».
Электретный капсюльный микрофон CMA-4544PF-W и модуль с микрофоном
Мы воспользуемся готовым модулем, в котором присутствует микрофон, а также минимально необходимая обвязка. Приобрести такой модуль можно здесь.
2 Схема подключения микрофона к Arduino
Модуль содержит в себе электретный микрофон, которому необходимо питание от 3 до 10 вольт. Полярность при подключении важна. Подключим модуль по простой схеме:
- вывод «V» модуля – к питанию +5 вольт,
- вывод «G» – к GND,
- вывод «S» – к аналоговому порту «A0» Arduino.
Схема подключения электретного микрофона к Arduino
3 Скетч для считывания показаний электретного микрофона
Напишем программу для Arduino, которая будет считывать показания с микрофона и выводить их в последовательный порт в милливольтах.
Для чего может понадобиться подключать микрофон к Arduino? Например, для измерения уровня шума; для управления роботом: поехать по хлопку или остановиться. Некоторые даже умудряются «обучить» Arduino определять разные звуки и таким образом создают более интеллектуальное управление: робот будет понимать команды «Стоп» и «Иди» (как, например, в статье «Распознавание голоса с помощью Arduino»).
4 «Эквалайзер»на Arduino
Давайте соберём своеобразный простейший эквалайзер по приложенной схеме.
Схема «эквалайзера» на Arduino, датчике звука и светодиодах
5 Скетч «эквалайзера»
Немного модифицируем скетч. Добавим светодиоды и пороги их срабатывания.
Эквалайзер готов! Попробуйте поговорить в микрофон, и увидите, как загораются светодиоды, когда вы меняете громкость речи.
Полезный совет
Значения порогов, после которых загораются соответствующие светодиоды, зависят от чувствительности микрофона. На некоторых модулях чувствительность задаётся подстроечным резистором, на моём модуле его нет. Пороги получились 2100, 2125 и 2150 мВ. Вам для своего микрофона придётся определить их самим.
Источник
Arduino и микрофон
Описание
Arduino весьма неплохо измеряет напряжение, почему бы не подключить к ней микрофон? Просто голый микрофонный капсюль подключать нет смысла, для работы с ним понадобятся ещё некоторые электронные компоненты. У китайцев есть несколько вариантов микрофонных модулей, но самый хороший из них – на базе микросхемы MAX9812 (вынесен на картинке справа), такой и идёт в наборе GyverKIT:
Данный модуль обеспечивает:
- Усиление сигнала с микрофона до амплитуды 1.25V (выходной диапазон 0.. 2.5V)
- Встроенный АРУ – автоматическая регулировка усиления, выравнивает громкость тихих и громких звуков
- Подавление шума – сигнал с микрофона довольно чистый даже при не очень хорошем питании. Его очень приятно обрабатывать, да и рацию можно сделать
Пины и настройки модуля:
- GND и Vdd (V+): питание, 3.. 5V
- Out: выход сигнала для подключения к МК
- Gain (G): настройка усиления
- Никуда не подключен: 60dB
- На GND: 50dB
- На VCC: 40dB
- AR: настройка компрессии звука (время восстановления)
- Никуда не подключен: 1:4000 мс
- На VCC: 1:2000 мс
- На GND: 1:500 мс
Подключение
К питанию и на аналоговый пин: Примечание:
- На схеме с Arduino (слева) можно переключить опорное напряжение (пин REF) на встроенный источник 3.3V, желательно через резистор на 10к. Соответственно в программе вызвать analogReference(EXTERNAL) . Это нужно для того, чтобы расширить диапазон чтения сигнала микрофона и обрабатывать его более точно (он выдаёт 0.. 2.5V)
- На схеме с Wemos (справа) мы подключаем микрофон на питание 3.3V. Сигнал он всё равно выдаёт 0.. 2.5V, что очень хорошо: у Wemos как раз 3.3V – верхняя граница напряжения на аналоговый пин A0
Библиотеки
Модуль выдаёт аналоговый сигнал, то есть его достаточно опрашивать стандартными средствами Arduino для получения сырого сигнала. Но полезные библиотеки всё таки есть:
- Если микрофон используется для измерения громкости звука, то можно воспользоваться библиотекой амплитудного анализа VolAnalyzer, которая обработает звук и преобразует громкость в нужный диапазон, а также будет автоматически подстраивать чувствительность при изменении среднего уровня громкости
- Clap – библиотека для распознавания хлопков в ладоши, удобно использовать совместно с VolAnalyzer
- Для частотного анализа звука можно использовать библиотеку FHT (только для AVR)
Примеры
Откроем монитор порта и скажем что-нибудь в микрофон
Отлично! Но это сырой сигнал, с ним работать неудобно – он не отражает усреднённую громкость, а всего лишь показывает форму звукового сигнала
Заведём похожий пример, но с библиотекой VolAnalyzer: выведем приведённую “громкость” звука и построим график:
И получим гораздо более применимые для проектов значения:
Такой сигнал достаточно подать на светодиод – и уже получится светомузыка!
Источник
Простой аналоговый датчик звука для Ардуино своими руками
Теперь давайте рассмотрим схему датчика.
Кроме операционного усилителя нам понадобится еще несколько легкодоступных компонентов.
Самый обычный микрофон. Если полярность микрофона не обозначена, то достаточно взглянуть на его контакты. Минусовой всегда уходит на корпус, а в схеме, соответственно, соединяется с «землей».
В моем случае в качестве «золотой середины» применен резистор на 620 кОм.
Но в идеале нужно использовать переменный резистор соответствующего номинала. При чем, как показали опыты больший номинал лишь повышает чувствительность устройства, но при этом появляется больше «шумов».
Сборка завершена. Схему установил в корпусе, который изготовил из небольшого обрезка пластиковой трубки.
Переходим к тестированию устройства. Я подключу его к плате Arduino UNO. Переходим в среду разработки Ардуино и открываем пример AnalogReadSerial в разделе Basics.
Перед загрузкой в плату изменяем задержку на 50 миллисекунд и вгружаем. После этого делаем пробный хлопок и следим за показаниями. В момент хлопка они подскакивают, постарайтесь примерно запомнить это значение и вернитесь к скетчу.
В скетч добавляем пару строк.
Вместо «Х» вставляете то самое значение, загружаете и снова хлопаете. Так продолжайте до тех пор, пока не подберете оптимальное значение срабатывания. При завышенном значении условие будет выполняться лишь при хлопке на очень близком расстоянии. При заниженном значении условие будет выполняться при малейшем шуме или звуке шагов.
Источник