Универсальный ИК приемник с функцией горячего програмированния
Итак господа - довоял я тут ик приемник себе, и решил сделать статью в моем любимом стиле . Стиль называется сам собрал и другим показал . При всем при этом необходимо что бы я лет через 5 , по данной статье , смог собрать этот приемник без как либо сложностей.
Итак статья для чайников типа меня:
Универсальный ИК приемник с функцией горячего програмированния на базе pic12f675.
Тип подключения: автономный , com , usb - опционально через переходник на pl2303 или сp2102
Позиционирование: Авто-компьютеры , медиацентры , устройства освещения
Горячее программирование: Присутствует
Поддержка пультов: 95% современных пультов
Аналоги: UIR , RedRay , Irman
Софт: SlyControl , Girder , Lirc
Максимальная длина кабеля: 10 метров
Размеры: 25мм X 35мм
http://img1.liveinternet.ru/images/f...f_19421326.jpg
http://img1.liveinternet.ru/images/f...f_19421451.jpg
http://img1.liveinternet.ru/images/f...f_19421450.jpg
Данный приемник аналогичен UIR ( Он же RedRay , он же Irman ) , но отличается лучшем распознованием различных пультов .
Могу предположить что мой приемник будет поддерживать если не 100% , то хотябы 95 % процентов пультов . По крайне мере мне не удалось найти дома пульты с которыми возникали какие либо проблемы . Вобщем по сравнению с калическим DCD это небо и земля. Ну да ладно , к чему ето я .
Для сборки полной конструкции , так сказать , нам понадобится следующее :
1) Непосредственно автомобильный пульт в данной концепции , или любой другой пульт для управления HTPC или освещением:
Мой выбор изначально пал на пульт jvc , а затем на пионеровский пульт. Объездив кучу магазинов Техносила и Мвидео я был очень сильно удивлен - в каталогах они есть , а по факту нет . В двух магазинах мне пытались втюхать последние раздолбанные пульты с поломанными ремешками . После этого я перестал искать пульты в обычных магазинах и полез по интернет магазинам. В итоге мне повезло - в одном интернет магазине я заказал нужную мне позицию и на следующий день получил ее. На поиски пульта ушло 3 недели и вот он оказался у меня в руках - это Pioneer CD-SR100 . По деньгам , вместе с доставкой он вышел мне в 1200 рублей . Дорого конечно , но дешевле не нашел .
Итак пульт:
http://img1.liveinternet.ru/images/f...f_19421424.jpg
Очень эргономичный , отлично выглядит , есть весь необходимый мне функционал .
2) Радиодетали :
http://img1.liveinternet.ru/images/f...f_19425022.jpg
http://img1.liveinternet.ru/images/f...f_19425029.jpg
01) Стеклотекстолит фольгированный - 1шт
02) Разъем на 8 pin папа - CWF-8 вилка на плату 2.50мм -1шт
03) Разъем на 8 pin мама - OHU-8 розетка 2.50мм - 1шт
04) Микропереключатель TC-0108 (TS-A4PS-130) - 1шт
05) Микроконтроллер PIC12F675-I/P DIP8 - 1шт - Описание тут
06) Панель Dip 8 - SCS- 8 DIP панель 8 - 1шт
07) Ик приемник TSOP1736 - 1шт - Описание тут
08) Резистор 100 ком 0.25 w - 1шт
09) Резистор 200 ом 0.25 w -2шт
10) Резистор 500 ом 0.25 w - 1шт
11) Резистор 1 ком 0.25 w -1шт
12) Транзистор BC547B TO92 - 1шт - Описание тут
13) Электролит 4.7 mkf 16v -1шт
14) Стабилитрон на 5 вольт - 1N4733A, стабилитрон 5.1В - 1шт
15) Хлористое железо или фоторезист.
3) Расположение элементов устройства и печатная плата.
http://img1.liveinternet.ru/images/f...f_19425054.jpg
Скачать печатную плату под ЛУТ технологию в формате Sprint Layout 5
4) Прошивка для микроконтроллера.
Скачать можно тут ...........
5) Принципиальная электрическая схема.
http://img1.liveinternet.ru/images/f...f_19425205.jpg
Схема как видите очень простая , главным устройством тут является микроконтроллер pic12f675 - он переводит RC5 в стандартый RS232 . Тут надо сделать несколько пояснений . Я сделал универсальный семпл , в котором в зависимости
от вариантов подключений коммутируются разные выводы:
Начнем со способов автономного включения компьютера , при необходимости этой функции.
01) Стандартный ps-on - подцепляемся к кнопке включения , тут я думаю вопросов возникнуть не должно .
Питание берем со standby блока по usb или с разъема питания. Программируем пульт по режиму 1 .
02) Подключаемся через разъем Wake on Lan ( Функцию надо активировать в bios ) - GND , WOL , +5v .
Питание берем со standby блока по usb , или с разъема питания , или из разъема WOL .
WOL подключаем к PME. Программируем пульт по режиму 1 .
http://img1.liveinternet.ru/images/f...f_19425288.gif
Cпособ комутации с компьютером и автономный режим.
01) Стандартный COM - Подключаем GND , RXD , TXD и RTS для питания устройства.
02) USB ( Через переходник Usb to com )- GND , RXD , TXD, +5 вольт - с переходника .
Опять же сделаю сноску - если вы подключаете приемник с помощью переходника на pl2303 то все по даташиту , ни каких лишних движений делать не надо . Если конструкция на базе cp2102 или cp2103 , то в случае использования вами usb gps приемника ( А он у вас наверника стоит ) необходимо сменить id чипа , так как большинство распространеных переходников и конверторов в устройствах сделано именно на этом чипе ( По моему опыту ) . Делается это с помощью програмки СP210X Set IDS - ее свободно можно найти в интернете.
03) Автономный режим - +5v c любого блока питания , земля общая , WOL через силовой транзистор или симистр на нагрузку ( А это вам домашнее задание ) . Пульт надо запрограммировать по режиму 2 или 3.
Итак переходим к описанию режима программирования и сборки.
Прогаммирование ик приемника на пульт:
Режим 1)
Замкнув и удерживая кнопку программирования на ик приемнике , нажимаем понравившуюся кнопку пульта, затем отпускаем обе кнопки и все. После этого при нажатии той самой кнопки пульта на разъем WOL и PSON с выхода контроллера будет приходить импульс, который и должен включить компьютер.
Режим 2)
Если при программировании два раза нажать на кнопку пульта, то потом эта кнопка будет поочередно при каждом нажатии переключать управляющий выход (тот, который WOL) в противоположное состояние (из 0 в 1, а из 1 в 0).
Режим 3)
Если нажать на 2 разные кнопки, то первая будет переключать управляющий выход в 1, а вторая в 0.
В этих случаях можно нажимать кнопки сколько угодно раз, но запомнятся только две последних.
Если просто нажать кнопку программирования, то "настройки на пульт" сотрутся.
Процесс сборки:
1) Покупаем или находим пульт
2) Покупаем детали и все необходимое
3) Делаем плату по лазерно утюжной технологии - Описание например тут
4) Все детали ( Кроме микроконтроллера) ставим на свои места и паяем.
5) Коммутируем провода и разъмы.
6) Прошиваем микроконтроллер:
Для прошивки нам потребуется любой JDM совместимый программатор - Смотреть тут
Также нам понадобится сама программа для прошивки - я использую WinPIC800 .
http://www.winpic800.com//img.gif
Качать нужно с сайта производителя - Скачать
Последовательность действий простая:
а) Устанавливаем WinPic
б) В настройках выбираем JDM Programmer и выставляем нужный com порт.
в) Выбираем наш pic
г) Нажимаем открыть файл и выбираем нужную нам прошивку.
д) Нажимаем на кнопку прошивка и немного ждем.
е) Перетыкаем pic из программатора в ик приемник.
Всё ,теперь наш приемник готов.
Re: Универсальный ИК приемник с функцией горячего програмированния
Итак приемник собрали и все проверили . ок.
Теперь приступим к софту . Не буду вас разочеровывать , так как большинсво программ для ик приемников платные .
Из всего испробованого софта мне очень понравился Sly control , но он также оказался уловно-бесплатным . Необходимо каждый месяц вводить название месяца , что не есть удобно . После некоторых поисков я нашел тот же slycontrol , только бесплатный - Это Slycontrol RedRay Edition . Минус данной версии только один - это поддержка меньшего количества оборудования , да оно нам собственно и не надо.
Взять можно тут http://www.redray.ru/shell/soft/slycontrol/oem/slycontrolror.zip
Итак приступим к настройке.
Настройка пульта в "SlyControl RedRay Edition" для работы в Centrafuse 2,3.
Выбираем RedRay Pro (COM)
http://img1.liveinternet.ru/images/f...f_19427583.jpg
Настраиваем кнопки согласно скриншоту и нажимаем на кнопку "Закрыть".
Кнопка Audio названа AUD во избежание конфликта с другими частями скриптов.
http://img1.liveinternet.ru/images/f...f_19427584.jpg
Снимаем галку "Открывать при запуске".
http://img1.liveinternet.ru/images/f...f_19427585.jpg
Нажимаем кнопку "Применить"
http://img1.liveinternet.ru/images/f...f_19427586.jpg
Опять "Применить"
http://img1.liveinternet.ru/images/f...f_19427587.jpg
В этом окне снимаем все галки со скриптов и нажимаем на кнопку "Применить"
http://img1.liveinternet.ru/images/f...f_19427588.jpg
Тут все оставляем по умолчанию и опять "Применить".
http://img1.liveinternet.ru/images/f...f_19427589.jpg
В этом окне снимаем все галки , и снова "Применить".
http://img1.liveinternet.ru/images/f...f_19427590.jpg
Теперь Slycontrol запускается и уже можно пользоваться регулировкой звука , кнопкой Mute , листать папки и нажимать enter.
http://img1.liveinternet.ru/images/f...f_19427591.jpg
Теперь чтобы убрать всплывающее меню slycontrol , которое будет мешаться в нашей оболочке ,необходимо сделать следующее - Открыть Модули -> OSD -> Настройка модуля
http://img1.liveinternet.ru/images/f...f_19427592.jpg
Необходимо снять галки "Transparent Background" и "Enabled" , затем нажать на Close.
http://img1.liveinternet.ru/images/f...f_19427593.jpg
После этого нам остается только прописать 3 кнопки - кнопка FUNC , SRC , AUD.
Они будут работать в режиме эмуляции клавиатуры . Вобщем заходим в настройки горячих клавиш Centrafuse и смотрим там все сочетания клавиш.
У меня получилось так :
SRC - Изменение подсветки -> Ctrl+ALT+D
FUNC - Трэк назад -> ALT+2
AUD - Трэк вперед -> ALT+3
Для того чтобы прописать клавиши нужно зайти в Script -> key_mouse.scs
http://img1.liveinternet.ru/images/f...f_19427594.jpg
Найти там следующие строки.
http://img1.liveinternet.ru/images/f...f_19427595.jpg
Нажать перед блоком Mouse Enter , на что Slycontrol предложит остановиться.
Нажать на "ДА"
http://img1.liveinternet.ru/images/f...f_19427596.jpg
Добавить следующие строки:
FUNC = Hook( "REMOTE", "FUNC", Enabled, Break ){
Break( FUNC <> 0 )
Keyboard( "PRESS", "ALT+2" )
}
AUD = Hook( "REMOTE", "AUD", Enabled, Break ){
Break( AUD <> 0 )
Keyboard( "PRESS", "ALT+3" )
}
SRC = Hook( "REMOTE", "SRC", Enabled, Break ){
Break( SRC <> 0 )
Keyboard( "PRESS", "Ctrl+ALT+D" )
}
http://img1.liveinternet.ru/images/f...f_19427597.jpg
Нажать на кнопку запустить , после чего slycontrol предложит сохранить данные .
Согласиться с ним.
http://img1.liveinternet.ru/images/f...f_19427598.jpg
Теперь заходим в Настройки и снимаем галку "Показывать уведомления в трее"
http://img1.liveinternet.ru/images/f...f_19427599.jpg
Вуаля , теперь все готово.
На всякий случай я выкладываю предварительно настроенную программу SlyControl .
Ее необходимо скопировать в C:\Program Files
Забирать тут ...
Желаю вам удачи господа , будут вопросы задавайте.
Re: Универсальный ИК приемник с функцией горячего програмированния
Спасибо за проделанный труд. Сделал "почти" по схеме. Не делал кнопку включения. Убрал из схемы: транзистор, резисторы - 500 ом, 200 ом Х 2 шт., ну и саму кнопку. Стабилитрон оставил (я в электронике не очень силен) возможно он и не нужен...
Заработало с "пол-пинка". Команды распознаёт четко! Осталось проверить его в машине.
Еще раз спасибо за проект.
Re: Универсальный ИК приемник с функцией горячего програмированния
Вопрос не совсем в тему, возможно ли данное устройство дополнить функцией запоминания например 10 команд ДУ с последующей передачей
по ик каналу по нажатию на соответствующею кнопку ( типа обучаемый универсальный пульт)?
Re: Универсальный ИК приемник с функцией горячего програмированния
А зачем десять команд ? Ты релюшками управлять что ли хочешь ?
Re: Универсальный ИК приемник с функцией горячего програмированния
Бывает необходимость в использовании кнопок на руле совместно с не штатной магнитолой(особенно к китайцам трудно найти второй пульт), вот берем пульт от магнитолы прошиваем универсальный пульт, который подключаем к кнопкам руля (10 - как максимальное кол-во), и пультом можно пользоваться, и кнопки на руле действуют.