Alexander Weber
Я искал простой способ заставить ATmega реагировать на звук. Мои знания об аналоговых цепях очень ограниченны, но я помню, что подключать вывод электретного микрофона непосредственно к ножке контроллера нельзя. Сигнал от электретного микрофона слишком слаб, и его надо усиливать. Есть много информации о микрофонных усилителях. Я запутался в этих схемах и остановился на простой схеме отсюда. В нее входят всего лишь:
- 2 резистора 10 кОм
- 1 резистор 100 кОм
- транзистор 2N3904
- 2 конденсатора 0.1 мкФ
- электретный микрофон
Макетирование усилителя
Схема собрана на макетной плате.
У меня не было транзистора 2N3904 и я заменил его на BC337. Транзистор включен усилителем с общим эмиттером. От развязывающего конденсатора на выходе я отказался и взял сигнал непосредственно с коллектора транзистора.
Макетирование с ATmega
Для АЦП Atmega выходного напряжения усилителя хватило. Программа контроллера постоянно считывает величину сигнала с усилителя. Если уровень напряжения (громкость) превышает пороговый, светодиод загорается.
Схема для повторения
Код программы найдете здесь. Она только что написана и может иметь массу возможных улучшений.
Заключение
Это было легко и выглядело красиво. Я наслаждался, глядя как светодиод реагирует на музыку. Я ничего не записывал с этим устройством. Следующим шагом может быть игра света в такт музыке, способность анализировать музыку.
Видео
Работу схемы я заснял на видео. Извините за плохое качество.