LPT порт и 12 светодиодов
Содержание
^ Резюме
В этой статье говорится о том, как можно подключить к компьютеру 12 светодиодов через LPT порт, встроенный в материнскую плату компьютера. Используется самая простая схема подключения и самый простой способ управления этими светодиодами в ручном и в автоматическом режимах.
Внимание! Переходники USB-to-LPT для этого категорически не подходят. Платы PCI-to-LPT позволяют использовать лишь 8 светодиодов, а не 12.
Целью подключения диодов является получение бюджетной светомузыкальной установки или светомузыки.
Идеалистическое стремление данного проекта — достижение художественной ценности световых эффектов, возможное лишь при человеческом творчестве. Подразумевается, что игра света может рассматриваться и как самостоятельное произведение, и как дополнение к мелодии, увеличивающее ее выразительность.
Итак, от воды перейдем к делу.
^ Введение
LPT порт компьютера содержит 25 выводов, расположен на задней крышке системного блока, раньше к нему подключали принтеры. К некоторым из этих выводов можно подключить светодиоды (или что-нибудь другое, в зависимости от фантазии).
При помощи специальной программы мы можем заставить диод либо засветиться, либо погаснуть.
Обычно используются схемы (способы) подключения лишь восьми светодиодов. Здесь вы узнаете о том, как дополнительно подключить еще 4 светодиода, которые будут работать ни чуть не хуже. То есть, в сумме получается 12.
^ Теория (можно пропустить)
Специальная программа посылает данные в компьютерный порт ввода-вывода (378h). При помощи определенных электронных элементов этот порт связан с внешним, в данном случае, LPT портом, который выводит эти данные «наружу» в виде электрических сигналов.
Управление классическими 8-ю светодиодами осуществляется по порту 888 (378h), а управление четырьмя дополнительными — по порту 890 (37Ah). (Базовый порт 378h)
При этом управление по порту 890 происходит немного по-другому, т.к. три из четырех каналов являются инвертирующими.
Вся картина выглядит так:
Аппаратная часть | Софтовая часть | ||
---|---|---|---|
№ светодиода | № контакта | № порта | № бита |
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 и т.д.
Вилка DB25M |
|
---|
На следующем рисунке показано как подключаить светодиоды напрямую к LPT-порту (при отсутствии вышеуказанной вилки DB-25M). LPT порт симметричен, поэтому его пины очень легко перепутать.
Внимательно рассмотрите маркировку пинов порта, убедитесь, что перемычка, соединяющая контакты с 18 по 25, будет соединять именно их (а не контакты с 14 по 21). Наберитесь терпения и проверьте каждый проводок и контактик — это избавит вас от проблем, которые могут задержать окончание работы на несколько дней.
Как подключать светодиоды к LPT порту компьютера (к лицевой стороне розетки DB25F) |
---|
Номиналы резисторов лучше подбирать экспериментально, они зависят и от используемых светодиодов и от особенностей конкретно вашего порта. Рекомендую попробовать с резистором 33 или 47 Ом. Если яркости будет недостаточно — резистор можно будет не ставить. Для большей точности следует измерять ток, текущий через светодиод, выбирая сопротивление, при котором ток соответствует номинальному (обычно 10…20mA). Подробнее смотрите в статьях «Универсальная методика рассчета питания светодиодов», «Параметры светодиодов», «Питание для светодиодов».
Все 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-0.2.5
Эта программа самостоятельно управляет светодиодами в соответствии с заранее подготовленным сценарием (скриптом). Другая возможность программы — светомузыка, управляемая звуком либо со звуковой карты, либо с аудиоплеера. В последнем случае (получение звука от аудиоплеера) необходимо использовать единый плагин визуализации vis_wndlpt.dll разработанный для трех популярных плееров: Winamp 5, WMP (Windows Media Player) и AIMP2. Полное описание программы находится на странице «Управление выходами LPT порта».
Кроме того, полезно поместить в автозагрузку ярлык:
"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 порта».
^ Практика — Настраиваем порт
Когда 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 порта» и сверяем свои результаты с ожидаемыми.
^ Фотосессия
^ День
Вид спереди— Зачем нужны лишние отверстия? — Оставлено для совместимости. Светодиоды с натугой вставлены в отверстия подходящего диаметра, полученные путем сверления. |
|
Вид сзадиК гетинаксу приклеены кусочки фольгированного текстолита. Их фольга разделена на две площадки (плюс и минус). К этим площадкам припаиваются светодиоды и питающие проводники. Таким образом, светодиоды удерживаются в отверстиях.
Для лучшего понимания того что здесь напаяно, пройдите по ссылке «Схема панели светодиодов, спроецированная на фото этой панели». |
|
Вилка DB-25M Подключается к LPT порту компьютера. |
|
Гнездо DB-25F. Лицевая и обратная стороны. | |
Корпус DP-25C применяемый для вилки DB-25M и гнезда DB-25F в упаковке. | |
Сборка вилки DB-25M с корпусом DP-25C. Провод МГТФ во фторопластовой изоляции, который практически невозможно «отмозолить». Металлические контакты закрыты кембриками из термоусадки. |
^ Ночь
Видеофайл, демонстрирующий работу устройства. |
autorun_v0.2.1.avi (274 КБ) |
^ Ответы на часто задаваемые вопросы, FAQ
Подойдут также яркие белые светодиоды из дешевых китайских фонариков: при падении напряжения на диоде 3 В, в цепи течет ток 8.5 мА.
b. Необходимость реализовать управление каким-либо устройством, затратив минимум сил и средств на разработку системы управления.
c. Желание получить недорогую и простую светомузыку.
d. При необходимости записать и/или считать содержимое памяти 24Cxx и 24LCxxA, не покупая специальных устройств.
e. В конечном счете, LPT порт используется либо при желании сэкономить, либо при «спортивном» подходе.
f. А еще LPT порт используется для подключения принтеров — это его основное назначение, однако сегодня этот способ устарел.
где Uxx(1) – напряжение логической «1» на холостом ходу,
Uxx(0) – напряжение логического нуля на холостом ходу,
r(1) – внутреннее сопротивление при лог. «1»,
r(0) – внутреннее сопротивление при лог. «0».
Рассчитывая цепь по закону Ома, Uxx(1) следует принять равным 3.3 ... 3.4 В. Измеряя это напряжение тестером вы, скорее всего, получите 4.9 В — это значение непригодно для расчетов. Данные получены для контакта №2 (I/O порт 0x378 бит 1).
Возможно, что при запуске программ в операционных системах 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.
В случае возникновения проблем с наличием данных файлов, программа в явном виде сообщит об этом.
^ Скачать
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}