Подскажите, можно ли как-то программно настроить микрофон так, что бы он реагировал только на ОЧЕНЬ громкий звук, например, на взрыв петарды рядом?
Я подключил вывод Gain к +5В, для минимального коэф-та усиления. В коде прописал, что бы функция пульс реагировала на максимуме громкости, но функция все равно срабатывает и на негромкие хлопки в ладони.
// амплитудный анализ звука
#include "VolAnalyzer.h" //Для микрофона MAX 9814
VolAnalyzer analyzer(A0);
void setup() {
Serial.begin(9600);
analyzer.setVolMin(1); // установить минимальную величину громкости (умолч 0)
analyzer.setVolMax(100); // установить максимальную величину громкости (умолч 100)
analyzer.setPulseMax(99); // верхний порог срабатывания пульса (по шкале громкости)
analyzer.setPulseMin(95); // нижний порог перезагрузки пульса (по шкале громкости)
analyzer.setPulseTimeout(100); // таймаут пульса, мс
}
void loop() {
if (analyzer.tick()) {
// Serial.print(analyzer.pulse() * 20); // скачок громкости (в текущем варианте все равно слишком чувствительный)
// Serial.print(" "); // скачок громкости
if (analyzer.pulse()) Serial.println(analyzer.getVol());
}
}
то, что максимальная громкость начинается с легкого хлопка в ладоши. Микрофон уже показывает максимальное значение. Изменение настроек указанных в первом посте помогло, но не сильно.
Я почему и разместил в разделе Аппаратных вопросов, может перепаять модуль как-то можно. Не думаю, что я первый, кому надо реагировать только на ОЧЕНЬ громкие звуки.