Измерение уровня звука с помощью NodeMCU ESP8266 и датчика звука


В этом проекте мы создадим устройство мониторинга уровня и интенсивности звука на основе технологии Интернета вещей (IoT) с использованием NodeMCU ESP8266 и звукового модуля/датчика, а также будем осуществлять онлайн-мониторинг уровня звука на сервере Thingspeak.

Измерение уровня звука с помощью NodeMCU ESP8266 и датчика звука

Ранее на нашем сайте мы рассматривали подключение датчика звука и к другим платам:

Обзор проекта

Шумомер (sound level meter) используется для акустических (звук, распространяющийся по воздуху) измерений. Лучшим типом микрофона для шумомеров является конденсаторный микрофон, который сочетает в себе точность со стабильностью и надежностью. Диафрагма микрофона реагирует на изменения давления воздуха, вызванные звуковыми волнами. Вот почему этот прибор иногда называют измерителем уровня звукового давления (SPL).

Шумомеры обычно используются в исследованиях шумового загрязнения для количественной оценки различных видов шума, особенно промышленного, экологического, горнодобывающего и авиационного. Показания шумомера плохо коррелируют с воспринимаемой человеком громкостью, которую лучше измеряет измеритель громкости звука (loudness meter). Удельная громкость является компрессионной нелинейностью и изменяется на определенных уровнях и на определенных частотах. Эти показатели также можно рассчитать несколькими различными способами.

В этом проекте IoT мы сделаем измеритель уровня и интенсивности звука. Этот проект очень прост и может быть сделан дома для мониторинга звукового загрязнения. Мы будем использовать Nodemcu ESP8266, звуковой модуль (датчик звука) и OLED-дисплей. Звуковой датчик обнаружит звук и преобразует его в аналоговое напряжение, которое считывается Nodemcu ESP8266. Nodemcu подключается к Wi-Fi и загружает данные на сервер Thingspeak.

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

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Датчик звука KY-038 (или аналогичный) (купить на AliExpress).
  3. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода/перемычки.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Датчик звука микрофона

Датчик звука микрофона (microphone sound sensor), как следует из названия, обнаруживает звук. Он измеряет громкость звука. Датчик звука представляет собой небольшую плату, которая объединяет микрофон (50 Гц-10 кГц) и некоторые схемы обработки для преобразования звуковых волн в электрические сигналы. Этот электрический сигнал подается на встроенный высокоточный компаратор LM393 для оцифровки и становится доступным на выводе OUT.

Модуль датчика звука

Модуль имеет встроенный потенциометр для регулировки чувствительности сигнала на контакте OUT. Мы можем установить порог с помощью потенциометра. Таким образом, когда амплитуда звука превышает пороговое значение, модуль выдаст LOW, в противном случае HIGH.

Кроме этого, модуль имеет два светодиода. Светодиод питания загорается когда на модуль подано питание. Светодиод состояния загорается, когда цифровой выход переходит в состояние LOW.

Датчик звука имеет только три контакта: VCC, GND и OUT. Контакт VCC подает питание на датчик и работает от напряжения от 3,3 В до 5 В. Контакт OUT выдает ВЫСОКИЙ уровень в тихих условиях и становится НИЗКИМ при обнаружении звука.

0,96-дюймовый I2C OLED-дисплей

Это 0,96-дюймовый OLED-дисплейный модуль. Он может быть подключен к любому микроконтроллеру с использованием протоколов I2C. Он имеет разрешение 128×64. В комплект входит дисплейная плата, дисплей, 4-контактный разъем, предварительно припаянный к плате.

0,96-дюймовый I2C OLED-дисплей и его распиновка

OLED (Organic Light-Emitting Diode) — это технология самоизлучающего света, состоящая из тонкой многослойной органической пленки, помещенной между анодом и катодом. В отличие от технологии LCD, OLED не требует подсветки. OLED обладает высоким потенциалом применения практически для всех типов дисплеев и рассматривается как окончательная технология для следующего поколения плоских дисплеев.

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

Схема подключения к NodeMCU ESP8266 звукового датчика и OLED-дисплея приведена на следующем рисунке.

Схема подключения к NodeMCU ESP8266 звукового датчика и OLED-дисплея

Звуковой датчик и OLED-дисплей требуют питания 3,3 В. Поэтому подключите их клеммы VCC и GND к 3,3 В и GND NodeMCU соответственно. Подключите выходной контакт звукового датчика к контакту Nodemcu A0. Подключите контакты I2C, т. е. контакты SDA и SCL OLED-дисплея к контактам Nodemcu D2 и D1 соответственно.

Собранная на макетной плате конструкция проекта

Настройка Thingspeak

Для мониторинга данных датчиков на сервере Thingspeak вам сначала нужно настроить Thingspeak. Чтобы настроить сервер Thingspeak, посетите https://thingspeak.com/. Создайте учетную запись или просто войдите в нее, если вы создали учетную запись там ранее. Затем создайте новый канал со следующими данными.

Создание нового канала на Thingspeak для нашего проекта

После заполнения этих данных сохраните канал. Перейдите в API Key и скопируйте полученный там API key. Этот API key будет далее использоваться в программе.

Исходный код программы

Исходный код программы для взаимодействия датчика звука (звукового модуля) с ESP8266 приведен ниже. Скопируйте код и загрузите его на плату Nodemcu.

Обязательно внесите изменения в SSID Wi-Fi, пароль и API Thingspeak.

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

Звуковой модуль распознает звук на 3 различных уровнях, назначенных как низкая интенсивность, средняя интенсивность и высокая интенсивность. Вы можете установить soundlow и soundmedium по своему желанию. Интенсивность слышимости зависит от человека.

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

Тестирование работы проекта

После загрузки кода Nodemcu попытается подключиться к Wi-Fi. Весь процесс можно наблюдать на OLED-дисплее, как показано ниже.

После подключения к Wi-Fi на OLED-дисплее начнет отображаться уровень и интенсивность звука.

Тестирование подключения к Wi-Fi на OLED-дисплее

Теперь вы можете воспроизводить музыку и наблюдать значения на OLED-дисплее. Уровень звука будет повышаться при обнаружении высокого звука и понижаться при обнаружении низкого звука.

Тестирование измерения уровня и интенсивности звука на OLED дисплее

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

Тестирование работы проекта на Thingspeak

(Проголосуй первым!)
Загрузка...
26 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *