Рейтинг@Mail.ru
Модуль с микрофоном
Модуль с микрофоном

Как подключить датчик звука (микрофон) к Arduino

Print Friendly, PDF & Email
Подключим модуль с звуковым датчиком – микрофоном CMA-4544PF-W – к Arduino.

Инструкция по подключению датчика звука к Arduino

Для проекта нам понадобятся:

1Электретный капсюльный микрофон CMA-4544PF-W

Электретный микрофон CMA-4544PF-W (инструкцию можно скачать в приложении к статье), который является основой модуля, реагирует на звуковые волны с частотами от 20 Гц до 20 кГц. Микрофон является всенаправленным, т.е. чувствителен к звуку, приходящему со всех направлений, с чувствительностью -44 дБ. Более подробно об устройстве и принципе действия электретных микрофонов можно почитать в статье «Устройство и принцип работы электретных микрофонов».

Электретный капсюльный микрофон CMA-4544PF-W и модуль с микрофоном
Электретный капсюльный микрофон CMA-4544PF-W и модуль с микрофоном

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

2Схема подключения микрофона к Arduino

Модуль содержит в себе электретный микрофон, которому необходимо питание от 3 до 10 вольт. Полярность при подключении важна. Подключим модуль по простой схеме:

  • вывод "V" модуля – к питанию +5 вольт,
  • вывод "G" – к GND,
  • вывод "S" – к аналоговому порту "A0" Arduino.
Схема подключения электретного микрофона к Arduino
Схема подключения электретного микрофона к Arduino

3Скетч для считывания показаний электретного микрофона

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

const int micPin = A0; // задаём пин, куда подключён микрофон

void setup() {
    Serial.begin(9600); // инициализация послед. порта
}

void loop() {  
    int mv = analogRead(micPin) * 5.0 / 1024.0 * 1000.0; // значения в милливольтах
    Serial.println(mv); // выводим в порт
}

Для чего может понадобиться подключать микрофон к Arduino? Например, для измерения уровня шума; для управления роботом: поехать по хлопку или остановиться. Некоторые даже умудряются «обучить» Arduino определять разные звуки и таким образом создают более интеллектуальное управление: робот будет понимать команды «Стоп» и «Иди» (как, например, в статье «Распознавание голоса с помощью Arduino»).

4«Эквалайзер»на Arduino

Давайте соберём своеобразный простейший эквалайзер по приложенной схеме.

Схема «эквалайзера» на Arduino, датчике звука и светодиодах
Схема «эквалайзера» на Arduino, датчике звука и светодиодах

5Скетч «эквалайзера»

Немного модифицируем скетч. Добавим светодиоды и пороги их срабатывания.

const int micPin = A0;
const int gPin = 12;
const int yPin = 11;
const int rPin = 10;

void setup() {
    Serial.begin(9600); 
    pinMode(gPin, OUTPUT);
    pinMode(yPin, OUTPUT);
    pinMode(rPin, OUTPUT);
}

void loop() {  
    int mv = analogRead(micPin) * 5.0 / 1024.0 * 1000.0; // значения в милливольтах
    Serial.println(mv); // выводим в порт
    /* Пороги срабатывания светодиодов настраиваются
       вами экспериментальным методом: */
    if (mv < 2100) { // порог срабатывания зелёного светодиода, мВ
      digitalWrite(gPin, HIGH);
      digitalWrite(yPin, LOW);
      digitalWrite(rPin, LOW);
    }
    else if (mv < 2125) { // порог срабатывания жёлтого светодиода, мВ
      digitalWrite(gPin, HIGH);
      digitalWrite(yPin, HIGH);
      digitalWrite(rPin, LOW);
    }
    else if (mv < 2150) { // порог срабатывания красного светодиода, мВ
      digitalWrite(gPin, HIGH);
      digitalWrite(yPin, HIGH);
      digitalWrite(rPin, HIGH);    
    }
}

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

Значения порогов, после которых загораются соответствующие светодиоды, зависят от чувствительности микрофона. На некоторых модулях чувствительность задаётся подстроечным резистором, на моём модуле его нет. Пороги получились 2100, 2125 и 2150 мВ. Вам для своего микрофона придётся определить их самим.

Скачать вложения:

Последнее изменениеСреда, 10 Январь 2024 19:19 Прочитано 67782 раз

Поблагодарить автора:

Поделиться

Print Friendly, PDF & Email

Оставить комментарий

  1. Arduino это...
  2. Arduino это...
  3. Arduino это...
Отличный способ начать знакомство с электроникой, микроконтроллерами и программированием!
Замечательное средство для создания собственных электронных устройств, которые пригодятся в быту или для развлечения!
Уникальный конструктор, для которого разработаны десятки совместимых датчиков и модулей!
next
prev