Увеличить
Датчик микрофон с усилителем MAX9814
Модуль состоит из электронного микрофона (20-20 кГц) и специального усилителя на чипе MAX9814 фирмы Maxim. Микросхема намного лучше усиливает звук по сравнению с другими усилителями из-за встроенной автоматической регулировкой усиления (АРУ), которая подавляет «громкие» звуки и усиливает «тихие» звуки. Модуль отлично подойдет в проектах, где часто меняется уровни звука и вам не придется постоянно настраивать усиление.
ТЕХНИЧЕСКИЕ ПАРАМЕТРЫ
- Интегральная микросхема: MAX9814
- Частотный диапазон: 20 - 20000 кГц
- Автоматическая регулировка усиления АРУ
- Три настраиваемых коэффициента усиления: 40дБ, 50дБ, 60дБ
- Три настраиваемых соотношения нарастание - спад: 1:500, 1:2000, 1:4000
- Коэффициент гармоник: 0.04%
- Плотность шума: 30 нв
- Интегрированный малошумящий источник опорного напряжения: ИОН 2В
- Напряжение питания: 2,6 .. 5,5 В
- Режим низкого энергопотребления: Да
- Допустимая температура: -40°C .. +85°C
- Размеры: 14,5 x 25 x 8
ПОДКЛЮЧЕНИЕ
В примере используем Arduino UNO R3 и модуль MAX9814. Подключение не сложное, необходимо всего три провода, первым делом подключаем вывод OUT (MAX9814) к выводу A0 (Arduino), затем подключаем питание VCC к +5В и GND к GND. Схема подключения:
MAX9814 | Arduino Uno |
VCC | +5V |
GND | GND |
OUT | A0 |
СКЕТЧ
const int sampleWindow = 50; // Время измерения в мс
unsigned int sample; // Объявляем переменную sample
void setup()
{
Serial.begin(9600);
}
void loop()
{
// Cохраняем текущие значение millis в startMillis
unsigned long startMillis= millis();
// Создаем переменною peakToPeak, где храним разницу между минимальным и максимальным сигналом
unsigned int peakToPeak = 0;
// signalMax максимальным значением
unsigned int signalMax = 0;
// signalMin минимальным значением
unsigned int signalMin = 1024;
// Пока в startMillis содержащиеся больше заданного sampleWindow, выполняется код в цикле while
while (millis() - startMillis < sampleWindow)
{
// Сохраняем значение переменной sample считанное с аналогового входе 0
sample = analogRead(0);
// Если значение sample меньше 1024, то есть максимальное значение, читаемое на аналоговом порту
if (sample < 1024)
{
// Если значение sample больше максимального значения, найденного в signalMax
if (sample > signalMax)
{
// Обновление значения signalMax, содержащимся в sample
signalMax = sample;
}
// В противном случае, если значение sample меньше, чем signalMin
else if (sample < signalMin)
{
// Обновление значения signalMin, содержащимся в sample
signalMin = sample;
}
}
}
// В переменной peakToPeak будет хранится разницу между максимальным значением и минимальным значением.
peakToPeak = signalMax - signalMin;
// Значение peakToPeak умножается на 5 - это напряжение, с которым работает Arduino, а затем делим на 1024, поскольку на аналоговом порту от 0 до 1024.
double volts = (peakToPeak * 5.0) / 1024;
// Отправляем переменную в вольте.
Serial.println(volts);
}
Открываем «Мониторинг порта» и можем увидеть показания напряжение на выводе А0.
КОМПЛЕКТ ПОСТАВКИ
- Датчик микрофон с усилителем MAX9814 x1