Предлагаю вниманию два измерителя уровня сигнала на светодиодах. Проект разрабатывался для отображения уровня громкости, но может иметь и другое предназначение. Оба устройства функционально похожи, поэтому описание общее, отличия 2-х канального привожу в скобках.
Описание устройства.
Индикация осуществляется одной (двумя) светодиодной линейкой из 16 светодиодов.
Входной сигнал после регулятора чувствительности через диод поступает на RC-цепочку и далее на вход АЦП микроконтроллера. Диод с RC-цепочкой обеспечивает задержку уровня сигнала и плавность его изменения. Номиналы RC следует подобрать для получения наилучшего визуального эффекта.
В зависимости от уровня сигнала зажигается определенное количество светодиодов. Существует два варианта прошивки: с логарифмической и линейной шкалой.
Кнопкой включается режим "каскад". В этом режиме после снижения уровня сигнала пиковый уровень снижается с замедлением с эффектом "бегущего огня" на одном светодиоде.
Настройки.
Скорость эффекта "каскад" устанавливается при прошивке микроконтроллера в памяти EEPROM в ячейке с адресом 0x00. По умолчанию, если в ячейке записано число меньше 5 или больше 200, берется значение 100. Это соответствует времени переключения между светодиодами примерно в 0,2 сек.
Для варианта с одним каналом максимальный уровень входного сигнала около 0,6 V. При таком напряжении зажигаются все светодиоды.
Для 2-х канального варианта подстроечным резистором RV3 задается максимальный уровень входного сигнала, при котором зажигаются все светодиоды. Настройки являются общими для обоих каналов.
Схема одноканального варианта.
И 2-х канального.
В архиве содержатся по две прошивки для каждого варианта (с линейной и логарифмической шкалой), проекты в Proteus для симуляции (по сути это схемы) и описание.
Для вопросов и обсуждения создана тема на форуме.
|