Датчик шума (Troyka-модуль)

Датчик шума используется для слежения за уровнем шума или обнаружения громких сигналов: хлопков, стуков или свиста.

Элементы платы

Микрофон и электронная обвязка модуля

Микрофон преобразует звуковые колебания в колебания электрического тока. Если этот сигнал напрямую подключить к аналоговым входам микроконтроллера, такого как Arduino, результат скорее всего будет неудовлетворительным. Сигнал с микрофона предварительно необходимо усилить, избавиться от отрицательной полуволны и сгладить сигнал. Все эти действия выполняет электронная обвязка модуля.

Почему мы не можем просто взять любой микрофон? Этому есть несколько причин.

Во-первых, сигнал от микрофона очень слаб. Настолько, что, если мы подключим его к аналоговому входу Arduino, то analogRead всегда будет возвращать 0. Перед тем как использовать, сигнал с микрофона необходимо усилить.

Во-вторых, даже усиленный звуковой сигнал — это всегда колебания. Поэтому показания микрофона очень зависят от того, в какой момент времени произошло измерение напряжения микроконтроллером. Даже при самом громком хлопке analogRead может вернуть 0.

Как видим, даже измерение максимальных значений амплитуды не даст четкую информацию об уровне громкости. Чтобы получить эту информацию, нужно делать измерения максимально часто и подвергать эти данные математической обработке. Численной характеристикой громкости является площадь под графиком звуковой волны. Именно её и «считает» электронная обвязка микрофона.

Потенциометр регулировки чувствительности

Потенциометр регулирует коэффициент усиления усилителя сигнала с микрофона. Он бывает полезен, если необходимо изменить условия срабатывания вашего устройства без изменения его прошивки. Чем выше чувствительность модуля, тем выше доля помех в полезном сигнале датчика. Мы рекомендуем начинать работу с модулем при среднем положении потенциометра. В таком случае чувствительность модуля будет легко изменить в любую сторону.

Контакты подключения 3-проводного шлейфа

Модуль подключается к управляющей электронике по трём проводам. Назначение контактов 3-проводного шлейфа:

  • Питание (Vсс) — красный провод. На него должно подаваться напряжение 5 В.
  • Земля (GND) — чёрный провод. Должен быть соединён с землёй микроконтроллера.
  • Сигнальный (S) — жёлтый провод. Через него происходит считывание сигнала датчика микроконтроллером.

Пример использования

Мы будем зажигать светодиод, если уровень громкости превышает определённый порог. В качестве управляющего микроконтроллера возьмём Arduino.

tooLoud.ino
#define LED_PIN             13  // Встроенный светодиод Arduino
#define LOUDNESS_SENSOR_PIN A5  // Датчик громкости подключён к А5
#define TRESHOLD            400 // Устанавливаем порог србатывания
 
void setup() {
  // Настроим ножку со светодиодом на выход
  pinMode(LED_PIN, OUTPUT);
}
 
void loop() {
 
  // Считаем текущее значение громкости
  int loudness = analogRead(LOUDNESS_SENSOR_PIN);
 
  // Если громкость выше пороговой..
  if (loudness > TRESHOLD)
    // зажгём светодиод,
    digitalWrite(LED_PIN, HIGH);
  else
    // а если нет - погасим
    digitalWrite(LED_PIN, LOW);
}

Электрическая схема модуля

Ресурсы