Arduino и микрофон
Описание
Arduino весьма неплохо измеряет напряжение, почему бы не подключить к ней микрофон? Просто голый микрофонный капсюль подключать нет смысла, для работы с ним понадобятся ещё некоторые электронные компоненты. У китайцев есть несколько вариантов микрофонных модулей, но самый хороший из них – на базе микросхемы MAX9814 (вынесен на картинке справа), такой и идёт в наборе 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