Управление компьютером с пульта!

1. Сборка ИК приемника. Руководоство для чайников :)

Как всегда, всё очень просто! =) Статью писал в расчете на человека, не знакомого с электроникой :) Так что те, кто в этом разбирается, часть информации может просто пропустить.

Вся идея состоит из двух частей: во-первых, понадобится инфракрасный приемник (покупной или самодельный), который будет получать сигнал от пульта (пульт совершенно любой: подойдет от телевизора, видеомафона, музыкального центра и т.п.) и передавать его в COM-порт компьютера, а во-вторых, программное обеспечение, которое будет этот сигнал обрабатывать: распознавать и выполнять согласно каждому сигналу какие=то действие (ну, например, запускать песенку в winamp'e, менять громкость и т.д.). Ну и, естественно, нужен какой-нибудь ИК пульт.

Итак, разберемся с приемником. Я не советую использовать покупной по двум причинам: он не рассчитан на работу с пультом, работает всего на 1-2 метра, и отклонять пульт от прямо направления на приемник можно не больше, чем на 20-30 градусов. Вторая причина - это цена, такой приемник будет стоить 20$ и больше.
Для сравнения - приемник, который спаял я сам, работает на 10 метров, а больше просто невозможно проверить - уже мешаются стены комнат =) Поворачивать же пульт с таким приемником можно как угодно! Я даже пробовал встать с пультом в угол комнаты, повернувшись спиной к приемнику, и всё работало! При чем сигнал разпознавался без единой ошибки! Стоимость же всех деталей не превышает 2$!

Надеюсь, убедил не полениться и спаять самодельный ИК приемник :)
Если так, то приступим. Вот, собственно, схемка приемника:

Как я и говорил, всё проще некуда :) Используется всего 2 резистора (5 кОм и 10 кОм), 1 конденсатор (10 мФ, обязательно электролитический!), 1 диод (совершенно любой, т.к. токи в схеме очень маленькие) и сам приемник (на схеме обозначен IR).

Автор статьи рекомендовал ИК приемник TSOP1836, хотя подходят и аналоги от других производителей: IS1U60L, GP1U52X, SFH506-36 или TK1833. Я же нашел на Митинском рынке TSOP1736 - тоже прекрасно работает. Выглядят эти приемники примерно так:

 

О стоимости деталей: я купил в декабре 2002го приемник за 35 р., все остальные четыре детали по одному рублю :) Итого 40 рублей. Неплохо, да? :)
Можно потратиться еще на 5 рублей и купить COM-порт, маму, т.е. с "дырочками", а не "штырьками" (не проводки же будем в компьютер втыкать :), а можно и разобрать старую ненужную мышь, только нужно найти такую, у которой порт разбирается (иначе не припаяем к нему провода). Вариант с мышью также решает и проблему проводов =), но, думаю, уж 2 метра провода найти не составит труда (в крайнем случае можно купить всё на том же Митинском, или еще где...)


Ура! Деталями закупились... (или отпаяли из плеера друга, гы гы =)
Это шутка, конечно же :), не дело разорять рабочие устройства из-за деталек, всё равно придется ехать за ИК приемником - его вряд ли где-то найдешь (хотя и его можно из телевизора выпаять :))

Приступим к сборке схемы.
Скорей всего резисторы у вас будут с "полосками", т.е. вместо надписей, на какое они сопротивление рассчитаны, будут цветные полоски поперек резистора - это код их сопротивления. Бывают резисторы с 4 и 5 полосками. Первые встречаются чаще. Вычислить сопротивление резистора по цветному коду можно по схеме (последняя полоска означает точность):

С резиторами определились. Может еще возникнуть проблема с диодом - какой стороной припаять (если на нем явно не нарисован "треугольничек"). Чаще всего "плюс" ("треугольник" на схеме) соответствует толстой полоске на диоде.

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

На схеме контакты, к которым надо припаивать, тоже пронумерованы (1 - DCD, 7 - RTS, 5 - GND, земля). Совмещаем проводок с циферкой на схеме с циферкой на COM-порте, припаиваем - и вуаля! Всё практически уже готово.
Если кого-то интересует, что означают эти циферки, то вот разводка COM-порта:

