Рубрики
Схемы на Arduino

Стерео измеритель уровня звука на Arduino и светодиодных кольцах от NeoPixel

В данной статье мы рассмотрим создание стерео измерителя уровня звука (stereo VU meter) на основе платы Arduino и светодиодных лентах (кольцах) от компании NeoPixel.

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

  1. Плата Arduino Nano (купить на AliExpress).
  2. Adafruit NeoPixel Ring: WS2812 5050 RGB LED (кольцо из светодиодов) – 2 шт. (купить на AliExpress).
  3. Потенциометр – 2 шт. (купить на AliExpress).
  4. Кнопка.
  5. Резисторы 10 кОм и 470 Ом (купить на AliExpress).
  6. Конденсатор 1 мкФ 6,3 В (купить на AliExpress).
  7. Макетная плата.
  8. Соединительные провода.

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

Основная идея проекта

В интернете можно найти достаточно много различных проектов измерителей уровня звука (в том числе и на нашем сайте рассматривался подобный проект), но приведенный здесь проект измерителя уровня является одним из самых «красивых» и наглядных, в связи с чем он стал одним из самых популярных в этой тематике – в связи с этим я и решил перевести его на наш сайт. Статья является переводом проекта, размещенного в сборнике проектов официального сайта Arduino, ссылка на ее первоисточник приведена в самом конце данной статьи. Автор проекта данного измерителя звука сделал за прошедшие несколько лет несколько модификаций своего творения, в этой статье я приведу схемы и коды программ только для двух самых популярных модификаций данного проекта, с большим количеством модификаций (к каждой приведено видео) вы можете ознакомиться в первоисточнике статьи.

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

Схема стерео измерителя уровня звука на Arduino и светодиодных лентах от 05.11.2017 представлена на следующем рисунке.

Схема стерео измерителя уровня звука на Arduino и светодиодных лентах от 02.02.2018 представлена на следующем рисунке.

Внешний вид собранной конструкции измерителя уровня звука (вид спереди и сзади) показан на следующих рисунках.

Объяснение работы стерео измерителя уровня звука

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

Автор данного проекта сначала тестировал работу измерителя уровня звука с помощью ЖК дисплея, потом с помощью 2-х светодиодных матриц, затем с помощью светодиодной ленты и только после этого он пришел к идее использования двух светодиодных колец, которые сделали его проект максимально выделяющимся и наглядным на фоне других проектов измерителей уровня звука, которые можно найти в сети. Также автор тестировал свой проект как с микрофоном, так и и без него — все это вы можете подробно посмотреть на официальной странице данного проекта (ссылка на нее внизу статьи).

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

  • поддержку стерео;
  • переключаемая функция хранения максимумов с опцией «падения вниз» (‘falling down’);
  • настраиваемая чувствительность;
  • настраиваемая яркость свечения светодиодов;
  • можно использовать одну светодиодную ленту для отображения левого и правого каналов или два светодиодных кольца (по одному на каждый канал);
  • функция медленного «падения вниз» (‘falling down’) светодиодов;
  • переменные, которые можно использовать для поддержки любого числа светодиодов и другой возможной кастомизации измерителя уровня звука.

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

Добавление микрофона вместо линейного ввода

Автор проекта также тестировал свой измеритель уровня звука с модулем микрофона вместо линейного ввода. Схема соединений аналогична использованию линейного ввода: выход микрофона подключается к аналоговому контакту A0 платы Arduino (также необходимо подключить контакты VCC и ground микрофона).

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

Исходный код программы (скетча)

Скетч для версии проекта 05.11.2017

Скетч для версии проекта 02.02.2018