Как подключить датчик звука к Ардуино

1. Обзор

Рассмотрим аналоговый датчик звука для Ардуино. Расскажем, как подключить датчик звука к микроконтроллеру Arduino, разберем программу для автоматического включения света от хлопка в ладоши и получения показаний датчика звука на последовательном мониторе порта Arduino IDE. Рассмотрим использование в программе тип данных boolean, который часто применяется в языке C++.

2. Датчик звука (микрофон) для Arduino

Состоит датчик из платы (смотри картинку ниже), на котором смонтированы порты подключения к Arduino Nano, усилитель звука, подстроечный резистор и электронный микрофон, чувствительный к звуку, приходящему во всех направлениях. Регулятором чувствительности (переменным резистором) можно настраивать чувствительность микрофона и выбирать, от какого уровня шума будет срабатывать датчик.

Датчик звука KY-037

Датчик звука KY-037

Данная плата расширения для Arduino позволяет перевести звуковые колебания в цифровой сигнал. При колебании мембраны в микрофоне от звуковых волн, изменяется емкость его конденсатора, вследствие чего проявляется изменение напряжения на выходах датчика звука, соответствующее звуковому сигналу. Сенсор слева на картинке может отправлять цифровой и аналоговый сигнал.

3. Как подключить датчик звука к Arduino

Схема подключения датчика звука к Arduino

Для этого занятия потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega;

  • макетная плата;

  • датчик звука KY-037 (микрофон);

  • 1 светодиод и 1 резистор 220 Ом;

  • провода «папа-папа» и «папа-мама».

Датчик звука для Ардуино имеет на плате подписанные выходы (обозначение у каждого производителя может отличаться), но проблем с подключением датчика к Ардуино возникнуть не должно. Питание датчика производится от 5V, выход (OUT, S или AO) подключается к любому аналоговому входу на Arduino Uno, а выход DO к Pin 2, если требуется получать цифровой сигнал на Ардуино с датчика микрофона.

Схема подключения датчика звука к Arduino:

  • DO → Pin 2

  • + → 5V

  • G → GND

  • A0 → A0

Схема подключения датчика звука к Arduino

4. Схема включения света по хлопку

Чтобы сделать своими руками светильник, который будет включаться по хлопку в ладоши, необходимо собрать электрическую схему из следующих элементов: светодиод с резистором, плата Arduino и датчик звука KY-037 для включения света своими руками. Светодиод можно подключить к любому выходу, в скетче мы использовали Pin 11. После сборки схемы подключите Ардуино к компьютеру и загрузите скетч.

5. Скетч для включения света по хлопку

boolean statuslamp; // состояние лампы: true - включено, false - выключено

void setup() {
   pinMode(12, OUTPUT); // пин 12 со светодиодом будет выходом (англ. «output»)
   pinMode(A0, INPUT);  // к аналоговому входу A0 подключим датчик (англ. «input»)
   statuslamp = false;  // начальное состояние - лампа выключена
   Serial.begin(9600);  // подключаем монитор порта
}

void loop() {
   Serial.println(analogRead(A0)); // выводим значение датчика на монитор
   if (analogRead(A0) > 60) {
      statuslamp = !statuslamp; // меняем статус лампы при регистрации хлопка
      digitalWrite(12, statuslamp); // переключаем светодиод на выходе 12
      delay(20); // задержка, "дребезга" хлопков
   }
}

6. Пояснения к коду

  • спецификатор boolean используется для объявления логических значений (истина/ложь) в языке программирования C++;

  • в строчке statuslamp = !statuslamp; мы меняем статус лампы при хлопке;

  • в строчке if(analogRead(A0) > 60) вместо значения 60 можно подставить любое значение. Узнайте показания датчика звука KY-037 при хлопке в ладоши на мониторе порта и поставьте свои значения в скетч при необходимости.