KY-037 — микрофонный модуль с компаратором

Joy-IT · KY-037 (исполнение SensorKit)

Обнаружение звуковых событий по сигналу электретного микрофона.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает KY-037 (исполнение SensorKit)

KY-037 содержит электретный микрофон, компаратор LM393, регулятор порога и индикаторы. Аналоговый выход даёт доступ к сигналу микрофонной цепи, цифровой — к результату сравнения с порогом. Подходит для учебной реакции на хлопок или другой выраженный звук.

Это не калиброванный шумомер: значения AO и положение регулятора не задают дБ SPL. Регулятор меняет порог компаратора, а не гарантированное усиление микрофона. Этот модуль также не распознаёт речь сам по себе. Маркировка «high sensitivity» у KY-037 не подтверждает численное преимущество над любой платой KY-038; схемы и микрофоны у поставщиков отличаются.

Описано исполнение Joy-IT SensorKit, показанное в документации. У модулей других поставщиков с тем же обозначением могут отличаться расположение выводов, номиналы и логика выхода. Сверьте маркировку до подачи питания.

Характеристики

Выход
Аналоговый AO и цифровой DO компаратора
Плата примера
Arduino Uno R3 (ATmega328P)
Тип микрофона
Электретный
Компаратор
LM393
Интерфейс
Аналоговый
Питание модуля
5 В в примере Arduino Uno R3. При питании модуля от 5 В его сигналы нельзя подключать напрямую к GPIO/ADC ESP32: нужны подходящее согласование уровней и общая земля. Допустимое питание и уровни другой ревизии проверяйте отдельно.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
+ / VCC5VПодключать при полностью обесточенной схеме; проверить маркировку. Arduino Uno R3.
− / GNDGNDОбщая земля модуля и Arduino Uno R3.
AO / A0A0Аналоговый вход Arduino Uno R3.
DO / D0D2Цифровой выход компаратора, не линия данных шины.

Подходит для Arduino, ESP32. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать KY-037 в мой проект. Сначала уточни точную плату и её ревизию, среду разработки, задачу и фотографию/маркировку модуля. Базовый пример в карточке: Arduino Uno R3, Arduino AVR Boards 1.8.6, питание 5 В, AO → A0, DO → D2. Подготовь согласованную распиновку, необходимые зависимости и полный минимальный пример. Не переноси номера выводов Uno на ESP32. Для 3,3-вольтовой платы проверь допустимое питание модуля и исключи подачу 5 В на GPIO/ADC; предложи безопасное согласование. Объясни ограничения измерения, диагностику постоянного уровня и способ проверки результата. Начните с тихой обстановки, настройте порог и сравните DO при хлопке на безопасной громкости. Для анализа AO считывайте окно отсчётов и оценивайте размах; одиночное значение не представляет громкость в децибелах. Проверьте реакцию на шум питания и вибрацию платы.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и API
Arduino Uno R3 / Arduino AVR Boards 1.8.6

Выберите Arduino Uno в Arduino IDE; это 5-вольтовая плата ATmega328P.

Монитор порта
115200

Установите такую же скорость в Serial Monitor / Serial Plotter.

Выводы примера
AO=A0; DO=2

Число 2 в скетче означает цифровой D2 Arduino Uno R3.

Arduino Uno R3 — проверка сигнала

cpp
const byte ANALOG_PIN = A0;
const byte DIGITAL_PIN = 2;

void setup() {
  Serial.begin(115200);
  pinMode(DIGITAL_PIN, INPUT);
}

void loop() {
  int minimum = 1023;
  int maximum = 0;
  bool sawLow = false;
  bool sawHigh = false;
  const unsigned long start = millis();
  while (millis() - start < 50) {
    const int raw = analogRead(ANALOG_PIN);
    if (raw < minimum) minimum = raw;
    if (raw > maximum) maximum = raw;
    if (digitalRead(DIGITAL_PIN) == LOW) sawLow = true;
    else sawHigh = true;
  }
  Serial.print("ADC_peak_to_peak=");
  Serial.print(maximum - minimum);
  Serial.print(" DO_saw_LOW=");
  Serial.print(sawLow);
  Serial.print(" DO_saw_HIGH=");
  Serial.println(sawHigh);
}

Полный диагностический скетч для Arduino Uno R3, Arduino AVR Boards 1.8.6. В окне примерно 50 мс оценивает размах сырых кодов 10-битного АЦП и отмечает встречавшиеся уровни DO. Специальная библиотека не нужна; это не измерение дБ и не запись качественного аудио. Физический тест не проводился. Начните с тихой обстановки, настройте порог и сравните DO при хлопке на безопасной громкости. Для анализа AO считывайте окно отсчётов и оценивайте размах; одиночное значение не представляет громкость в децибелах. Проверьте реакцию на шум питания и вибрацию платы.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты