Arduino:Примеры/Гайд по использованию микрофонного датчика звука с Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Гайд по использованию микрофонного датчика звука с Arduino[1]

Эта статья объясняет, как использовать микрофонный датчик звука вместе с платой Arduino.

Описание датчика

Микрофонный датчик звука, как понятно из названия, предназначен для определения звуков. Если точнее, он замеряет громкость звука.

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

Слева находится модуль KY-038, а справа – LM393. Оба этих модуля оснащены встроенным потенциометром, с помощью которого регулируется их чувствительность.

Где купить?

Оба датчика можно купить на eBay по цене менее 1 доллара:

Подключение контактов

В подключении датчика звука к Arduino нет ничего сложного:

  • Контакт A0 на датчике – к аналоговому контакту на Arduino
  • Контакт D0 – к цифровому контакту на Arduino
  • Контакт GND – к контакту GND
  • Контакт VCC – к контакту 5V

При использовании модуля LM393 контакт OUT нужно подключить к цифровому контакту Arduino.

Скетч: Светодиод, реагирующий на звук

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

Необходимые компоненты

Для этого проекта понадобятся следующие компоненты:

  • Один микрофонный датчик звука (см. на eBay)
  • Одна Arduino (см. на eBay)
  • Одна макетная плата
  • Один светодиод
  • Один резистор на 220 Ом
  • Провода-перемычки

Схема

Подключите эти компоненты друг к другу как показано на рисунке ниже:

Код

Загрузите на Arduino код, показанный ниже.

/*
 * Автор – Руи Сантос (Rui Santos)
 * Более подробно о проекте на: http://randomnerdtutorials.com
*/

int ledPin=13;
int sensorPin=7;
boolean val =0;

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  Serial.begin (9600);
}
  
void loop (){
  val =digitalRead(sensorPin);
  Serial.println (val);
  // включаем светодиод, если датчик определит громкость
  // выше заданного порога:
  if (val==HIGH) {
    digitalWrite(ledPin, HIGH);
  }
  else {
    digitalWrite(ledPin, LOW);
  }
}

Демонстрация

Загрузив код, произведите какой-нибудь звук рядом с датчиком. К примеру, щелкните пальцами. Если светодиод не загорается, нужно поменять чувствительность датчика. Это можно сделать, покрутив потенциометр.

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

См.также

Внешние ссылки