Плата электретного микрофона странное смещение с помощью Arduino
Я экспериментирую с электретным микрофоном, в частности с этим. Я положил его на свой прицел и увидел то, что ожидал — очень маленькое напряжение, обычно менее 20 мВ, которое соответствующим образом меняется в зависимости от звука.
Однако, когда я вставляю его в свой Arduino (подключив сигнальный контакт к A0, V к 5V и G к GND) и считываю его с помощью AnalogRead на соответствующем контакте, я получаю странное смещение. Аналоговое чтение должно показывать 0 более или менее постоянно из-за низкого напряжения, выходящего из платы. Однако я получаю смещение около 425 отсчетов на АЦП, что означает, что напряжение составляет около 2,5 В.
Что происходит? Зачем Arduino считывать напряжение, если его нет?
1 ответ
Лучший ответ:
Электретный микрофон подобен резистору, значение которого меняется в зависимости от звука.
Чтобы использовать его, вы должны сформировать из него делитель напряжения, как если бы это была половина потенциометра.
Таким образом вы добавляете резистор на +5В (который уже есть на плате). Это означает, что когда он молчит, напряжение, которое вы получаете, равно отношению резистора к сопротивлению микрофона.
Если сопротивление было выбрано правильно, то выходное напряжение, которое вы получите, должно составлять примерно половину напряжения питания, когда нет звука. Любой звук приведет к тому, что этот выход будет колебаться вокруг этой «нулевой» точки.
Это как потенциометр. В тихом состоянии потенциометр находится в центральной точке. Когда вы издаете шум, вы перемещаете потенциометр в обоих направлениях.
Чтобы получить приблизительные значения, вы должны сначала получить "тихое" чтение из AnalogRead. Затем вы можете вычесть это значение из всех последующих показаний.
Обратите внимание, что результаты будут нелинейными. Чтобы сделать это правильно, вы должны рассчитать сопротивление микрофона, используя напряжение питания, «верхнее» значение резистора и выборочное напряжение для расчета значения сопротивления, как и для любого другого резистивного датчика (например, LDR или чувствительный к силе). резистор).
Ты прав. Я думаю, что что-то не так с моим осциллографом, потому что он показывал выходной сигнал с центром около 0 В. Глядя на это на мультиметре, и это на 2,5 В, когда тихо., @Michael Stachowsky
Ваш прицел настроен на связь по переменному току?, @Majenko
Он был настроен на связь по постоянному току, но я думаю, что что-то не так с этим конкретным режимом. Нет никакой разницы между связью по переменному и постоянному току, что наводит меня на мысль, что схема связи не отключается, что вызывает у меня путаницу выше., @Michael Stachowsky
- Отправка значения с одного Arduino на другой
- Использование аналогового входа для чтения кнопки
- Как работать с аналоговыми контактами в цикле?
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Распиновка аналога Arduino Pro Micro
- analogRead всегда 1023 на Arduino Due
- Чтение частоты ввода в цифровых выводах
- ошибка: 'analogRead' was not declared in this scope
Когда вы тестируете его с помощью прицела, какое напряжение питания вы используете?, @AnT
5В, от контакта 5В Arduino, @Michael Stachowsky