N Обозначение Направление Сигнал
1

DCD

Вход Data Carrier Detect
2 RxD Выход Transmit Data
3 TxD Вход Receive Data
4 DTR Выход Data Terminal Ready
5 GND - Ground
6 DSR Вход Data Set Ready
7 RTS Выход Request To Send
8 CTS Вход Clear To Send
9 RI Вход Ring Indicator

Опять же, кому интересно, питание схемы берется с 7 го контакта COM-порта (а вы думали , она по воздуху питается от ближайшей электростанции? :)), ну и минус идет на "землю" - 5ый контакт.

Ну вот. Приемник собран, c чем всех и поздравляю! =) Пора приступать к настройке программ.


2. Установка программного обеспечения


Я нашел единственная программу, нормально работающую с самопальным пультом :) Это WinLIRC. Скачать его можно у меня. Я бы не сказал, что настроить это прогу очень легко, но и не сложно. Думаю, разберется каждый (но если нет, то спрашивайте - попробую помочь :). Главное - проверить, работает ли хотя бы ваш приемник! Для этого нужно зайти в окошко конфигурации приемника, выбрать "DCD device", COM1 или COM2 - смотря к какому порту вы его подключили, и скорость поставить 1200 или 2400. Затем надо нажать на "Raw Codes" и потыкать кнопки на пульте.
Если в окошке появляются разные циферки - то значит всё нормально =)

Небольшая проблема заключается в том, что эта программа работает только как распознаватель. Чтобы по распознанным сигналам выполнялись какие-то действия, нужно поставить вторую программу, которая будет подключаться к WinLIRC'у.

В интернете довольно много таких программ. К сожалению, большинство из них платные. Назову несколько: uICE, PC Remote, Girder.
Меня, всё же, не устроила ни одна из программ. У каждой нашлись какие-то недостатки.
Поэтому я написал свою программку, которая умеет работать с WinLIRC'ом - HyperIR. Настраивать ее очень легко. Достаточно скопировать два файла - HyperIR.exe и HyperIR.ini - в папку WinLIRC'а, и запустить HyperIR.exe (WinLIRC при этом должен быть выключен, программа запустит его сама!).

Программа умеет:

После запуска программы достаточно правильно настроить WinLIRC, точнее, назвать кнопки нужным образом, т.е. присвоить им названия, которые понимает моя программа.
Итак, список команд, воспринимаемые моей программой (через черту " / " будут даваться различные действия программы в зависимости от режима аудио- или видеоплеера):

Название кнопки
Выполняемое программой действие
PLAY
начать проигрывание
STOP
остановить проигрывание
PAUSE
пауза
REW
предыдущий трек / видеофайл
FWD
следующий трек / видеофайл
B1
переключиться в режим Winamp
B2
переключиться в режим Media Player
B3
переключиться в режим BS Player и Light Alloy
VOL_UP
увеличить громкость на 1%
VOL_DOWN
уменьшить громкость на 1 %
VOL_UP_BIG
увеличить громкость на 10%
VOL_DOWN_BIG
уменьшить громкость на 10 %
MUTE
включить/выключить звук
CLOSE
закрыть текущее (активное) окно
SHOW
показать/скрыть winamp / fullscreen в видеоплеере
MONITOR
вкл./выкл. монитор
TRACK_UP
вперед на 5 сек / прокрутка вперед
TRACK_DOWN
назад на 5 сек / прокрутка назад
TIME показать на экране время и дату
POWEROFF выключить компьютер
OSD вкл./выкл. показ текста на экране

Итак, снова, уже вкратце, что нужно сделать (если вы решили использовать мою программу):

Всё! Теперь, если приемник, который вы спаяли (или купили ;) рабочий, то ваш компьютер должен начать весело откликаться на манипуляции с пультом! =) Можно смело запускать свой плеер и отправляться на ближайший (в радиусе 10ти метров ;-) диван смотреть фильмы.

Желаю удачи!

Club WM


Hosted by uCoz