music frequency detector - el-pths/w GitHub Wiki

Музыкальный Робот

Проект для Сахаровских Чтений 2021, исполнитель, предположительно, Ольга Семёнова 2024а

Краткое описание

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

структурная схема робота реагирующего на музыкальные звуки

На данной схеме "питание" подводится по необходимости к разным узлам; справа от контроллера изображены для примера две лампочки и два электромотора - однако в реальной ситуации моторы например должны быть подключены через какой-либо усилитель мощности.

Основные критерии:

  • устройство достаточно чувствительно, улавливает звуки с расстояния 3м или более
  • устройство разборчиво - не путает сигналы (подаваемые разными нотами)
  • устройство избирательно - не реагирует на окружающие шумы

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

Предполагаемое устройство

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

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

Предполагаемые этапы работы

Ниже перечислены этапы в достаточно большом количестве, но сами по себе не очень большие - чтобы более четко представлять чем предстоит заниматься.

  1. Теоретическая подготовка, в т.ч. экспериментирование с фильтрами в симуляторе, расчет их параметров
  2. Продумывание и рисование схемы
  3. Подготовка чертежа платы по схеме
  4. Травление платы
  5. Монтаж (пайка) компонент на плате и пр
  6. Сочинение программы для контроллера
  7. Испытания (и возврат к каким-либо из предыдущих пунктов по необходимости - доделки в плате, в программе)
  8. Подготовка текстовых материалов (аннотация, отчет)
  9. Подготовка видео-материалов (демо-ролик)
  10. Подготовка к выступлению / защите (если таковые будут)