Мне некогда оформлять все по красивому так, что буду все писать по-порядку. Своих статей у меня пока маловато, но это не значит, что я пишу все это дело от балды, я буду 
               вываливать чужие, думаю авторы этих статей не будут крошить на меня бублик. Разумеется, я буду указывать авторство.





                                                                                                                                                    * * *

                                           Самодельный пульт ДУ для компьютера


Сейчас трудно найти пользователя, у которого на винте не было хотя бы немного музыки в формате MP3. И, наверняка, слушая на досуге музыку, вы не раз вставали, чтобы переключиться на другую композицию или изменить громкость. А может даже задумывались, что было бы неплохо управлять всем этим обычным пультом ДУ. Оказывается, сделать пульт для своего компьютера не так уж и сложно. Устройство состоит из двух частей: инфракрасного приемника и собственно пульта (серийного). Так же для работы устройства понадобятся дрова, но о этом попозже.

Ингридиенты и теория


Для девайса нужно:
  Для принимающей части (ресивера) лучше всего использовать инфракрасный приемник на 38 кГц, так как большинство пультов пользуется именно этой частотой. Я использовал Siemens, потому что его легко найти. Также можно взять приемник на 36 или 40 кГц, но в этом случае может пострадать дальность приема и качество передаваемого сигнала (будут появляться многочисленные ошибки). Вот список аналогичных Сименсу приемников:
Vishay TSOP 1738
Vishay TSOP 1838
Vishay TSOP 11.. series
Siemens SFH 506
Siemens SFH 5110
Radio Shack 276-0137
Everlight IRM 8100-3-M
Mitsumi IR Preamp KEY-COOSV (0924G)
TOSHIBA TK19 444 TFMS 5360
TEMIC TFMS 5380
Everlight IRM-8601S
Sony SBX 1620-12
Sharp GP1U271R
Kodenshi PIC-12043S
Daewoo DHR-38 C 28

А теперь немного о устройстве ресивера. Теоритически (по документации) радиус действия приемника составляет 30 м, я думаю этого хватит для любой квартиры:). Идущий от пульта сигнал поступает на выход приемника как ‘Active Low’, поэтому если вы будете использовать приемник, не указанный в списке, то главное что бы он был на 5В и передавал сигналы как “A.L.”. Для питания устройства мы будем использовать RTS линию COM-порта. Что бы предотвратить попадание отрицательного напряжения из линии нужно поставить диод D1, а для обеспечения напряжения в 5В используем вольтрегулятор IC2.

 Если вы используете COM-порт на 25 штырьков то подсоединять устройство придется не к тем контактам, что используется в 9-ти пиновом. Вот маленькая табличка.

Линия RTS GND DCD
25-pin 4 7 8
9-pin 7 5 1
Назначение Питание Земля Сигнал


Сначала стоит попробовать, работоспособен ли ПДУ или нет (проверить работоспособность, конечно, можно только если продавец будет согласен на возврат денег или обмен на другой пульт, иначе придется покупать наугад). Чтобы проверить работоспособность ПДУ вам понадобится драйверок. Самый распространенный драйвер для ИК приемников – WinLIRC. Его можно найти по такому адресу — http://home.jtan.com/~jim/winlirc/ или http://winlirc.sourceforge.net/. Программа очень проста в использовании. Её лучше всего положить в «Автозагрузку», так как она нужна для работы приемника. Так же вам могут быть полезны следующие софтинки:
http://winlirc.sourceforge.net/gen_ir-0.3.zip — плагин для WinAmp 2.x
http://www.ramscan.com/irex/ — IREX, работает с WinLIRC как клиентская часть, очень простенькая и настраивается через текстовый файл.
http://www.irassistant.com/ — IRAssistant, программа для управления компом (не советую ее качать, есть и более достойные соперники).
http://gware.virtualave.net/ — uICE, еще одна прога выполняющая те же действия, что и предыдущая (Shareware).
ftp://62.61.2.11/BIN/girder3021.zip — Girder, по моему мнению, самая классная прога, к тому же Freeware.



