LPT порт и 12 светодиодов

Ночь и 12 светодиодов

Содержание

Резюме

Введение

Теория

Практика

• Железо (Аппаратная часть)

• Софт

• Настраиваем порт

Фотосессия

• День

• Ночь

Ответы на часто задаваемые вопросы, FAQ

Скачать

Светодиод, подключенный к LPT порту

^ Резюме

В этой статье говорится о том, как можно подключить к компьютеру 12 светодиодов через LPT порт, встроенный в материнскую плату компьютера. Используется самая простая схема подключения и самый простой способ управления этими светодиодами в ручном и в автоматическом режимах.

Внимание! Переходники USB-to-LPT для этого категорически не подходят. Платы PCI-to-LPT позволяют использовать лишь 8 светодиодов, а не 12.

Целью подключения диодов является получение бюджетной светомузыкальной установки или светомузыки.

Идеалистическое стремление данного проекта — достижение художественной ценности световых эффектов, возможное лишь при человеческом творчестве. Подразумевается, что игра света может рассматриваться и как самостоятельное произведение, и как дополнение к мелодии, увеличивающее ее выразительность.

Итак, от воды перейдем к делу.

^ Введение

LPT порт компьютера содержит 25 выводов, расположен на задней крышке системного блока, раньше к нему подключали принтеры. К некоторым из этих выводов можно подключить светодиоды (или что-нибудь другое, в зависимости от фантазии).

При помощи специальной программы мы можем заставить диод либо засветиться, либо погаснуть.

Обычно используются схемы (способы) подключения лишь восьми светодиодов. Здесь вы узнаете о том, как дополнительно подключить еще 4 светодиода, которые будут работать ни чуть не хуже. То есть, в сумме получается 12.

^ Теория (можно пропустить)

Специальная программа посылает данные в компьютерный порт ввода-вывода (378h). При помощи определенных электронных элементов этот порт связан с внешним, в данном случае, LPT портом, который выводит эти данные «наружу» в виде электрических сигналов.

Управление классическими 8-ю светодиодами осуществляется по порту 888 (378h), а управление четырьмя дополнительными — по порту 890 (37Ah). (Базовый порт 378h)

При этом управление по порту 890 происходит немного по-другому, т.к. три из четырех каналов являются инвертирующими.

Вся картина выглядит так:

Соответствие битов портов ввода-вывода и контактов LPT порта ( * - выводы с инверсией)
Аппаратная часть Софтовая часть
№ светодиода № контакта № порта № бита
1 2 888 (378h) 0
2 3 888 (378h) 1
3 4 888 (378h) 2
4 5 888 (378h) 3
5 6 888 (378h) 4
6 7 888 (378h) 5
7 8 888 (378h) 6
8 9 888 (378h) 7
9 1 * 890 (37Ah) 0
10 14 * 890 (37Ah) 1
11 16 890 (37Ah) 2
12 17 * 890 (37Ah) 3

Увидеть светодиод, подключенный непосредственно к контактам (пинам) LPT порта, можно в статье «Светодиодное испытание LPT порта».

^ Практика

^ Практика — Аппаратная часть

На рисунке слева изображена лицевая сторона вилки DB-25M, которая рекомендуется для подключения нашего устройства к компьютеру. На рисунке справа показана схема подключения диодов к обратной стороне вилки DB-25M. Номера светодиодов на схеме обозначены в кружочках. Обратите внимание, что светодиод №1 подключается к пину №2 и т.д.

Вилка DB-25M, лицевая сторона
Вилка
DB25M

Схема подключения диодов к вилке для LPT порта
Как припаивать светодиоды к обратной стороне вилки DB25M

На следующем рисунке показано как подключаить светодиоды напрямую к LPT-порту (при отсутствии вышеуказанной вилки DB-25M). LPT порт симметричен, поэтому его пины очень легко перепутать.

Маркировка пинов LPT порта

Нумерация пинов LPT порта

Внимательно рассмотрите маркировку пинов порта, убедитесь, что перемычка, соединяющая контакты с 18 по 25, будет соединять именно их (а не контакты с 14 по 21). Наберитесь терпения и проверьте каждый проводок и контактик — это избавит вас от проблем, которые могут задержать окончание работы на несколько дней.

  Схема подключения диодов к LPT порту
Как подключать светодиоды к LPT порту компьютера (к лицевой стороне розетки DB25F)
 

Номиналы резисторов лучше подбирать экспериментально, они зависят и от используемых светодиодов и от особенностей конкретно вашего порта. Рекомендую попробовать с резистором 33 или 47 Ом. Если яркости будет недостаточно — резистор можно будет не ставить. Для большей точности следует измерять ток, текущий через светодиод, выбирая сопротивление, при котором ток соответствует номинальному (обычно 10…20mA). Подробнее смотрите в статьях «Универсальная методика рассчета питания светодиодов», «Параметры светодиодов», «Питание для светодиодов».

Все 12 диодов рекомендуется брать одинаковой марки и одинакового цвета. Прежде чем навеки припаивать — определитесь с полярностью.

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

Светодиоды можно разместить как угодно, но рекомендуется такое расположение:

Конструкция панели из 12 светодиодов

Конструкция панели светодиодов

То есть, 12 диодов расположены вдоль окружности радиусом 30...40 mm. Маленькие перечеркнутые кружочки обозначают светодиоды; цифры, расположенные рядом, указывают их номера. На такой конструкции можно показывать время, пускать замкнутые «бегущие огни». Обычно фантазия сама подсказывает кучу всевозможных эффектов…. Короче, выбор рационального размещения диодов — дело вкуса и фантазии.

В качестве панели можно использовать корпус системного блока, крышку от 3.5'' или 5.25'' отсеков, пластину из гетинакса или просто толстый картон. Отверстия желательно получать сверлением, естественно, при помощи дрели и сверла подходящего диаметра. Необходимо, чтобы диод туго входил в отверстие и не выпадал оттуда. Припаять светодиоды сначала к печатной плате — хорошая идея, но это вовсе не обязательно.

Когда конструкция собрана, ее следует всячески покрутить и повертеть, а потом убедиться, что ничто нигде не болтается и не замыкает. Перед подключением шлейфа к порту, тестером проверьте отсутствие замыканий в устройстве. С другой стороны, современные элементы делают достаточно надежными, чтобы выдержать кратковременные замыкания. Например, у меня во время испытаний один контакт LPT порта замкнулся на общий провод — это привело к перезагрузке компьютера. Если при подключении устройства компьютер начал перезагружаться или выключился, быстро вынимайте шлейф из порта и ищите ошибку. Если после этого компьютер отказывается включаться снова — просто достаньте его вилку из розетки, подождите полминуты, и снова включите.

Внимание!

  • Устройство должно быть собрано так, чтобы ни один из его проводников не мог электрически замкнуться с металлическим корпусом компьютера или любым другим проводником.
  • Всю ответственность за любые действия, производимые над портом, а значит и компьютером, вы берете на себя. Я здесь только советую.

^ Практика — Софт

Когда устройство собрано, наступает очередь для знакомства с программой, которая будет включать и выключать светодиоды так, как вы захотите.

Программа WndLpt позволяет управлять светодиодами в разных режимах:

— интерактивно с клавиатуры и мыши;

— в режиме светомузыки;

— автоматически, по заранее созданному сценарию.

Кроме того, программа может работать как плагин для трех популярных плееров: Winamp, WMP, AIMP2.

WndLpt работает адекватно для любого количества светодиодов от 1 до 12.

 

Исторически WndLpt дополняется маленькой программкой LptPort.exe, которая позволяет просто управлять 12-ю светодиодами с клавиатуры (Windows 98/NT/ME/2000/XP/Vista/Seven).

Описание
программы
«WndLpt»
LPT_ligh.gif (2218 bytes)

Описание
программы
«LptPort»
LPT_ligh.gif (2218 bytes)

Краткое описание WndLpt-0.2.5

Светомузыка от LPT-порта при помощи WndLpt

 

WndLpt: Бегущие огниWndLpt: Бегущие огни
WndLpt: Бегущие огниWndLpt: Бегущие огниWndLpt: Бегущие огни
WndLpt: Бегущие огниWndLpt: Бегущие огни
Работа светодиодов

Эта программа самостоятельно управляет светодиодами в соответствии с заранее подготовленным сценарием (скриптом). Другая возможность программы — светомузыка, управляемая звуком либо со звуковой карты, либо с аудиоплеера. В последнем случае (получение звука от аудиоплеера) необходимо использовать единый плагин визуализации vis_wndlpt.dll разработанный для трех популярных плееров: Winamp 5, WMP (Windows Media Player) и AIMP2. Полное описание программы находится на странице «Управление выходами LPT порта».

Светомузыка в WndLpt

Кроме того, полезно поместить в автозагрузку ярлык:

"C:\Program files\WndLpt\wndlpt.exe" -off

для того, чтобы при загрузке все диоды выключались (или включались -on).

Или ярлык следующего содержания:

"C:\Program files\WndLpt\wndlpt.exe" -bkgnd script.txt

для того, чтобы при загрузке операционной системы автоматически выполнялся скрипт script.txt.

Внимание!

  • Все файлы, загруженные из интернета, проверяйте антивирусом.
  • Убедитесь, что LPT порт разрешен настройками BIOS'а и его базовый адрес равен 378h.
  • Чтобы дополнительные четыре светодиода светились так же ярко, как остальные восемь, для используемого LPT порта в BIOS'е должен быть установлен режим EPP.
  • Удостоверьтесь, что к LPT порту не подключен принтер или любое другое устройство, отличное от описываемого здесь.
  • При наличии нескольких LPT портов будьте уверены, что по адресу 378h находится именно тот порт, который надо.
  • Запись в ключ реестра значения отличного от базового адреса существующего LPT порта может привести к непредсказуемым результатам ("краху системы") во время запуска или работы программы.
  • Существует три стандартных базовых адресов LPT порта: 378h, 3BCh, 278h (буква h после числа означает, что оно записано в шестнадцатеричном виде).

Перейти к полному описанию WndLpt (прямая ссылка на скачивание)

LptPort-0.1.1

Это консольное приложение позволяет при помощи клавиатуры установить любое состояние на выходе порта. Интуитивно понятное управление производится клавишами клавиатуры.

Клавиши Назначение

1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =

Зажечь светодиод номер 1, 2, ..., 12 (остальные погасить)
UpArrow (Стрелка вверх), DownArrow (Стрелка вниз) Увеличить/уменьшить двоичное число отображаемое диодами
LeftArrow (Стрелка влево), RightArrow (Стрелка вправо) Эффект «бегущие огни» влево/вправо
Space (Пробел) Потушить все/Зажечь все
F1, F2, ..., F12 Отобразить заготовку
Enter Инвертировать состояние всех диодов
Esc Выход

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

При запуске, программа обращается к собственному ключу реестра в поисках предустановленного значения базового адреса LPT порта.

[HKEY_LOCAL_MACHINE\SOFTWARE\MAVius\LPT_port]

"addr"=dword:00000378

Если ключ не найден, она пытается обратиться к порту по адресу 0x378. Если по указанным портам устройств не существует, вместо надписи Base port: 378h выводится No found LPT port!

Затем зажигается светодиод №1 и программа готова выполнять команды пользователя. Ознакомится с примером использования данной программы можно в статье «Светодиодное испытание LPT порта».

Скачать LptPort

^ Практика — Настраиваем порт

Когда LPT порт встроен в материнскую плату

Если LPT порт встроен в материнскую плату, то все решается через настройки BIOS:

Во-первых, надо перезагрузить компьютер.

Во-вторых, во время запуска и самотестирования машины следует нажимать на кнопку Del (Delete). В результате, на экране монитора должен появиться BIOS. Желательно чтобы манипуляции над BIOS'ом проводил немного опытный и знакомый с этой штукой человек.

Ищем секцию Integrated Peripherals, залазим в нее, и убеждаемся в соответствии следующих параметров заданным значениям:

[Integrated Peripherals]

Onboard Parallel Port = Enabled или 0x378h

Parallel Port Mode = EPP

Настраивать следующие пункты не требуется:

ECP Mode Use DMA

EPP Version

В зависимости от версии BIOS названия и система установки этих значений могут меняться.

Выход из BIOS'а должен производиться с сохранением параметров, т.е. пунктом Save & Exit Setup. Далее подтверждаем действие нажатием на кнопку Y и нажимаем Enter. Компьютер перезагружается, загружается и снова готов исправно работать.

Когда LPT порт встроен в PCI карту

Если LPT порт расположен на отдельной PCI карте, обратитесь к инструкции по настройке программы для работы с таким портом. то четыре светодиода, подключенные к пинам 1, 14, 16 и 17 будут светится тускло и это не лечится

Для поиска ошибок в разводке проводов читаем статью «Светодиодное испытание LPT порта» и сверяем свои результаты с ожидаемыми.

^ Фотосессия

^ День

Вид спереди

— Зачем нужны лишние отверстия?

— Оставлено для совместимости.

Светодиоды с натугой вставлены в отверстия подходящего диаметра, полученные путем сверления.

Отверстие для светодиодаСветодиод в отверстии
Панель на 12 светодиодов, вид спереди

Вид сзади

К гетинаксу приклеены кусочки фольгированного текстолита. Их фольга разделена на две площадки (плюс и минус). К этим площадкам припаиваются светодиоды и питающие проводники. Таким образом, светодиоды удерживаются в отверстиях.

 

Для лучшего понимания того что здесь напаяно, пройдите по ссылке «Схема панели светодиодов, спроецированная на фото этой панели».

 Панель на 12 светодиодов, вид сзади
Крепление светодиода
Вилка DB-25M
Подключается к LPT порту компьютера.
Вилка DB-25F
Гнездо DB-25F. Лицевая и обратная стороны. Гнездо DB-25F, лицевая сторона
Гнездо DB-25F, обратная сторона
Корпус DP-25C применяемый для вилки DB-25M и гнезда DB-25F в упаковке. Корпус DP-25C в упаковке
Сборка вилки DB-25M с корпусом DP-25C.
Провод МГТФ во фторопластовой изоляции, который практически невозможно «отмозолить».
Металлические контакты закрыты кембриками из термоусадки.
Сборка вилки DB-25M с корпусом DP-25C
  Вилка DB-25M и корпус DP-25C в сборе

^ Ночь

Видеофайл, демонстрирующий работу устройства.

Видео, светодиоды
autorun_v0.2.1.avi (274 КБ)
Работа светодиодовНочь и 12 светодиодов

^ Ответы на часто задаваемые вопросы, FAQ

Четыре дополнительных светодиода горят не так ярко, как остальные восемь. Как исправить?
Следует настроить LPT порт на работу в режиме EPP. См. пункт Настраиваем порт.
Не получается подключить все 12 светодиодов. Одни не горят, другие не гаснут.
Вероятнее всего, вы зеркально перепутали пины LPT порта: 1 и 13, 2 и 12, 3 и 11, 4 и 10, 5 и 9, 6 и 8, 14 и 25, 15 и 24, 16 и 23, 17 и 22, 18 и 21, 19 и 20. Внимательно посмотрите на маркировку пинов LPT порта (иногда ее очень трудно разглядеть), проверьте каждый проводок, убедитесь, что перемычка, соединяющая пины с 18 по 25 соединяет именно их (а не пины с 14 по 21).
Какие светодиоды выбрать?
Мне понравились обычные советские светодиоды АЛ307 (красные) с номинальным током потребления 10 мА. Будучи подключенными без использования сопротивлений, эти светодиоды горят очень-очень ярко. Падение напряжения на каждом светодиоде 1.7 В, при токе 36 мА. Да, выводы LPT порта фактически дают такой ток и до сих пор исправны, как и светодиоды, номинально рассчитанные на ток лишь 10 мА.
Подойдут также яркие белые светодиоды из дешевых китайских фонариков: при падении напряжения на диоде 3 В, в цепи течет ток 8.5 мА.
Можно ли подключить светодиоды напрямую без резисторов?
Можно. Более того, у меня именно так и сделано. Но, советую все же пол часа помучаться с подбором резисторов, чтобы не вывести из строя LPT порт. Если по результатам тестов резисторы будут не нужны — поступаем по своему усмотрению.
На моей материнской плате нет LPT порта, можно ли использовать переходник USB-LPT?
Нет. Адаптеры USB-to-LPT работают несколько иначе, нежели LPT порт, встроенный в материнскую плату или PCI карту, и поэтому не дают желаемого результата.
Что еще можно подключить к LPT порту вместо светодиодов?
При использовании буферных элементов к LPT порту можно подключить все что угодно: реле, логику, термодатчики. Логические уровни порта легко согласуются с уровнями ТТЛ, поэтому особых сложностей нет. Следует лишь не забывать о том, что мы не можем управлять выходами порта при загрузке компьютера, кроме того теоретически любая другая программа или сама операционная система может иногда посылать в порт свои данные независимо от нашей воли. Следовательно, управлять ядерным реактором с помощью LPT порта небезопасно.
Что конкретно можно подключить через LPT порт?
12 светодиодов, термодатчики DS1620, DS18S20, DS1821, память EEPROM I2C 24CXX и 24LC32A, транзисторный мост x4 с униполярным шаговым двигателем, реле через транзисторный усилитель. Остальное вам подскажет поисковая система. Подключить можно что угодно, надо только знать как и зачем.
Можно ли с помощью LPT принимать сигнал из моего устройства?
Можно, но с ограниченной периодичностью опроса и скоростью реакции. Самый оптимистичный прогноз — периодичность опроса около 1 мс. Кроме того, операционная система может изредка приостанавливать опрос на несколько миллисекунд.
На вкладке «Pins» программы WndLpt вы можете заметить пять недоступных для изменения флажков, относящихся к пинам 10, 11, 12, 13, 15. Они отображают логический уровень синалов, подаваемых на эти пины. Возможно в будущем программа будет наделена возможностью реагировать на подачу сигналов на эти пины. Тем не менее, для устройств более серьезных, чем светодиоды лучше использовать USB или RS-232.
Зачем нормальному человеку подключать что-нибудь через LPT порт?
a. Увлечение, спорт.
b. Необходимость реализовать управление каким-либо устройством, затратив минимум сил и средств на разработку системы управления.
c. Желание получить недорогую и простую светомузыку.
d. При необходимости записать и/или считать содержимое памяти 24Cxx и 24LCxxA, не покупая специальных устройств.
e. В конечном счете, LPT порт используется либо при желании сэкономить, либо при «спортивном» подходе.
f. А еще LPT порт используется для подключения принтеров — это его основное назначение, однако сегодня этот способ устарел.
Каковы уровни логического нуля и единицы на выходах LPT порта?
Опытным путем получено: Uxx(1)=3.35 ... 4.88 В, r(1)=40...45 Ом, Uxx(0)=0.065 В, r(0)=65 Ом,
где Uxx(1) – напряжение логической «1» на холостом ходу,
Uxx(0) – напряжение логического нуля на холостом ходу,
r(1) – внутреннее сопротивление при лог. «1»,
r(0) – внутреннее сопротивление при лог. «0».
Рассчитывая цепь по закону Ома, Uxx(1) следует принять равным 3.3 ... 3.4 В. Измеряя это напряжение тестером вы, скорее всего, получите 4.9 В — это значение непригодно для расчетов. Данные получены для контакта №2 (I/O порт 0x378 бит 1).
Можно ли подключить яркие или сверхяркие светодиоды?
Да. (Яркие светодиоды с падением напряжения более 3 вольт могут гореть слишком тускло)
Программа WndLpt не работает в моей версии Windows.
Скачайте свежую версию программы WndLpt она должна работать во всех 32-разрядных версиях операционной системы windows, а также в 64-х разрядных (кроме процесора IA64). Тестирование проводилось в WinXP x32, Windows Vista x32 и Windows 7 x64. Если в вашей операционной системе Windows свежие версии программ lptport и wndlpt не работают, обратитесь с вопросом по указанному ниже адресу электронной почты (внизу страницы "обратная связь"). Будет замечательно, если вы в мелочах опишете возникшие проблемы, процитируете сообщения об ошибках, укажете тип Windows и т.д.
Надо ли устанавливать дополнительные драйверы, чтобы программы могла работать в Windows XP/Vista/Seven?
Нет. Для программ WndLpt и LptPort ничего дополнительного устанавливать не надо.
Возможно, что при запуске программ в операционных системах Vista и Seven вам придется утвердительно ответить на сообщение системы защиты.
При возникновении проблем, вам следует убедиться, что в папке с программой лежат следующие файлы:
inpout32.dll – Необязателен; используется для работы в 32-разрядных версиях Windows младше, чем Windows Vista.
winring0.dll – Необходим для работы «wndlpt.exe», «lptport.exe».
winring0.sys – Используется в ОС x32: WinXP, Vista, Seven.
winring0.vxd – Используется в ОС Win9x (95, 98).
winring0x64.dll – Необходим для работы «wndlptx64.exe», «lptportx64.exe».
winring0x64.sys – Используется в ОС x64: WinXP, Vista, Seven.
В случае возникновения проблем с наличием данных файлов, программа в явном виде сообщит об этом.
Обратите внимание, что ни один из файлов winring* не должен находиться в системных папках Windows. В противном случае, файлы надо удалить или переместить из системных папок в любые другие, иначе работа c LPT портом в операционных системах начиная с Vista, будет невозможна.
Может ли программа WndLpt управлять LPT портом расположенным на PCI карте?
Да, для настройки программы обратитесь к инструкции «Настройка WndLpt для LPT порта на PCI карточке». Однако 4 светодиода, подключенных к 1, 14, 16 и 17 пинам будут светиться тускло, поэтому такой LPT порт есть смысл использовать только для 8 светодиодов.
Как подключить светодиоды к компьютеру не используя LPT порт?
Способы подключения светодиодов к компьютеру или сети 220 вольт описаны в статье «Схемы питания светодиодов». Расчет универсальной схемы питания светодиода от любого источника питания описана в статье «Универсальная методика рассчета питания светодиодов».
Как получить светомузыку под Winamp или AIMP?
Программа WndLpt позволяет управлять светодиодами под музыку независимо от используемого плеера. Но для трех популярных плееров Winamp, AIMP2 и WMP доступен плагин vis_wndlpt.dll, просто запустите установку программы и следуйте инструкциям.

^ Скачать

WndLpt

Автоматическое управление светодиодами по заранее записанному алгоритму.

Скачать с sourceforge.net

Скачать с codeplex.com

Перейти к описанию программы WndLpt.

LptPort

Управление светодиодами с клавиатуры. Это удобно в целях отладки устройства, а также для творческих поисков новых световых эффектов. Данные возможности также встроены в программу WndLpt и доступны на вкладке Manual.

Программа является частью проекта WndLpt и скачивается вместе с ним.

Перейти к описанию программы LptPort.


// Обратная связь: m a v i u s @ y a n d e x . r u
// [mavius]
// GUID: {A5AB4727-F446-4cd4-8A80-14C2B7A42F42}