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

Датчик звука Arduino

Датчик представляет собой небольшую плату с установленным на ней микрофоном, микрофонным усилителем, регулятором чувствительности в виде переменного резистора. Микрофон преобразует звуковые колебания в колебания электрического тока. Сигнал с микрофона необходимо усилить с помощью компаратора L293. Датчик имеет выход с логическим уровнем. Сработал датчик – на выходе появился логический 0.  Регулятором чувствительности можно выбирать, от какого звука будет срабатывать датчик - от слабого, громкого или очень громкого звука. Датчик имеет 3 вывода. Назначение выводов следующее:

  • Vcc – питание датчика
  • GND – земля
  • OUT - цифровой выход

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

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

  • Напряжение питания: 4-6 В
  • Выход: цифровой
  • Максимальное расстояние обнаружения –5 м
  • Размер модуля: 32×17×15 мм
  • Общий вес: 12.5 г

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

Рассмотрим использование датчика звука для управления лампой с помощью хлопков. При регистрации хлопка, датчик звука выдает на микроконтроллер сигнал низкого уровня. По получении сигнала микроконтроллер через реле переключает состояние лампы (включает/выключает). Для проекта нам понадобятся следующие детали:

  • совместимая плата Arduino Uno
  • датчик уровня звука
  • блок реле
  • лампа
  • соединительные провода
Соберем схему, показанную на рисунке


использование датчика звука для управления лампой с помощью хлопков

Запустим Arduino IDE. Создадим новый скетч и внесем в него следующие строчки:

// Датчик уровня звука
// контакт подключения выхода OUT датчика
int soundPin=2;
// контакт подключения выхода реле
int relayPin=8;
// состояние лампы
// true - включено, false - выключено
boolean statuslamp;
void setup()
{
// настройка вывода реле в режим OUTPUT
pinMode(relayPin,OUTPUT);
// начальное состояние - лампа выключена
statuslamp=false;
digitalWrite(relayPin,LOW);
}
void loop()
{
// проверяем значение на выводе OUT датчика звука
if(digitalRead(soundPin)==0) // регистрация хлопка
{
// поменять статус лампы
statuslamp=!statuslamp;
// переключить лампу
digitalWrite(relayPin,statuslamp);
// задержка, "дребезга" хлопков
delay(10);
}
}


Что делать если

При любом уровне звука не горит светодиод уровня вывода OUT
Проверьте соединение датчика с входом микроконтроллера.
Отрегулируйте величину выходного сигнала с помощью потенциометра.



 

Рекомендуемые товары

Комментарии 0