© Vitos


                                                 * * *
После сборки пульта нужно настроить софт, ниже приведу отрывок статьи по этому поводу


                                                 * * *
Настройка Girder

Не подключайте ИК приемник к включенному компьютеру, это может привести к выходу COM-порта из строя


Располагаем ИК приемник в пределах прямой видимости. При настройке другие программы должны быть закрыты.
  • Запустите программу. В панели задач, возле часов, появится значок Girder, запустите его. На экране появится окно Girder
  • Нажмите файл(File)>настройки(Settings)>интерфейс(User Interface) и установите русский язык (Russian), OК. Нажмите файл>открыть, и откройте файл Z&S.gml. Нажмите файл>настройки(Settings) и укажите путь к файлу Z&S.gml, поставьте метки в 1,2,4,5 строках. Там же нажмите модули и укажите путь к папке Plugins, поставьте метку в строке (автоматически включать устройства ввода), нажмите OK. Перезагрузите компьютер. Зайдите в Модули, поставьте метки возле Keyboard и Igor SFH-56 device, выберите Igor SFH-56 device, нажмите Настройки и в строке COM port укажите COM-1 или COM-2, в строке Input Signal укажите DCD(для девайса спаяного по схеме на этом сайте). Нажмите F9, если в окне Girder (справа внизу) зеленый кружок, то Girder готов к работе. Установка завершена.
  • Теперь обучаем Girder кнопкам пульта ДУ. Для этого запускаем Girder, слева в окне будет четыре группы папок. Открываем, например папку «Система» там будет семь команд, и выбираем одну из команд, например Mute. Нажимаем “учить событие” затем нажимаем клавишу на пульте, теперь Girder запомнил клавишу. В строке «комментарии» можно написать название клавиши которое указано на пульте, на тот случай если забудете. Если поставить метку возле OSD будет включаться графика. Дальше выбираем ОС, там выбираем Звук Вкл/Выкл, нажимаем громкость выбираем Volume Control потом Mastercontrols потом Master Mute нажимаем применить, OK. Теперь нажав на заданную кнопку на пульте Вы будите включать и выключать звук. Нажмите 2 раза на команду Mute, появится событие, выбрав его Вы сможете установить Антиповтор, для того чтобы клавиша не срабатывала много раз если это требуется. Аналогично обучаются другие клавиши.
  • Создаем новую команду, выбираем Окно, здесь Вы можете настроить пульт управлять окнами (развернуть, свернуть, закрыть и т.д.) Выбираем ОС в ней Выполнить, нажимаем обзор и выбираем программу которую будим запускать с помощью пульта, выбираем файл EXE , открыть, применить. Выбираем Команда в ней Команда и настраиваем например Winamp. Для этого запускаем Winamp, если настраиваем Play, то выбираем команду Play дальше нажимаем Захватить. Появляется окно Захват системных сообщений, нажимаем Начать захват, на Winampe нажимаем Play, а в Girder Остановить захват. В окне Захват появится команда Winampa Play, которую можно проверить выбрав эту команду и нажав Проверить. Потом нажимаете Применить, OK. Теперь кнопка на пульте будит выполнять команду Play. Если Вы настроили Видео проигрыватель, а он управляет только одним фильмом, то нужно выбрать команду, нажать Задача и убрать метку в строке Имя, применить ,OK. Выбрав Girder можно настроить команды программы Girder. Выбрав Мышь настраиваем команды управления мышью. Выбрав Клавиатура настраиваем управление клавиатурой. В Строке указываем клавишу. Также Вы можете запускать программы используя клавиши клавиатуры, для этого после Учить событие нажимаете клавишу на клавиатуре.


  •                        
                                                                                                                                                            
    * * *

    Girder =Установка и общие настройки=

    Сейчас мы рассмотрим, как установить и настроить Girder 3.2.9 в Windows XP для работы с ИК-Приёмником DenA.

    Хочу сразу предупредить, что для ИК-Приёмников, приобретённых на других сайтах или собранных самостоятельно, всё нижеописанное может не cooтветствовать.
    Все нужные файлы Вы можете скачать на нашем сайте http://winlirc.narod.ru/

    В ходе установки лучше все настройки оставить по умолчанию.

    Далее нужно заставить Girder работать с ИК-Приёмником DenA. Для этого копируем файл IgorPlug.dll в папку Plugins в каталоге с установленной программой. Также скопируем туда XP_OSD.dll


    Запускаем Girder,



    Заходим в настройки:


    На вкладке "Интерфейс" выбираем русский язык.

    На вкладке "Общие" проделываем следующие действия:
    1. Ставим галочку "запускать вместе с Windows",
    2. Ставим галочку "Не посылать команды, когда окно Girder на переднем плане",
    3. Ставим галочку "Прятать при загрузке",
    4. Нажимаем на кнопку "Регистрировать тип файла".

    5. Ставим галочку на Автозагрузке и указываем путь к Вашему файлу конфигурации. Он будет создан после того, как Вы попытаетесь закрыть главное окно Girder: Вам будет предложено сохранить настройки, что Вы и сделаете, указав путь и имя файла для сохранения.

    На вкладке "Модули" проделываем следующие действия:


     Активируем плагин Igor SFH-56 device и настраиваем его: выбираем номер com-порта, к которому подключен ИК-Приёмник DenA, в меню "Input Signal" выбираем DCD и давим OK.


    * * *

    Как настроить настроить WinLIRC?

    Итак, вы спаяли устройство, о котором , собрались с духом и подключили к COM-порту. Теперь аппаратная часть работы закончена, осталась только программная. Никаких драйверов не надо, нужна только программа, которая будет принимать и распознавать сигналы, идущие от COM-порта. Для этого надо скачать программу WinLIRC 0.6.4 (37 кб). Распакуйте файл winlirc.exe в какую-нибудь папку (например в C:\Program Files\WinLIRC\) и запустите его. Установить WinLIRC просто, сложнее его настроить.

    WinLIRC работает по IP-протоколу. Поэтому с помощью одного ПДУ и одного приемника управлять хоть сотней компьютеров. Программы, которые работают с WinLIRC подключаются через 8765 порт. Сигналы, посылаемые WinLIRC другим программам чрезвычайно малы - от 20 до 30 байт.

    Империческим путем установлено, что распознавание сигналов, идущих от приемника, гораздо лучше работает на Windows 2000, XP (т.е. NT-платформах), чем на Windows 9x и ME. Вероятно, это связано с разным механизмом работы COM-портов и с разным алгоритмом распределения вычислительных способностей компьютера. Для примера - эффективность распознавания на Windows 98 составляла около 40-50 %, при идеальных условиях (минимальное расстояние от ПДУ до приемника, новые батарейки в ПДУ и т.д.), на Windows XP этот показатель стремился с 100 % при любых условиях.

    Для начала проверьте, существует ли файл конфигурации для вашего пульта. Для этого идем на http://lirc.sourceforge.net/remotes/. Ищем там свой пульт. Если не удалось найти точно вашей модели, скачайте несколько конфигураций для сходных по наименованию моделей пультов. Очень возможно, что вам повезет.

    WinLIRC сидит в трее. Дважды щелкните по значку WinLIRC в трее и нажмите кнопку "Reconfigure".

    Укажите порт, на который вы подключили приемник (COM1, COM2 и т.д.). Для схемы, которая указана у меня на сайте, опция "Receiver type" должна быть "DCD". "Speed" - "115200" (по умолчанию) "Sense" - "autodetect" (по умолчанию).

    Для начала проверим, работает ли собранный вами девайс. Для этого нажмите кнопку "Raw Codes" и пощелкайте в приемник кнопкой пульта. Побежали надписи с цифрами? Тогда все работает! Если не побежали, тогда у вас что-то не так. Может быть вы что-то перегрели, не так спаяли, может быть отошел контакт... Короче, проверьте правильность собранного вами приемника.

    Я надеюсь, цифры у вас побежали? Тогда нажмите кнопку "Browse..." выбирайте файл конфигурации вашего пульта. Жмите "OK", затем "Hide window". Теперь все готово. Следующие несколько абзацев не для вас, но прочитать их все же стоит.

    Если готовый файл конфигурации найти не удалось, придется обучить программу своему пульту самостоятельно. Делаем вот что:

    1. В строке "Config" пишете "my_tv_remote.cf" (это для примера, в идеале укажите модель своего пульта, например "vm201.cf"). В этот файл конфигурации будет записываться настройка вашей дистанционки.

    .2. Нажимаете кнопку "Learn". Появится сообщение:

    This will record the signals from your remote control and create a config file for WinLIRC.
    Please enter a name for this remote.

    Это WinLIRC спрашивает название вашего пульта. Указывайте все данные в программе цифрами или латинскими буквами без пробелов.

    3.

    When learning and analyzing signals, a margin of error is used in order to handle the normal variations in the received signal. The margin of error ranges from 1% to 99%. The default is 25%, but larger values might be necessary depending on your hardware and software. If you are having trouble using your remote, try increasing this value. You may enter the allowable margin of error now, or press ENTER to use the default.
    Desired margin of error for this remote? (1-99, enter=25)

    Пока для вас это не интересно - нажмите "Enter". Это нас спрашивают про допустимый уровень ошибок.

    4.

    Step One: Determine signal gap, signal length, and repeat codes.
    --------------------------------------------------------
    You will be asked to press an arbitrary button a number of times. Please hold it in for at least one second each time, and wait at least one second between keypresses.
    If you want to manually enter a signal gap and signal length, you may do so now (ie, "31000 52"). Otherwise, just hit ENTER. Gap and length?

    Нажмите "Enter", не парьтесь. 8)

    5.

    Press a button.

    Нажмите и отпустите любую кнопку на пульте.

    Please wait a second and press it again.

    Через секунду и нажмите и отпустите её опять. Появится строчка

    Baseline initialized.

    Теперь нажимаем эту же кнопку десять раз, в скобках указано сколько раз осталось.

    Please wait a second and press a button again (10 left)
    Please wait a second and press a button again (9 left)
    Please wait a second and press a button again (8 left)
    Press a button.

    6. В итоге появится такая надпись:

    This is a signal-repeating remote with no special repeat code.
    Holding down the button can quickly yield many copies of that button's code. Therefore, 64 samples of each button will be taken. You will be prompted to enter each button's name in turn. To finish recording buttons, enter a blank button name.

    7. Теперь надо обучить WinLIRC всем кнопкам дистанционке. Делается это так - вас спрашивают

    Button 1 name?

    (имя первой кнопки)? Пишете название. Как я уже говорил, пишете цифрами или латинскими буквами без пробелов, лучше заглавными буквами. Указывайте то слово или цифру, которые есть на пульте. Например: "1", "STOP", "REW", "CH+", "VOL-", "MUTE" и т.д. и т.п.. После этого жмете на кнопку в течение нескольких секунд. В окошке будут бежать цифры, примерно вот так:

    Baseline initialized.
    matches=64, faults=19

    Жмите, пока matches не дойдёт до 64. Чем меньше будет faults (ошибок), тем лучше, разумеется.

    8. WinLIRC вас спросит имя второй кнопки - пишем имя второй кнопки. И так работаем пока не закончатся все кнопки на пульте. Когда кнопки закончатся, не вводя название, нажмите "Enter". Появится сообщение "Configuration written successfully, don't forget to analyze".

    9. Жмете кнопку "Analyze", на что получаете "analysis successfully". Теперь все готово. Нажимаете "OK", затем "Hide window".

    Настройка WinLIRC закончена, теперь надо настроить программы, которые будут управляться с помощью WinLIRC. На http://lirc.sourceforge.net/ есть список программ, которые поддерживают WinLIRC. А вот здесь можно взять плагин для Winamp (62 кб), который позволяет управлять этим плеером с дивана.

    Удачи,
     Дмитрий Семенов
     [aka Civilian]


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




                           All right reserved. Все права принадлежат Agai Studio.


    Hosted by uCoz