Светомузыка через LPT порт. Часть 1.
Введение.
LPT или параллельный порт - стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера. Читаем wiki. Нам это не интересно. Гораздо интереснее принцип работы некоторых моментов при его работе, а именно то, что каждый байт информации в него подается "сразу". Если байт рассматривать как набор из восьми 0 или 1 (00000000 .. 01110110 .. 11111111), то на эти значения будут установлены на 8 пинах LPT порта (с 1 по 8 пин), и там где значение бита равно 1, там на выходе будет +5 вольт. Что это нам дает: Подключаем 8 светодиодов Анод каждого к пинам с 1 по 8, а катоды на любой пин с 18 по 25 (любой из них - это GND). И теперь если передавать в LPT порт информацию, то светодиоды будут загораться относительно той информации, которую передаем. Например передав в порт значение FF (255 в десятиричной системе), то зажгутся все светодиоды, т.к. в бинарной системе это будет 11111111.
Начало.
Для того что бы все это безобразие начало работать как светомузыка, - нужна какая-то программулина которая бы этим управляла. В интернете полно всяких программулин которые так или иначе умеют это делать, но все они работают по одному и тому же принципу - Делят аудиосигнал на частоты и передают информацию в порт. Меня же такой расклад дел не устраивал. Я, как человек из 80-х, и многие из таких же как я помнят старые советские СДУ типа Дельта-01, Янтарь-01 и др. У них принцип работы заключался не только в делении на частоты, но и немного другие эффекты.
Помимо стандартных Низких Частот, Средних Частот и Высоких Частот, имеются какие-то мифические ППЧ, ППГ, ОПГ, - как это расшифровывается я хз. Но имею представление что
ППЧ - Общий частотный уровень, ППГ - Общий уровень громкость, и ОПГ - Обратный уровню громкости (или как любят называть "фон"). Как оно работает: ППЧ - берется вся частотная составляющая входного сигнала, и если полученное значение больше выставленного уровня - вкл лампу. ППГ - аналогично, но по уровню громкости, а ОПГ - Обратная громкости, если громкость ниже выставленного - вкл.
И взяв за основу эти данные, я состряпал свою моргалку с преферансом и поэтессами. Пощупать можно тут http://scrators.(народ).ru/InLevel.rar
Как оно работает:
Заходим в звуковые устройства своего ПК, и на вкладке запись выбираем Стерео Микшер. т.е. Входным сигналом у нас будет всё что играет в системе.
Ползунки чувствительности - это порог срабатывания того или иного эффекта.
Общая - Общая чувствительность, нужна для того, что бы корректировать входящий уровень сигнала, например когда музыка очень тихая. функция "Авто" сама подставляет и корректирует нужное значение, что бы уровень был нужным на всем диапазоне воспроизведения, что даже если в песенке будет тихая партия, то эффекты срабатывали.
Плавность - время затухания "лампочки" после включения, - мало интересно в рамках проекта.
Диапазоны - Выбор границ определения НЧ, СЧ, ВЧ. Весь диапазон от 0 до 255.
FS - Полный экран, кружки которые изображают лампы будут на весь экран, выход из режима - ALT+F4.
LPT - Ставим галку, - данные будут отправлять на LPT порт. Будет нужно далее.
LPT HELP - Маленькая инфа, о том куда подклучаться в LPT порту.
На этом первая часть заканчивается. Далее - разработка схемы, трассировка платы, заказ платы на производстве.
Ждем когда почта привезет детальки и платы.
Всем спасибо за внимание!