PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка устройств (http://pccar.ru/forumdisplay.php?f=18)
-   -   Универсальный ИК приемник с функцией горячего програмированния (http://pccar.ru/showthread.php?t=11757)

nrubanov 31.03.2010 00:31

Универсальный ИК приемник с функцией горячего програмированния
 
Итак господа - довоял я тут ик приемник себе, и решил сделать статью в моем любимом стиле . Стиль называется сам собрал и другим показал . При всем при этом необходимо что бы я лет через 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 из программатора в ик приемник.

Всё ,теперь наш приемник готов.

nrubanov 31.03.2010 00:32

Итак приемник собрали и все проверили . ок.
Теперь приступим к софту . Не буду вас разочеровывать , так как большинсво программ для ик приемников платные .
Из всего испробованого софта мне очень понравился 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

Забирать тут ...

Желаю вам удачи господа , будут вопросы задавайте.

nrubanov 02.04.2010 03:00

Описание доделал . Жду ваших комментариев.

Diagnose 02.04.2010 03:18

Как всегда - красава!:sm530:
Интересно, а под RR получится встроить?:blush:
Я пока в раздумьях, ваять что-то такое или на ардуинке?

nrubanov 02.04.2010 10:44

Я думаю что получится . Посмотри сочетания горячих клавиш в Road Runner .
А я тебе скриптец набрасаю.
Можно так сделать , а можно и на arduino - тут гдето chip описание выкладывал . Главное не забудь поставить конденсатор на 4.7 мкф , рядом с ИК приемником , а то работать не стабильно будет.

Alex-NN 04.04.2010 13:54

Классно получилось!!! Было бы для USB, можно бы повторить. На Ардуине пробывал, тоже хорошо работает. Не знаю только, что надежнее, делать несколько функций на Ардуине или разделить на несколько девайсов.

AVP87 04.04.2010 14:06

Цитата:

Сообщение от Alex-NN (Сообщение 136992)
Классно получилось!!! Было бы для USB, можно бы повторить. На Ардуине пробывал, тоже хорошо работает. Не знаю только, что надежнее, делать несколько функций на Ардуине или разделить на несколько девайсов.

на надежность многофункциональность не зависит ( ну или мало зависит), а вот глючиность зависит от ПО.

sdyz 23.04.2010 16:04

Помогите пожалуйста.
Я хочу настроить пульт на запуск приложения с кнопки. Что мне нужно написать/создать/редактировать в скрипте и самое главное в каком?
Приложение Garmin mobile PC (D:\GarminMobilePC\Que.exe). Допустим при нажатии кнопки со значением "TV" чтобы запускался/активировалось окно с навигацией.
Заранее благодарен.

Saer 23.04.2010 16:22

зачет, молодец конечно! но вопрос, зачем ? плюс вижу только в возможности включать комп (а нужно ли???) а по-сути тот же LIRC функционал... был бы востребован, если бы USB (как написано вверху опционально USB через pl2303) если через кособокий шнурок, нужно еще max213 или max232 ставить, или на ла7 и транзисторах делать инвертор уровней... не айс... скрипты под Слай можно вроде везде писать, помню под aimp писал... посмотри в сторону IgorPlug-USB переход на тиню с 90с тут вроде нашли уже давно _http://electronix.ru/forum/index.php?showtopic=21892

demmax2004 24.04.2010 07:49

Цитата:

плюс вижу только в возможности включать комп (а нужно ли???)
Да только если емеется доисторическая материнка с разъемом WOL, на матерях этот разъем уже как лет 5 не ставят.


Часовой пояс GMT +4, время: 22:00.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot