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

Подключаем датчик звука к Arduino

Физическое окружение человека все время «умнеет», подстраиваясь под запросы и требования хозяина. Речь, конечно же идет об автоматизированных и роботизированных вещах, облегчающих труд и выполняющих все те функции, которые существу разумному делать слишком долго, тяжело или нудно. Большая часть техники такого рода работает с управлением на основе микроконтроллеров, которые в свою очередь, можно назвать миниатюрными компьютерами, ориентированными на контроль другого, более простого оборудования.

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

Единственный вопрос становящийся перед проектировщиками «умных» устройств, использующих микроконтроллеры – легкое ими управление человеком, то есть обеспечение простого интерфейса контроля. Одно из наиболее логичных из приходящих на ум решений – человеческий голос, отдавая команды, которыми пользователь абсолютно вербальным образом сможет управлять работой логического выключателя, конечно в рамках заложенной в того программы. Только сразу встает проблема получения голосовых последовательностей устройством. Что ж, есть и решение – платы захвата звука, среди которых в разрезе технологии Arduino сразу вспоминаются KY-037 и KY-038, унифицированные и отличающиеся только размером микрофона.

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

Характеристики

Характеристики у обоих устройств KY-037 и KY-038 достаточно скромные, и отличающихся, как было сказано ранее, между собой только размером микрофона.

  • питание — 3,5–5В;
  • цифровой выход — есть, однобитный, работающий в режиме индикации наличия звука или тишины;
  • аналоговый — присутствует, с градацией получаемого сигнала в 1024 уровня;
  • вес — в среднем 12..13 грамм;
  • предел чувствительности — до 5 метров;

Принципиальная схема и выводы устройства:

Сразу хочется заметить, что названые детекторы, регистрируют только достаточно громкие звуки и не очень чувствительны к их переходным состояниям, к примеру, используемым в словах или фразах. То есть, сделать выключатель или активатор реагирующий на хлопок и свист гораздо проще, чем запрограммировать систему распознавания голосовых команд с применением KY-037 или KY-038. Некоторые идеи по осуществлению требуемой функциональности будут представлены далее.

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

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

Чтобы продемонстрировать работу датчиков звука с Arduino можно собрать простую схему:

Резистор используемый в ней, берется номиналом в 220 Ом. Основная функциональность выражается в зажигании светодиода при обнаружении громких звуков и гашения его в случае тишины. Скетч:

// Диапазон минимальных и максимальных показателей, устанавливается
// для определения значения аналогового сигнала в тишине у платы
// захвата звука, все что будет отличаться служит указателем
// наличия изменений звукового фона. Определяется опытным путем.
const int SilenceMin = 625;
const int SilenceMax = 637;
// Задание портов IN_DIG цифровой вход с KY-037/038,
// IN_ANALOG аналоговый с нее же и OUT_LED пин управляющий светодиодом
const int OUT_LED = 9;
const int IN_ANALOG = A3;
const int IN_DIG = 1;
void setup() <
pinMode(OUT_LED, OUTPUT);
pinMode(IN_ANALOG, INPUT);
pinMode(IN_DIG, INPUT);
>
void loop() <
// Примечание от составителя: если использовать нижеприведенную
// конструкцию, светодиод будет включаться при любом изменении
// звукового фона. Для определения наличия именно команды
// стоит изменить строку на if (AnalogRead(IN_ANALOG) > SilenceMax) <
if (AnalogRead(IN_ANALOG) > SilenceMax || AnalogRead(IN_ANALOG)
Изменяя время задержки, между включением и гашением светодиода, а также пробным путем выведя значения «тишины» SilenceMax и SilenceMin, можно добиться работы приведенной схемы в роли детектора движения по звуку. Конечно, качество определения у него будет низкое, но вполне позволяющее применять конструкцию в цепях управления освещением темных мест. Достаточно добавить фоторезистор для определения текущего уровня видимости, в роли которого можно использовать специальную плату Arduino или обычный радиоэлектронный компонент, подключаемый через делитель.

Как видно по схеме, в ней используются два резистора – R1 на 10 кОм и R2 220 Ом. Светодиод LED в финальном варианте можно заменить на релейную группу, для подачи питания на «взрослые» лампы 220В. Скетч, управляющий всем перечисленным хозяйством:

#DEFINE D1 1
#DEFINE D3 3
#DEFINE A2 2
#DEFINE A4 4
// Характеристики «тишины»
const int SilenceMin = 625;
const int SilenceMax = 637;
// Задание портов: IN_DIG цифровой вход с KY-037/038, IN_ANALOG аналоговый с нее же
// OUT_LED пин управляющий светодиодом, IN_FLASH сигнал от фоторезистора.
const int IN_DIG = D1;
const int OUT_LED = D3;
const int IN_LIGHT = A2;
const int IN_ANALOG = A4;
void setup() <
pinMode(OUT_LED, OUTPUT);
pinMode(IN_ANALOG, INPUT);
pinMode(IN_DIG, INPUT);
pinMode(IN_LIGHT, INPUT);
>
void loop() <
if ( DigitalRead(IN_DIG) == HIGH && DigitalRead(IN_LIGHT) == LOW ) <
// При подключении фоторезистора, как на схеме в темноте он будет давать
// минимальный сигнал, так-как его сопротивление во мраке максимально.
// На свету будет поступать высокий уровень на вход Ардуино и этот
// блок кода не сработает
DigitalWrite(OUT_LED, HIGH);
delay(10000); // долгая задержка
DigitalWrite(OUT_LED, LOW);
>

Задержка подбирается экспериментально, в зависимости от конкретной чувствительности KY-037 или KY-038, а также их настроек, производимых регулятором на плате устройства.

Некоторая информация о голосовом распознавании

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

Первое, что нужно учесть при проектировании – обращение к самому конкретному устройству, чтобы его функционирование не начиналось или прерывалось от случайно сказанного слова. То есть, перед отдачей команды нужно будет произносить не похожий на нее идентификатор конкретного контролера. К примеру: «К7 Включение». Описанное, кстати хорошо тем, что нет похожести согласно произносимых звуков.

Структура слова

Основное, на что нужно обратить внимание при проектировании систем распознавания звука – сама фонетика языка. В русском, есть гласные и согласные буквы. Последние еще и бывают шипящего, звонкого и глухого произношения. Устройства улавливающие звуковые волны, наиболее слышат, как раз, первые, вторые и третьи, а вот к последним «глуховаты». Поэтому, собственно и программировать конечный аппарат требуется именно на их определение, а не слова в целом. Опять же. Каждый человек обладает определенной дикцией и высотой тона голоса. Посудите сами, послушав, как одно и то же слово произносится мужчиной или женщиной. К тому же некоторые люди быстро проговаривают текст, другие медленнее. Все названые факторы требуется учесть при написании скетча обработки.

Еще одно ограничение, накладываемое платам KY-037 и KY-038 – падение уровня улавливаемого сигнала в зависимости от расстояния до его источника. То есть, нужно предусмотреть сравнение именно разниц поступающих пиков, а не конкретных значений.

Некоторые рекомендации

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

Читайте также  Как подключить машинный сабвуфер дома?

Разбор последовательности звуков проводится не точным соответствием, а логическими условиями, по причине пропуска некоторых в разговорной речи. То есть, предположим, существует массив, содержащий последовательность значений гласных и шипящих, аналогичных используемым в самой команде. Тогда разбор голоса будет выглядеть следующим образом:

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

#DEFINE D1 1
#DEFINE D3 3
#DEFINE A2 2
#DEFINE A4 4
// Характеристики «тишины»
const int SilenceMin = 625;
const int SilenceMax = 637;
const int IN_DIG = D1;
const int IN_ANALOG = A4;
// команда «включение» последний байт для блокирования ошибки
const int command_on[]=<857, 704, 740, 720, 740, 0>;
int tPOS=0; // текущее положение в разбираемом слове
void loop() <
int flag=0, GFONEM=ReadAnalog(IN_ANALOG), FOUND_COMMAND_ON = 0;
if (GFONEM==command_on[0]) < // совпадение первого звука последовательности, разбираем
flag=1;
while (flag>0) <
Delay(50); // пауза между произносимыми звуками, подбирается экспериментально
GFONEM=ReadAnalog(IN_ANALOG);
if (GFONEM>MinFONEM) < // ограничитель уровня именно гласных и шипящих,
// они будут выше, чем согласные
if (GFONEM==command_on[tPOS] || GFONEM==command_on[tPOS+1]) <
// все ок, идем по команде «включение», проверяя
// текущий звук или возможно следующий
FOUND_COMMAND_ON = 1;
> else <
FOUND_COMMAND_ON = 0;
flag = 1;
>
if ( tPOS == 5 ) < flag = 1 ); // найден последний звук, можно выходить
tPOS++;
>
>
>
if (FOUND_COMMAND_ON == 1) <
// выполнение действий при команде «включение»
// .
>
>

Для качественного распознавания речи используют различные более сложные алгоритмы. Например нейросетевой с предварительным разложением в ряд Фурье:

  1. Разделить фразу на отдельные слова, отслеживая промежутки тишины;
  2. Разложить запись каждого отдельного слово в ряд Фурье — таким образом определятся коэффициенты, соответствующие отдельным частотным составляющим;
  3. Пропустить вычисленные в п.2 коэффициенты через нейросеть, которая на выходе даст значение слов.

Чтобы такая нейросеть могла «распознавать» слова, подаваемые на её вход, предварительно она должна быть обучена!

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

Видео по теме

Датчик звука KY-037. Ардуино проект.

Сегодня в обзоре Датчик звука KY-037. Это продолжение серии про бесконтактные выключатели которые можно посмотреть на моём канале https://www.youtube.com/Ардуинодляначинающих .
Собранное устройство позволяет обнаружить звук и подать сигнал на Ардуино.

Звук должен быть довольно громким, и не верьте тем кто говорит, что можно на этом датчике построить сигнализацию или поставить в коридор и она услышит что кто-то идёт и включит свет. Враньё.
В своём видео я показал два примера использования датчика KY-037.
Первый это включение светодиода, а во втором я подключил реле и включаю лампу на 220 вольт.
Ещё я пробовал использовать этот датчик как просто микрофонный усилитель, но не достиг хороших результатов. Единственное что у меня получилось это подключить Аналоговый вход и землю от датчика. Так я смог делать записи в довольно средненьком качестве. А так как Аналоговый вход на датчике – это простое подключение к микрофону, то получилось, что я просто подключил микрофон на вход.

В видео также даны схемы подключения датчика к Ардуино, Показана распиновка модуля, и описание скетчей.
Так что если интересно, то обязательно посмотрите это видео.

Датчик звука KY-037. Ардуино проект.
Сегодня я сделаю обзор, про так называемый Датчик звука для Ардуино. А конкретно про датчик KY-037, который реагирует на звук. Это второе видео из серии «Бесконтактная кнопка или бесконтактный выключатель».
Собранное устройство позволяет обнаружить звук и подать команду на Ардуино. Правда — это должен быть довольно громкий звук, и находиться он должен на близком расстоянии от микрофона. Я пересмотрел много видео про этот датчик. Не верьте тем, кто говорит, что его можно использовать в качестве охранного устройства или реагировании на шум в комнате. Шум должен быть, ну очень, громкий.
Вот посмотрите простой пример включения лампы от щёлканья пальцами. Позже мы разберём этот пример.
Я пробовал использовать датчик вместо обычного микрофона, и качество записи с него получилось средненькое. Если заинтересовались, то давайте посмотрим примеры работы.

Датчик звука. Подключение к Ардуино.
Давайте рассмотрим две схемы подключения датчика звука KY-037.
Первая для включения светодиода, а вторая чуть посложнее. Она будет включать реле, которое будет включать лампу на 220 вольт.
Светодиод я подключил к 13 пину Ардуино, так как не хотел искать резистор. И написал скетч включения и выключения светодиода от хлопка в ладоши или щёлкнув пальцами. Я даже не написал, а просто взял готовый скетч из урока про Кнопки. Кто не смотрел, советую посмотреть. Ведь уметь работать с кнопками – это почти основное в Ардуино.

На этой схеме я подключил реле, и теперь можно управлять мощными нагрузками. Как это работает вы уже видели в примере.
Если вы хотите управлять устройствами постоянного тока на 12 — 40 вольт, то вместо реле можно использовать транзистор. Он меньше в размере и потребляет значительно меньше. Если надо то я сниму видео как это сделать.

Ky-037 схема
Схема устройства.
микрофон датчика звука — электретный, большой чувствительности. Подключен к компаратору LM393.
Скачать даташит по датчику можно по ссылке в описании или на моём сайте.

Светильник с датчиком звука KY-037
Здесь показан скетч работы датчика звука для включения лампы. Так как мы будем подключать лампу на 220 вольт, то используем для этого модуль реле.
Для того чтобы свет зажегся надо хлопнуть в ладоши или щёлкнуть пальцами. Для выключения надо сделать тоже самое.
Как видите всё очень просто и собирается за несколько минут, а эффект очень большой. Вы сможете всех удивить таким необычным включением света.

Ну вот мы изучили ещё один датчик для Ардуино. Как оказалось – это совсем не сложно.
Если вам понравилось это видео, то поставьте, пожалуйста лайк. Это очень сильно помогает в продвижении канала на ютуб. А я буду видеть, что мои видео нравятся, и буду стараться выпускать их почаще и искать интересные модули и их применение.

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

  • Вычислительная техника
    • Микроконтроллеры микропроцессоры
    • ПЛИС
    • Мини-ПК
  • Силовая электроника
  • Датчики
  • Интерфейсы
  • Теория
    • Программирование
    • ТАУ и ЦОС
  • Перспективные технологии
    • 3D печать
    • Робототехника
    • Искусственный интеллект
    • Криптовалюты

Чтение RSS

Детектор свиста на Arduino с использованием датчика звука

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

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

Читайте также  Как подключить двухканальный усилитель на 4 колонки?

Прежде чем мы углубимся в аппаратное обеспечение и код для этого проекта домашней автоматизации, давайте взглянем на звуковой датчик. Звуковой датчик, используемый в этом модуле, показан далее. Принцип работы большинства доступных на рынке звуковых датчиков аналогичен этому, хотя внешний вид может немного отличаться.

Как известно, примитивным компонентом в звуковом датчике является микрофон. Микрофон – это тип преобразователя, который преобразует звуковые волны (акустическую энергию) в электрическую энергию. В основном диафрагма внутри микрофона вибрирует на звуковые волны в атмосфере, которая производит электрический сигнал на своем выходном выводе. Но эти сигналы будут иметь очень низкую величину (мВ) и, следовательно, не могут быть обработаны напрямую микроконтроллером, таким как Arduino. Также по умолчанию звуковые сигналы являются аналоговыми по природе, следовательно, выходной сигнал от микрофона будет синусоидальным с переменной частотой, но микроконтроллеры являются цифровыми устройствами и, следовательно, лучше работают с прямоугольными сигналами.

Для усиления этих синусоидальных сигналов с низким уровнем напряжения и преобразования их в прямоугольные сигналы модуль использует встроенный компаратор LM393, как показано выше. Выход низкого напряжения аудио от микрофона подается на один из контактов разъема компаратора через усилитель транзистор, а опорное напряжение устанавливается на другом выводе, используя схему делителя напряжения с участием потенциометра. Когда выходное напряжение звука с микрофона превышает заданное напряжение, напряжение компаратора поднимается до 5 В (рабочее напряжение), в противном случае напряжение компаратора остается низким при 0 В. Таким образом, синусоидальная волна низкого сигнала может быть преобразована в прямоугольный сигнал высокого напряжения (5 В). Осциллограмма ниже показывает то же самое, где желтая волна представляет синусоидальную волну слабого сигнала, а синяя – выходной прямоугольный сигнал. Чувствительность можно контролировать, изменяя сопротивление потенциометра на модуле.

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

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

Датчик звука и релейный модуль питаются от 5-вольтового контакта Arduino. Выходной вывод датчика звука подключен к цифровому выводу 8 Arduino, это связано со свойством таймера этого вывода. Модуль реле запускается контактом 13, который также подключен к встроенному светодиоду на плате Arduino UNO.

На стороне источника переменного тока нейтральный провод напрямую подключен к общему (C) выводу модуля реле, а фаза подключена к нормально разомкнутому (NO) выводу реле через нагрузку переменного тока (лампочка). Таким образом, при срабатывании реле контакт NO будет соединен с контактом C и, таким образом, лампочка будет светиться. В противном случае лампа останется выключенной. Все это может выглядеть следующим образом.

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

Подобно тому, как мы считываем частоту входящих прямоугольных сигналов, мы должны запрограммировать Arduino для вычисления частоты. В этом уроке мы будем использовать библиотеку Freqmeasure (https://github.com/PaulStoffregen/FreqMeasure/archive/master.zip) для измерения частоты, чтобы получить точные результаты. Эта библиотека использует прерывание внутреннего таймера на выводе 8, чтобы измерить, как долго импульс остается включенным. Как только время измерено, мы можем вычислить частоту, используя формулу F = 1 / T. Однако, поскольку мы используем библиотеку напрямую, нам не нужно вдаваться в подробности регистров и математических данных о том, как измеряется частота. Следует заметить, что использование библиотеки отключит функцию analogWrite на контактах 9 и 10 на Arduino UNO, поскольку таймер будет занят этой библиотекой.

Полный код программы коммутатора на основе детектора свиста довольно прост и представлен далее.

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

Когда в последовательном мониторе появится сообщение «Light turned on» (Свет включен), на контакте 13 появится высокий уровень напряжения, и реле сработает, чтобы включить лампу. Аналогичным образом лампа будет выключена, когда в последовательном мониторе появится сообщение «Light turned off» (Свет выключен). После того, как вы проверили работу, вы можете включить установку с помощью адаптера 12 В и начать управлять своим бытовым устройством переменного тока с помощью свиста.

Простой аналоговый датчик звука для Ардуино своими руками

Теперь давайте рассмотрим схему датчика.

Кроме операционного усилителя нам понадобится еще несколько легкодоступных компонентов.

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

В моем случае в качестве «золотой середины» применен резистор на 620 кОм.

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













Сборка завершена. Схему установил в корпусе, который изготовил из небольшого обрезка пластиковой трубки.
Переходим к тестированию устройства. Я подключу его к плате Arduino UNO. Переходим в среду разработки Ардуино и открываем пример AnalogReadSerial в разделе Basics.

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

Вместо «Х» вставляете то самое значение, загружаете и снова хлопаете. Так продолжайте до тех пор, пока не подберете оптимальное значение срабатывания. При завышенном значении условие будет выполняться лишь при хлопке на очень близком расстоянии. При заниженном значении условие будет выполняться при малейшем шуме или звуке шагов.

Шпионское подслушивающее устройство на Arduino с записью голоса

В этой статье мы рассмотрим создание на основе платы Arduino компактного устройства для записи голоса, которое при желании можно использовать в качестве подслушивающего устройства (шпионского «жучка)». Наше устройство будет содержать небольшой микрофон для записи голоса и последующего сохранения его на SD карту. Оно будет способно записывать фрагменты звука длительностью до 2 минут, эти фрагменты будут иметь последовательную нумерацию. Запись звука будет производиться до тех пор пока не закончится заряд батареи или не закончится место на SD карте. Для индикации того, что начался процесс записи, мы подключили к плате Arduino светодиод.

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

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

  1. Плата Arduino Nano (купить на AliExpress).
  2. MAX9814 Amplifier board (плата усиления, плата микрофона) (купить на AliExpress).
  3. Модуль чтения SD карт (купить на AliExpress).
  4. SD карта.
  5. Источник питания с напряжением 5 В (power bank, батарейка или что-нибудь подобное).
Читайте также  Подключение 2х усилителей в авто

Внешний вид используемых в проекте компонентов показан на следующем рисунке.

Схема проекта

Схема шпионского подслушивающего устройства на Arduino представлена на следующем рисунке.

Основным компонентом нашего проекта является модуль MAX9814, который представляет собой высокопроизводительный микрофонный усилитель с автоматической регулировкой усиления (automatic gain control, AGC) и низким уровнем вносимых шумов, отличающийся низкой стоимостью. Модуль содержит малошумящий входной (front-end) усилитель, усилитель с изменяющимся коэффициентом усиления (variable gain amplifier, VGA), выходной усилитель, генератор напряжения смещения для микрофона и схему автоматической регулировки усиления – и все это на одном чипе.

Модуль MAX9814 будет записывать звук и передавать его в плату Arduino, которая будет преобразовывать его в .wav формат и сохранять его на MicroSD карту с помощью модуля чтения/записи SD карт, подключенного к плате Arduino.

Модуль MAX9814 содержит достаточно много различных контактов, но мы из них будем использовать всего 3: VCC, GND и выходной контакт. Также модуль содержит контакт усиления (gain pin), который можно подключить к GND или VDD для контролируемого усиления 50dB и 40dB. Но в нашем проекте мы не будем использовать управление усилением модуля, по умолчанию модуль MAX9814 обеспечивает коэффициент усиления равный 60dB.

Для взаимодействия с модулем SD карт мы будем использовать интерфейс SPI, для этого мы задействовали контакты интерфейса SPI платы Arduino.

Контакты платы Arduino Контакты модуля SD карт
5V VCC
GND GND
D10 CS
D11 MOSI
D12 MISO
D13 SCK

Контакты подключения модуля MAX9814 к плате Arduino представлены в следующей таблице.

Контакты платы Arduino Контакты модуля MAX9814
3.3V VDD
GND GND
A0 OUT

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

Объяснение программы для Arduino

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

В начале кода программы подключим заголовочные файлы используемых библиотек.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: