Обзор
KY-037 — это высокочувствительный модуль обнаружения звука, оснащенный электретным конденсаторным микрофоном и компаратором LM393. Он имеет как аналоговый, так и цифровой выходы, что делает его подходящим для различных проектов: от систем, активируемых голосом, до мониторинга уровня шума.
KY-037 — модуль на базе компаратора LM393 и микрофона. Аналоговый выход выдает напряжение пропорционально интенсивности звука, а цифровой срабатывает при превышении порога, задаваемого потенциометром.
О высокочувствительном датчике звука KY-037
Модуль KY-037 предназначен для обнаружения уровня звука в окружающей среде. Он оснащен высокочувствительным электретным микрофоном и компаратором LM393. Модуль имеет два выхода: аналоговый (A0), который выдает сигнал напряжения в реальном времени, и цифровой (D0), который сигнализирует о превышении заданного уровня шума.
⚡ Ключевые особенности
- Двойной выход – Поддержка как аналогового, так и цифрового интерфейса.
- Регулируемая чувствительность – Встроенный потенциометр позволяет настроить порог срабатывания.
- Светодиодная индикация – Индикаторы питания и срабатывания цифрового выхода для удобной отладки.
Приобретите KY-037
Характеристики KY-037
Полные технические данные модуля обнаружения звука KY-037.
Распиновка KY-037
Модуль KY-037 имеет 4 контакта для подключения: питание, земля и два типа сигнальных выходов.
- Цифровой выход — для триггеров (хлопок).
- Аналоговый выход — для измерения уровня громкости.
- Регулировка — используйте потенциометр для настройки порога D0.
| № | Название | Тип | Описание | Примечания |
|---|---|---|---|---|
| 1 | GND | Питание | Земля | Общий минус |
| 2 | +V | Питание | Питание (3.3В – 5В) | Обычно 3.3В для ESP32 |
| 3 | D0 | Выход | Цифровой выход | HIGH при срабатывании порога |
| 4 | A0 | Выход | Аналоговый выход | Напряжение пропорционально звуку |
Подключение KY-037 к ESP32
Вы можете подключить KY-037 к ESP32 для обнаружения хлопков или измерения уровня шума. Для точных измерений рекомендуется использовать аналоговый выход A0 и подключать его к пинам ADC на ESP32.
| Вывод KY-037 | Контакт | Вывод ESP32 | Описание |
|---|---|---|---|
| GND обязательно | → | GND | Общая земля |
| +V обязательно | → | 3.3V | Питание модуля |
| D0 опционально | → | GPIO15 | Цифровой сигнал (триггер) |
| A0 опционально | → | GPIO34 | Аналоговый сигнал (ADC) |
Помощь и поддержка KY-037
Распространенные проблемы и их решения при использовании модуля.
Нет реакции на звук
Светодиод D0 не загорается
Проблема: датчик не фиксирует звук.
Решение: покрутите винт потенциометра. Чувствительность может быть слишком низкой (D0 всегда LOW) или слишком высокой (D0 всегда HIGH).
Постоянные ложные срабатывания
Цифровой выход «шумит»
Причина: слишком высокий порог чувствительности или помехи по питанию.
Решение: убедитесь, что питание чистое, или используйте конденсатор для фильтрации помех. Также загрубите чувствительность потенциометром.
Примеры программирования KY-037
Готовые примеры для быстрого старта на различных платформах.
Пример для Arduino
Базовое чтение аналогового и цифрового портов
C++
Пример для Arduino
Базовое чтение аналогового и цифрового портов
int analogPin = A0; // Пин для аналогового выхода
int digitalPin = 7; // Пин для цифрового выхода
int ledPin = 13; // Встроенный светодиод
void setup() {
pinMode(analogPin, INPUT);
pinMode(digitalPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int analogValue = analogRead(analogPin);
int digitalValue = digitalRead(digitalPin);
// Если звук превышает порог, зажигаем светодиод
if (digitalValue == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
Serial.print("Аналоговое значение: ");
Serial.println(analogValue);
delay(100);
}
Пример для ESP-IDF
Использование ADC и GPIO
C++
Пример для ESP-IDF
Использование ADC и GPIO
#include <stdio.h>
#include "driver/adc.h"
#include "driver/gpio.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#define ANALOG_PIN ADC1_CHANNEL_6 // GPIO34
#define DIGITAL_PIN GPIO_NUM_15
void app_main(void) {
adc1_config_width(ADC_WIDTH_BIT_12);
adc1_config_channel_atten(ANALOG_PIN, ADC_ATTEN_DB_11);
gpio_set_direction(DIGITAL_PIN, GPIO_MODE_INPUT);
while (1) {
int raw = adc1_get_raw(ANALOG_PIN);
int trigger = gpio_get_level(DIGITAL_PIN);
printf("Уровень звука (raw): %d, Триггер: %d\n", raw, trigger);
vTaskDelay(pdMS_TO_TICKS(500));
}
}
Пример для ESPHome
YAML конфигурация
YAML
Пример для ESPHome
YAML конфигурация
sensor:
- platform: adc
pin: GPIO34
name: "KY-037 Интенсивность звука"
update_interval: 1s
binary_sensor:
- platform: gpio
pin: GPIO15
name: "KY-037 Детектор звука (D0)"
Пример для MicroPython
Простой скрипт на Python
Python
Пример для MicroPython
Простой скрипт на Python
import machine
import time
adc = machine.ADC(machine.Pin(34))
adc.atten(machine.ADC.ATTN_11DB)
digital_pin = machine.Pin(15, machine.Pin.IN)
while True:
val = adc.read()
triggered = digital_pin.value()
print("Аналог:", val, "Триггер:", triggered)
time.sleep(0.5)
Итоги KY-037
Модуль **KY-037** — это надежное и простое в использовании решение для обнаружения звука. Благодаря наличию двух типов выходов, он подходит как для простого включения по хлопку, так и для анализа звукового шума.
Рекомендации
Используйте потенциометр для тонкой настройки. Обязательно соблюдайте полярность питания, чтобы не повредить микрофон и компаратор.
Безопасность
Не подавайте напряжение выше 5.5В. Убедитесь в отсутствии короткого замыкания открытых контактов микрофона.

