


Привет! Вы наверняка видели светильники, которые включаются от хлопков в ладоши. И если вы хотели такой же, этот обзор для вас. Потому что, сегодня рассмотрим датчик звука KY-037 для Ардуино, который поможет нам сделать такой же переключатель.
Содержание
В прошлый раз мы рассматривали другой датчик для Ардуино. Датчик препятствий KY-033, так что, посмотрите этот обзор, если пропустили или уже забыли.
Датчик звука KY-037 — это небольшая плата с микрофоном, усилителем и переменным резистором, чтобы настроить чувствительность вручную.
Микрофон преобразует колебания звука в электрический сигнал. Его необходимо усилить с помощью компаратора, чтобы считать на Ардуино.
Как видно, датчик имеет 4 контакта. А значит два вида сигналов — аналоговый и цифровой. Разумеется, мы сможем их использовать в программе, так как при срабатывании датчика на выходе появится логическая 1 или значение близкое к 1024 на аналоговом выходе.
Технические характеристики
- Напряжение питания: 3,3 — 5 В
- Цифровой и аналоговый вывод
- Максимальное расстояние обнаружения – 5 м
- Размер модуля: 32×17×15 мм
- Общий вес: 12.5 г
Датчик звука KY-037
- A0 – Аналоговый вывод
- G – Земля
- + – 3,3 — 5 В
- D0 — Цифровой вывод
Прежде всего, обратите внимание на маркировку контактов на плате датчика. Порядок контактов может быть разным.
Как видно на графиках ниже, чувствительность датчика может быть разной. В результате на цифровом порту может быть сложно получить четкое срабатывание датчика. Поэтому, мы запрограммируем обработку сигнала с аналогового выхода.
Для того, чтобы выполнить этот урок нам понадобиться.
- Ардуино UNO
- Макетная плата
- Перемычки
- Датчик KY-037
- Кабель USB
Программа
Как видно, программа достаточно проста. Мы считаем данные с цифрового и аналогового порта. Выведем их в монитор последовательного порта. Так же используем плоттер для построения графиков. И настроим включение светодиода на хлопок в ладоши.



На мониторе последовательного порта виден уровень повседневного шума. Это нормальное состояние, в зависимости от которого мы настроим обработку аналогового сигнала. Этот уровень настраивается вручную с помощью подстроечного резистора.



В результате, на мониторе плоттера видно небольшие отклонения графика. Это и есть хлопки в ладоши рядом с микрофоном.



Полный текст программы
const int digital = 2;
const int analog = A5;
const int led = 13;
void setup(){
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop(){
Serial.print("Digital: ");
Serial.print(digitalRead(digital));
Serial.print(", Analog: ");
Serial.println(analogRead(analog));
delay(50);
if (analogRead(analog) < 520 || analogRead(analog) > 535){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
}
}
Заключение
Мы рассмотрели еще один датчик для Ардуино. Датчик звука KY-037. С его помощью можно делать различные переключатели или системы оповещения реагирующие на звук. Также мы попробовали использовать встроенный в IDE плоттер для построения графиков. Отдельный урок о нем сделаем в будущем.