Как сделать ик порт usb
В этой статье мы расскажем Вам о способах реализации ИК-порта (инфракрасного порта) на настольном компьютере. Почему именно на настольном, спросите вы? Подавляющее большинство мобильных компьютеров уже имеют такое устройство в своем корпусе. Поэтому, я предлагаю ограничиться исключительно простым настольным компьютером. Задача по подключению к нему внешнего ИК-порта порта имеет множество решений, и все они перекрывают возможные решения для ноутбуков, в которые производитель так и не установил, так необходимый для Вас, инфракрасный порт.
Для чего нужен ИК-порт? Такое устройство позволяет без применения проводов создать устойчивое соединение между компьютером и другими устройствами (оборудованными ИК-портами). Например, это может быть сканер или принтер. Хотя сейчас большинство пользователей приобретает такое устройство для связи настольного компьютера с карманным компьютером или, что бывает значительно чаще, сотовым телефоном. Последние два устройства имеют достаточно примитивную систему ввода и, безусловно, ее расширение увеличивает комфорт работы с информацией.
Мобильный телефон стал не только атрибутом "новых русских", но и нормальным и вполне доступным устройством для большинства пользователей компьютеров. ИК-порт, которым оснащены многие модели телефонов, позволяет редактировать содержимое записной книжки аппарата через обыкновенный компьютер. Можно без особых проблем сменить логотип на дисплее или поставить мелодию вызова. Достаточно интересная функция, которая появляется у владельца мобильного аппарата, это сетевой мониторинг, который даст самую исчерпывающую информацию по сети. Не могу не сказать о такой услуге практически всех сотовых операторов, как мобильный Интернет. В этом случае, вы можете выходить во всемирную сеть через ваш мобильный телефон. Другими словами, вы становитесь пользователями Интернет в любой точке, где работает необходимый Вам оператор. Это достаточно дорого, но альтернатив решения этой проблемы в некоторых случаях нет.
Предлагаю Вам поподробнее познакомиться с этим замечательным устройством.
Типы ИК-портов.
Начнем с фотографии, на ней изображен внутренний ИК-порт IR210L. В продаже можно достаточно легко приобрести ИК-порты двух типов (по подключению): на стандартный 9-пинный разъем Com или на IRDA разъем материнской платы. Устройства первого типа являются универсальными. Другими словами, если вы купите такой ИК-приемопередатчик, то он без всяких осложнений встанет на ваш компьютер. Если же вам приглянулся ИК-порт, который подсоединяется к материнскому разъему IRDA, то могут возникнуть проблемы. Внимательно читайте инструкцию и консультируйтесь с продавцом. Например, ИК-порт компании ASUS работает только на материнской плате этого же производителя. Очень удобные ИК-порты делает одна из китайских компаний (на полиэтиленовом пакетике нет названия фирмы изготовителя). Коннектор для подключения к IRDA выполнен по схеме "собери меня сам". С одной стороны, ему явно не хватает механической прочности, и вставить его в разъем материнской платы очень сложно. Но с другой стороны, вы можете с легкостью, не прибегая к помощи паяльнику и пинцета, собрать нужный коннектор, тем самым обеспечить необходимую "пинную" совместимость. Такая гибкость решения делает его очень привлекательным для покупки. Хотя качество китайских ИК-портов. Давайте не будем о плохом, в дальнейшем мы поговорим о характеристиках подобных устройств.
По непроверенным слухам в магазинах можно приобрести ИК-порты, имеющие USB интерфейс. Не буду врать, сам таких ни разу не видел. Сделать такой никаких проблем не составляет. Попробуйте поискать, может быть вам повезет.
Рабочие условия.
Устройства ИК-связи нельзя назвать очень капризными, но все же нужно немного рассказать об условиях их эксплуатации. Прежде всего, стоит знать, что длина волны работы ИК-портов лежит в диапазоне от 850 до 900 нм. Чаще всего это значение равно 880 нм. Так что организовать сильные помехи дело достаточно простое.
Начну с примеров:
1. Окна моей квартиры, находящийся на пятом этаже, выходят на западную сторону. Ближе к вечеру ИК-приемник/передатчик перестал видеть сотовый телефон, оборудованный подобной системой. Эта связка находилась на столе и не была ничем прикрыта. Причина помех была найдена без особых проблем. Яркое весеннее солнышко стало виной всему. При работе с ИК-устройств остерегайтесь прямых солнечных лучей.
2. Вечером я включил лампу дневного света и ситуация повторилась. Однако, стоит заметить, что связь все же была, но очень часто обрывалась. Лампа дневного света должна быть прикрыта или выключена во время работы ИК-устройств.
Рабочее расстояние между двумя ИК-устройствами не должно превышать одного метра. В противном случае система будет работать нестабильно. Диаграмма направленности работы ИК-порта, которая указана в инструкции к нему, мягко говоря, не выдерживает никакой критики. Старайтесь разместить устройства прямо напротив друга. Посторонние предметы, помещенные между ИК-портом и рабочим устройством, не будут способствовать лучшей работе.
Несколько раз сталкивался с проблемой, когда сотовый телефон в чехле пытались подключить через инфраред к компьютеру. У ребят ничего не получалось, пока не снимали полупрозрачный чехол. Многие из них удивлялись почему? Ведь телефон работает.. :)
Подключение.
Подключить ИК-порт к персональному компьютеру достаточно просто. Но в любом случае я рекомендую потратить десять минут на внимательное изучение инструкции к устройству. Даже если вы ничего нового не узнаете из нее, во время инсталляции будете чувствовать себя уверенно.
Аппаратная часть:
При подключении ИК-порта к COM порту просто возьмите и воткните стандартный разъем в коннектор. Будьте внимательны: запомните номер COM порта - это пригодиться вам в дальнейшем.
При подключении ИК-порта к IRDA разъему материнской платы раскрутите корпус Вашего системного блока и, ознакомившись с описанием вашей материнской платы, вставьте в нужное гнездо коннектор (четырех пинная линейка). Первый провод помечен на плате цифрой "1" или указан в описании материнской платы. Первый провод коннектора ИК-порта имеет цветовую метку. Выведите заднюю заглушку на свободное место и можете собирать корпус. Подсоедините коннектор гибкого провода с ИК-приемником/передатчиком к новой скобке. Гнездо и коннектор очень похожи на PS/2 разъем.
Программная часть:
Я опишу программное подключение для операционной системы Windows98. Для остальных операционных систем от Microsoft оно аналогичное. Подключать ИК-порт к компьютерам с другими операционными системами, судя по всему, возможно (по крайней мере, я не вижу ограничений к этому), но в описании ИК-порта сказано: "Предназначен для работы с операционными системами Windows95 и выше". Поэкспериментируйте, может быть у вас все получиться.
При установке ИК-порта на COM вас ждет счастливое плавание. В поставке к устройству идет CD диск, установить драйвера с которого не составляет никаких проблем. Отмечу одно: правильно установите номер порта, к которому подключен ИК-порт. Посмотрите, не занят ли COM порт другим устройством, например, внутренним модемом.
При установке внутреннего ИК-порта стоит сделать несколько больше манипуляций руками. Прежде всего, войдите в BIOS и включите второй COM порт. Как правило, ниже находится опция по включению IRDA. Активизируйте ее. Далее установите полудуплексную связь. Если ваш BIOS содержит другие настройки, то поставьте их в режим "по умолчанию". Будут проблемы - читайте инструкцию и экспериментируйте с настройками. Вреда или физической порчи вашему компьютеру вы не сможете принести.
Загрузите операционную систему. Если вы сделали все правильно, то новое устройство само будет обнаружено системой. Далее Вам предложат выбрать тип устройства. Для надежности сделайте это вручную. Выберите "ИК УСТРОЙСТВА", а затем стандартный тип устройства. Установите виртуальный порт и запомните его номер. Он будет нужен вам для конфигурирования большинства программ. Меню "Свойства: Система" обретет еще один пункт - "Устройства ИК-связи".
Перегрузите машину. После этого в правом нижнем углу появиться значок в виде подмигивающей лампочки. Открыв его, вы увидите свойства ИК-связи.
Среди всех настроек я бы выделил только "Режимы". Здесь вы сможете включить ИК-связь и установить время, через которое ИК-порт будет искать своих друзей в прямой зоне видимости. Параметр "Ограничение скорости обмена до:" можно отключить. Вот при каких настройках мой ИК-порт прекрасно работает:
Теперь, если поместите в зону видимости вашего ИК-порта другое активизированное ИК-устройство, то услышите звук и увидите на экране такую табличку:
Все, ваш ИК-порт полностью настроен, теперь вы можете пользоваться им. Предлагаю Вам посмотреть на самое модное и популярное применение устройства ИК-порт в связке с мобильным телефоном - Мобильный интернет.
Мобильный интернет.
Большинство операторов сотовой сети, работающих в стандарте GSM 900/1800, предлагают такую услугу как "Мобильный интернет". Что это такое? При помощи сотового телефона, оборудованного ИК-приемником/передатчиком и модемом (таких телефонов достаточно много, например, SIEMENS 25/35, Nokia 6250 и другие), вы можете входить во всемирную паутину и пользоваться ей как при обыкновенном dial-up. Плюсы подобного входа в сеть очевидны. Прежде всего, вы отвязываете себя от надоевших телефонных проводов и становитесь мобильным (если вы используете ноутбук). Но сеть через мобильник имеет свои минусы. Рекомендую заранее узнать, во сколько, в денежном эквиваленте, выльется вам такое развлечение. Например, в Санкт-Петербурге абоненты NWGSM платят 6 центов за минуту или около 100 рублей в час. Дорого. Но если вы нуждаетесь в этом, то что делать? Второй минус заключается в скорости мобильного интернета. Она составляет 9600 и не битом больше. Правда, эти 9600 стабильные.
Настройка мобильного интернета не занимает много времени. Опишу порядок ваших действий. Убедитесь, что ваш сотовый телефон оборудован ИК-портом и модемом. Включите на мобильнике ИК-порт. После этого поместите его в зону действия подключенного к компьютеру ИК-порта (около 1 м).
Теперь надо настроить работу встроенного в телефон модема. Для это необходимо войти в меню "Настройка", далее "Модем" и вручную установить "стандартный модем 19200" (если у вас есть специальный драйвер, для вашего сотового модема, то поставьте его). При инсталляции не забудьте указать правильный виртуальный порт, который был создан при подключении ИК-порта к вашему компьютеру. Все, настройка модема закончена. Перегрузите систему.
Для установки соединения нужно создать обыкновенное "Новое соединение" (параметры для него вы можете узнать у вашего сотового оператора). Интернет через сотовый телефон в вашем распоряжении.
Мобильный интернет - это достаточно важное и интересное дополнение к вашему компьютеру. Но это еще не все. С помощью ИК-связи вы можете заливать в телефон новые логотипы и мелодии вызова. Благо и тех и других сейчас очень много на специализированных сайтах. Очень интересная возможность - мониторинг сети. Некоторые телефоны с помощью специального программного обеспечения могут вести детальный мониторинг сети. Для вас откроются очень интересные возможности. Но об этом я расскажу в следующей статье.
Вместо заключения.
ИК-связь компьютера с другими устройствами действует на сравнительно небольшом расстоянии. Однако ее возможности широко используются среди мобильной техники. Скорее всего, в ближайшем будущем она уступит свое место более совершенным видам связи (Bluetooth - несколько десятков метров). Но пока никто из производителей материнских плат не отказывался от IRDA. Вы можете со спокойной душой покупать ИК-порт. Хотя, прежде чем сделать покупку, убедитесь, что ваш телефон и компьютер могут передавать данные в инфракрасном диапазоне.
Надеемся, что вы, ознакомившись с этой статьей, без особых проблем сможете выбрать и включить ИК-порт. Успехов!
Также на сайте имеется огромное количесво схем инфракрасных портов для самостоятельного изготовления.
Имеется схема переходника, позволяющая подключить ИК-порт к COM порту.
У меня нет телевизора. Совсем. На антресолях где-то лежит старый маленький пузатик, но кабель антенны давно свернут, а телевизор этот — скорее издевательство, разве что на кухне поставить и то маловат.
Поэтому в качестве музыкального центра и телевизора я использую свой ПК. И все бы хорошо, но лень — это не только двигатель прогресса, но и фактор, который портит удовольствие, заставляя встать с дивана, на котором уютно устроился с кружкой чая, чтобы запустить программу или выключить колонки после просмотра фильма перед сном.
Существует множество ИК приемников, практически все они могут управлять компьютером и даже могут его выключить, но не могут его включить. И вот в этот момент компьютер перестает быть столь же удобным сколь телевизор или музыкальный центр. Но и проект Igor HID не порадовал своим софтом. Вроде все умеет, а неудобно. И не влезешь в него, исходников нет. Вот поэтому я собрался и сделал свой проект, открытый и доступный всем.
Сделал я его с нуля до законченного комплекта. А поскольку мой опыт в разработке и программировании электронных девайсов до него можно сказать был нулевым, то я считаю, что повторить это сможет каждый, кому это интересно.
Называется он USB-IRPC (USB Infrared Remote Personal Computer Control — «Юэсби-ИРПиСи» или ИРПЦ, кому как больше нравится :). Буква R на самом девайсе — просто сокращение от моего ника.
Важным преимуществом девайса является то, что он программно совместим с Arduino и в случае отсутствия уверенности в своих силах в ЛУТ может быть сделан на основе Arduino на макетной плате. Это, конечно, не так компактно и аккуратно, не так дешево, но зато доступно практически всем, даже навыки пайки особые не потребуются.
Если стремление к комфорту вам не чуждо и идея превратить свой компьютер в медиацентр, а заодно поуправлять электророзетками с пульта вам интересна, тогда вперед.
Просьба, если соберетесь делать устройство после прочтения статьи, задавайте вопросы в комментариях. По опыту предыдущих статей: вас довольно много и вопросы вы задаете одинаковые :)
Я лучше один раз отвечу всем, добавив в статью или в комментариях. Уведомления о комментариях с вопросами я просматриваю и стараюсь отвечать.
Итак, идея устройства
- Включать и выключать компьютер с пульта от телевизора или любого другого ИК пульта.
- Включать и выключать розетки, в которые воткнуты настольная лампа и колонки (две розетки, управляются отдельно).
- Управлять розетками с ПК программно, чтобы не искать пульт, оставленный на диване, когда сидишь перед компом или включать колонки для работы ПК в качестве будильника по расписанию с утра :)
- Запускать программы на ПК по нажатию кнопки на пульте.
- Выполнять custom задачи по нажатию кнопок — какие запрограммирую.
- Устройство не требует драйверов, работает и под Win7 х86, Win7 x64, Win 8 x64.
- Не требует прав администратора при подключении и использовании.
- В системе определяется как HID устройство (USB Input Device).
- Никаких дополнительных .dll типа lubusb тоже не потребуется.
- Под Linux не проверял, но не думаю, что будут проблемы. Правда написать софт я не смогу — под Linux я этого не умею.
Недостатки
- Пока на мой взгляд распознавание нажатий кнопок пультов не идеально. Можно сделать лучше, уверен. Но это исправляется программно.
- Вшитые функции, работающие и без ПК, можно поменять только перекомпилировав прошивку, а для этого придется скачать AVR Toolchain — писать прошивку в Arduino IDE сплошное мучение для меня, поэтому я пользуюсь Code::Blocks. Но залить прошивку в Arduino не составляет никакой проблемы. Даже в консоль лезть не придется. Позже можно будет и программно назначить эти функции любым кнопкам пульта.
- Программа на английском. Я знаю, что у подавляющего большинства проблемы с английским и знаю привычку все и вся русифицировать.
- Русские надписи почти всегда длиннее английских либо имеют уродливые сокращения.
- В русском языке не сложилось однозначной терминологии для ИТ и надписи на элементах интерфейса часто больше путают чем проясняют.
Я расскажу сначала как сделать на основе Arduino, затем расскажу как сделать самому с нуля, а если найдутся желающие, напишу отдельно как с этим устройством работать программно с ПК.
USB-IRPC на основе Arduino
На самом деле я и начинал устройство на основе Arduino. Я использовал дешевую Arduino Pro Mini и кусочек макетной платы:
«IRPC v1»
Эта версия не имела связи с ПК, умела только управлять розетаками и питанием ПК, но проработала у меня больше 9 месяцев — с ноября 2011го.
Как обычно, начинаем с закупки деталей.
Нам понадобится:
1. Arduino (любая с питанием от 5В) — примерно от $7
Модуль управления розетками:
2. Плата с реле на 220В, управляемая сигналом 5В. Если хватает опыта, можете сделать сами. У меня была в хозяйстве вот такая, давно думал, куда ее приспособить:
Да, релешек на ней 4, а используется только 2, потому что во-первых — у меня был только 4проводный кабель под рукой, а для 4 реле жил нужно 6 (+- и 4 сигнальных), а во-вторых под рукой было только 2 одинарные розетки, а удлинителей не на общей шине, а с проводами к каждому гнезду отдельно я не нашел на рынке. Мне она досталась за дикие $17, но купил я ее давно. Сейчас она есть на ebay по $3.82, более того, советую вам взять для этого проекта с двумя реле — дешевле и компактнее:
Недостаток реле в том, что они щелкают при переключении. И если бы у меня не валялись без дела, я бы сделал на симисторах BT138 с гальванической развязкой на MOC3063 примерно вот по такой схеме (не моя, дернул кусок из найденной гуглом картинки):
3. Кабель 4-проводный (можно использовать UTP, если есть, тогда розеток можно сделать больше). Длина — чтобы хватило от ПК до места где будет лежать блок розеток.
4. Коннектор PBS-4 для окончательного варианта или вилка PLS-4, если будете делать на Arduino.
5. Кабель медный для подключения розеток к реле — 2 куска примерно сантиметров по 20.
6. Кабель электрический с вилкой Schuko (CEE 7/4) или любой другой, имеющийся под рукой, который выдержит нагрузку:
7. Две настенные накладные розетки (или больше, если релешек больше и кабель UTP) — примерно 30 рублей штука.
8. Кусок фанеры и коробочка для крепления платы с реле и розеток.
Я смонтировал в обычную картонную коробку, прикрепил к куску пластика болтиками и закрепил кабели стяжками. получилось вот так:
«USB-IRPC 2-sockets 220v module»
Под столом это смотрится довольно аккуратно. Розетки разные, да, других не было :) Одну купил, вторая осталась от апгрейда настенной розетки на двойную.
«RPC-2PWR»
Оформительские изыски оставляю на ваше усмотрение.
Модуль ИК приемника
9. ИК приемник TSOP1738, TSOP1736 или IRM_3638. Найдете аналог — попробуйте его. У меня IRM3638 работает лучше всего.
10. Резистор на 10кОм
11. Светодиод + резистор на 100-390 Ом (какой есть такой и берите), на крайний случай можно обойтись встроенным в Arduino на Pin 13 если под рукой ни резистора ни светодиода нет, будет без выносной индикации.
12. 2 Коннектора PBS-4 для окончательного варианта или вилка PLS-4, если будете делать на Arduino.
13. Четырехпроводный кабель такой длины, чтобы хватило от системного блока ПК (девайс установим внутрь) до места, где приемник удобно закрепить, чтобы он был на прямой видимости с дивана (я закрепил на ножке монитора).
Модуль управления питанием ПК
14. Коннектор PBS-2 для подключения к материнской плате вместо кнопки питания.
15. Коннектор PLS-2, для подключения кнопки питания от корпуса параллельно, чтобы не терять возможность ей пользоваться. (можно просто купить одну линейку пинов PLS-40 и откусить кусачками от нее куски с нужным количеством пинов).
16. Оптопара PC817 или ее аналог. По идее стоит 4-8 рублей, но на Царицынском радионыке барыги за нее потребовали 40 рублей.
Можно и реле использовать, но это совсем изврат получится, хотя работать будет :)
17. Токоограничительный резистор на 100-150 ом любой мощности, что найдется под рукой.
Интерфейс с ПК (V-USB)
18. USB кабель, нас интересует только USB A вилка для подключения к ПК, на другом конце может быть что угодно, мы его все равно отрежем. Так что можно использовать любой ненужный кабель. Лишь бы целый был со стороны компа.
19. 2 стабилитрона на 3.6В желательно 0.25 Вт, но можно больше.
20. 2 резистора на 68 Ом.
21. 1 резистор на 2.2 кОм. К мощности особых требований нет.
Паяльник, припой, флюс (канифоль сойдет), немного монтажного провода (да любые проводки, какие есть под рукой).
Какой-нибудь пульт с кодировкой RC-5 типа такого:
«IR RC»
У меня также отлично работает пульт от AverMedia.
Если будете собирать на макетной плате, то понадобятся она и немного проводов, нечто в этом роде :)
Это только кажется что всего много, но на самом деле затраты невелики. Разве что будете покупать все в Чип и Дипе :)
Разбираемся как собрать и как это работает
Если у вас Arduino Pro Mini или Arduino nano, устанавливаем ее на макетную плату типа Breadboard или как в моем случае на кусочек макетки с пятачками для пайки, припаяв ее туда напрямую или с помощью коннекторов, чтобы можно было снять:
Обычную придется подключать к макетной плате проводками.
Подключаем ИК приемник.
Сигнальную ножку напрямую к пину 8 (D8). Между сигнальной и ножкой питания включаем резистор на 10к, ну и оставшуюся ножку заземляем:
у TSOP 1738 сигнальная ножка на фото справа:
Средняя — питание (+5В), левая — земля (GND).
Это три провода, четвертый — для выносного светодиода, я его поставил рядом с приемником, чтобы показывать, что нажатие кнопки принято. Подключаем его через резистор анодом к пину D9, катодом к земле.
Подключаем плату с реле
- VCC к +5 Arduino
- GND к GND Arduino (земля)
- IN1 к пину 6
- IN2 к пину 5
Подключаем управление питанием ПК
Кнопка питания на корпусе просто замыкает два контакта, мы сделаем то же самое с помощью оптопары PC817.
Когда подаешь 5В на вход светодиода, сопротивление между ножками фотодиода падает почти до нуля (на самом деле не до 0 но для наших целей сойдет). Для того, чтобы выход микроконтроллера не спалить, включаем последовательно токоограничивающий резистор.
Резистор подключаем к выходу А2 Arduino, второй контакт резистора к 1й ножке PC817 (отмечена точкой). Вторую ножку на землю. К 3й и 4й подключаем двумя проводами с двухконтактным разъемом те два пина на материнской плате, что обозначены как PWR + и PWR-, сюда же параллельно подключаем кнопку от корпуса ПК, чтобы она тоже могла замыкать эти контакты.
Подключаем к USB
В моем проекте используется программная реализация USB для AVR известная как V-USB.
Берем USB кабель, отрезаем конец, который подключался к устройству
Красный — VCC (пин 1 на схеме справа)
Черный — GND (пин 5 на схеме справа)
Зеленый — D+ (пин 3 на схеме справа)
Белый — D- (пин 2 на схеме справа)
D+ подключаем к пину 2 через резистор 68 Ом, D- подключаем к пину 4 через резистор 68 Ом.
резистором на 2.2 кОм соединяем ножки D3 и D4 (подтяжка).
Стабилитроны включаются в обратном направлении катоды (сторона с черной полоской на корпусе) к — D2 и D4 соотвественно, аноды — на землю.
VCC и GND подключаем соответственно к таким же пинам Arduino — питаться она будет от USB.
Все, наша схема собрана.
Внимательно проверьте все по шагам, чтобы не спалить при подключении ничего.
Если все проверили — прошиваем с помощью AvrDudeR. Дело в том, что писал я прошивку на С, компилировано с помощью AVRToolchain. Проект в Code::Blocks. Исходники проекта выложу чуть позже на странице проекта
Настройки такие:
COM порт указываем тот, который назначился для Arduino, для Duemillanove скорость 57600, для UNO 115200.
Файл прошивки берем этот.
Если прошилось все успешно, можно отключить Arduino от компа, подключаем теперь нашим USB проводом, который мы развели на плате через стабилитроны и резисторы. Одновременно лучше не подключать и хвостом самой Arduino и коннектором проекта.
Если все сделали правильно, в системе определится USB Input Device.
Управление с помощью плагина к MKey
Плагин позволяет назначать кнопкам пульта любые функции MKey.
Качаем MKey, устанавливаем, мой плагин к нему кладем в папку Plugins.
Запускаем MKey, на вкладке настроек включаем плагин R USB-IRPC.
Настройка простая. Жмем Add, открывается окошко, где предлагают нажать кнопку, жмем ее на пульте, даем ей название как на пульте и назначаем для нее действие.
Для того, чтобы управлять реле программно, понадобится моя программа:
- управлять реле и выносным светодиодом
- программно «нажать» кнопку питания на ПК
- автоматически отключается от устройства при засыпании ПК
- автоматически подключается при пробуждении ПК.
- опрашивает устройство каждые 300 мс по умолчанию (настраивается)
- выводит состояние реле и индиакторного светодиода, код последней нажатой с момента опроса кнопки пульта
- включить/отключить прием нажатий кнопок ИК пульта.
- сохранить в EEPROM состояние реле и считать его оттуда. При включении USB-IRPC считывает из EEPROM состояние реле и устанавливает их.
- соответствие названий кодам кнопок пульта считывается из простого текстового файла, выбранный файл конфигурации пульта загружается при старте программы автоматически.
- запуска программ по нажатию кнопки
- передачи нажатий кнопки в запущенную программу
- назначения устройству самостоятельной реакции на выбранные кнопки пульта одной из встроенных функций: переключение реле, нажатие кнопки питания ПК. (сейчас такая функциональность в прошивке встроена для одного конкретного пульта).
Я постарался рассказать максимально подробно для самых начинающих, потому что постоянно получаю множество простых одинаковых вопросов в почте, поэтому объем статьи получился большой.
Во второй части расскажу как сделать устройство, изображенное на самой первой фотографии самостоятельно с нуля, а не на основе Arduino.
Все исходники я немного причешу и выложу на страницу проекта, чтобы функционал можно было изменить под себя. Если будут желающие, отдельно расскажу что и как работает с программной точки зрения.
Часть 2 — изготовление с нуля и программный интерфейс.
Репутация: 28
Протокол IrDA (Infra red Data Assotiation) позволяет соединяться с периферийным оборудованием без кабеля при помощи ИК-излучения. Порт IrDA позволяет устанавливать связь на небольшом расстоянии в режиме точка-точка. Интерфейс IrDA использует узкий ИК-диапазон (850-900 nm) с малой мощностью потребления, что позволяет создать недорогую аппаратуру и не требует сертификации FCC (Федеральной Комиссии по Связи). Порт IrDA основан на архитектуре коммуникационного СОМ-порта ПК, который использует универсальный асинхронный приемо-передатчик UART (Universal Asynchronous Receiver Transmitter) и работает со скоростью передачи данных 2400-115200 bps, обеспечивая устойчивую полудуплексную связь.
Подключается ИК-порт непосредственно к материнской плате, в большинстве случаев распиновка на плате соответствует схеме и описана в документации на плату, в случае не совпадения выводов их легко переставить. После установки необходимо включить в BIOS поддержку инфракрасного порта. ("Chipset Features Setup" -> "UART2 Use Infrared" -> "Enabled"). Если используется операционная система Windows 9X, то она сама установит необходимые для работы драйвера.
Репутация: 66
Штука хорошая, жаль в ноут с таким разъёмом не залезешь.Тем, кому интересно, даташит
Репутация: 4
Репутация: 0
Репутация: 4
а вот когды у тебю нокия без блютута и кабель влом паять тут уж зауважаешь Я на работе на работе компутер из домашеного хлама собрал и с него в инет лазаюРепутация: 1563
Репутация: 7
Хм, ик-порт довольно таки устарел, так какой разговор может быть про уважение?
Кстати, тебе известна максимальная скорость ик-порта, не того что на дешевых мобилках а вобще максимальная скорость передачи по этомук типу связи? Она далеко не маленькая.
Репутация: 25
Кстати, тебе известна максимальная скорость ик-порта, не того что на дешевых мобилках а вобще максимальная скорость передачи по этомук типу связи? Она далеко не маленькая.а какая скорость, если не секрет?
и еще вопрос: как на материнке обозначен разъем для подключения irda ? (буквенно или где он находится обычно??)
Репутация: 85
Проблема в том, что не на каждой материнке распаян ик-порт, к которому достаточно только подключить приёмник (например TSOP1736) . Но есть выход - использовать WinLIRC схему под com-порт. Имхо проще неё - некуда И никакой травли схем, можно использовать навесной монтаж.
Цитирую свой пост, но с другого форума:
Итак.. первый мой рассказ будет посвящен небольшой, но полезной примочке для компьютера, которая поможет сделать еще один щаг на пути превращения оного в домашний медиа-центр
Поход в радиомагазин неизбежен, нам потребуется:
1)Плана COM-порта (если не выведен) (
25 рублей) - ибо не в каждом компьютере нынче они выведены на заднюю панель. Итак, покупаем, подключаем к мамке и гордимся))
2) Провод, трёхжильный. Можно использовать витую пару или старый телефонный провод, но скажу сразу - это не лучший вариант. Придумайте что-нибудь получше, ибо телефонные провода не всегда хорошо паяются даже кислотой)) (стоимость метра провода в пределах 5руб./метр, нам потребуется не больше 3-метров. больше не советую)
3)Вилка-коннектор для СОМ-порта. Маркировка её "DB-9 мама". (Стоит около 15 рублей)
4) Резисторы. Два штуки, но возьмите штук пять, ибо копейки стоят.
- Первый на 5 кило ОМ, мощностью 0.125 Ватт (пишу полностью, чтобы всем было понятно)
- Второй на 10 кило Ом, мощность 0.125 Ватт
(Около 50 коп. за штуку)
5) Конденсатор (электролит) , 10 микроФарад 16 вольт (1 рубль)
6) Светодиод любой. Небольшой. - рублей 5
7) Инфракрасный приёмник. маркируются TSOP1833 итп. Выглядит как чёрный кубик с тремя контактами и выпуклостью с одной стороны (на первом фото он нарисован сбоку от схемы) Я купил TSOP1736, все отлично пашет. Стоит около 30 рублей.
Вот. Ну еще можете взять термоусадочную трубку потоньше. Это такая штука которая если ее нагреть, сжимается и работает как изоляция. Удобно, и не нужно возиться с изолентой - стоимость около 10 рублей за метр.
Схема видна на рисунках, я ее специально перериосвал, чтобы лучше видно было. Все номиналы и элементы подписаны. Паяем схему.
При пайке учитываем, что на конденсаторе есть ножка "минус", она отмечена на корпусе. Этот минус паяем к минусовому проводу, как на схеме. + при пайке диода (КД512 или люой маломощный, обычно слова "любой маломощный" хватает чтобы продавец вас понял) - учитываем направление диода. Чёрная риска должна быть строго как на фото, направлена в сторону приёмника.
Подключаются все три провода к вилке СОМ-порта. Номера контактов указаны на схеме, и на самом коннекторе DB-9 тоже есть цифры. Вобщем, не потеряетесь)) простейший способ проверить собранную схему - подключить ее к компьютеру и проделать следующее:
1) убедиться что горид светодиод.
2) взять любой пульт от чего угодно и направив на приёмник, понажимать кнопки. Проделывать это нужно метров с двух, дабы удостовериться в дальности приёма. Если светодиод моргает при нажатии кнопок на пульте - значит схема рабочая.
Пардон, что так всё разжевано, просто писал для людей в этом деле неграмотных, пришлось делать подробный отчёт, и схему подписывать подурацки
Кстати, это наверное не по теме пост. Это Приёмник, он может только принимать.
ИК порт используется для того, чтобы посредством излучения устанавливать связь между двумя объектами на небольшом расстоянии. Подобное устройство позволяет, к примеру, использовать пульт для управления компьютером во время просмотра фильмов или прослушивания музыки. ИК порт можно приобрести в специализированном магазине или сделать самому в домашних условиях.
- Как сделать ик порт самому
- Как проверить ИК-приемник
- Как сделать инфракрасную камеру
Воспользуйтесь старыми компьютерными шариковыми мышками, для того чтобы делать ИК порт. Для этого понадобиться мышка, у которой провод для подключения к компьютеру состоит из четырех проводов: RTS, Rx, Tx и GND. Прозвоните все провода для определения их наименования. Приклейте к куску пластика штыревой разъем мыши.
Выпаяйте инфракрасный светодиод и фотодиодный мост, а также возьмите резистор на 2-7 кОм: чем больше сопротивление, тем больше будет радиус работы ИК порта. Припаяйте инфракрасный светодиод к Tx проводу, после чего соедините последовательно с резистором, который также подключается к «земле», которая будет параллельна светодиоду. Данная схема включается параллельно проводу Rx и припаивается к 1 и 3 разъемам фотодиодного моста, после чего провод RTS подключается к центральному разъему.
Установите на персональный компьютер программное обеспечение WinLirc, которое работает с ИК портами. Запустите приложение. Появится надпись, что конфигурация оказалась неудачной и необходимо выполнить переконфигурацию.
Подключите сделанный ИК порт к компьютеру и проверьте, к какому порту он подключился через меню «Диспетчер устройств». Откройте программное обеспечение для работы с ИК портом. Укажите в поле «Port» номер порта подключения, поле «Speed» оставьте без изменения. Так как ИК-светодиод был подключен к Rx проводу, то в поле «Receiver type» укажите RX device, а в поле «Transmitter settings» - TX.
После введения параметров нажмите «Raw Codes», поднесите пульт к приемнику и нажмите на нем кнопки. Если появилась рябь, это значит, что соединение выполнено правильно. В противном случае проверьте правильность спайки. Откройте меню «Learn», чтобы обучить программу распознанию команд пульта через ИК порт. Установите требуемые параметры и сохраните настройку.
К настоящему времени разработано достаточно много самых разных решений для ДУ персональным компьютером. Все они имеют разную сложность и функциональность. Для радиолюбительских устройств можно условно провести разделение:
1. Приемный модуль не совмещен с декодирующей частью. Декодирование ИК посылок осуществляется на ПК специальной программой. Как правило, схема приемника предельно проста. Подключение может быть реализовано через COM или LPT порты.
2. Прием и декодирование сигнала происходит в устройстве аппаратно. На ПК отправляется уже распознанная посылка. Распознавание может быть выполнено в виде реального кода, либо некого условного кода, который хоть и не является реальным для данного пульта, но обеспечивает однозначную идентификацию нажатой кнопки.
Обеим способам присущи достоинства и недостатки. Например, недостатки для первого типа: такие порты как COM и LPT встречаются в компьютерах все реже и реже, а в ноутбуках уже практически перевелись. Декодирование на ПК требует реалтаймового доступа к портам, что не гарантируется, в результате чего не всегда верно принимается посылка. Достоинства: простота, отсутствие необходимости программировать железо, существование программ способных распознать большинство протоколов. К плюсам второго подхода следует отнести возможность использовать интерфейс USB, не обязателен реалтайм. Недостатки – более сложная аппаратная часть, необходимость ее программирования.
Вашему вниманию предлагается приемник-декодер, подключаемый по интерфейсу USB, позволяющий управлять приложениями на ПК по инфракрасному каналу. В устройстве происходит распознавание реальных кодов, таких протоколов как: NEC, SAMSUNG, JVC, RC5, SONY SIRC (15 bit). Этого достаточно для подавляющего большинства используемых пультов. В компьютер отправляется последовательность вида:
(toogle,device_low,device_high,command:system). Например, в случае посылки по протоколу NEC, где младшая часть адреса устройства 134, старшая –107, код команды -18: в ПК будет отправлена строка (0,134,107,18:NEC_CODE).
Значение toogle будет либо 0, либо 1 – чередование от нажатия к нажатию. При удержании кнопки значение данного параметра не будет меняться. В стандарте RC5 это штатная функция. В других форматах этого нет, поэтому приемник программно определяет удержание для протоколов, отличных от RC5.
Приемник может работать используя один из классов USB устройств – CDC или HID, в зависимости от прошивки. Это сделано из-за того, что имеются определенные преимущества и недостатки в работе этих классов друг перед другом.
Преимущества CDC:
Поскольку CDC это виртуальный COM порт, то принципы работы с ним простые и ничем не отличаются от работы с обычным COM портом. Не требуются специальные драйвера со стороны ПК (используются inf-файлы для разных ОС). Работает в XP, Vista, Win7. Можно увидеть посылки устройства обычным терминалом, в случае необходимости. Не загружает процессор – посылки отрабатываются только во время приема.
Недостатки CDC:
Как и с реальным портом, требуется постоянное соединение устройства. Отсоединенное устройство придется вручную присоединять в приложении на ПК (переоткрывать порт) – в некоторых случаях это может быть неудобно.
Преимущества HID:
Можно отсоединять и присоединять устройство "на горячую", программа на ПК будет автоматически его отслеживать и по цвету значка в трее, возможно определять состояние подключения.
Недостатки HID:
Для работы приложения требуется специальный драйвер. Был использован драйвер libusb-win32-filter-bin-0.1.12.1, который работает пока только на WinXP 32 bit. Если у вас другая операционная система, то остается CDC. Программа периодически опрашивает устройство, поэтому мизерная загрузка процессора в простое все же есть.
Контроллер – Atmega8 16AI (без индекса V, это важно). Светодиод D1 применен для снижения напряжения питания контроллера (5В), чтобы улучшить согласование уровней напряжения от МК с интерфейсными линиями USB (3.3В). Его переход обладает также стабилизирующими свойствами. Я применил яркий смд светодиод, выпаянный из ленты. Падение напряжения на диоде должно быть около 1.5В. В тоже время ИК приемник IR1 питается от 5В, поэтому диод D2 (лучше взять германиевый или Шоттки – с малым падением напряжения на переходе) защищает вход контроллера от перенапряжения. Переключатель SW1 применяется для переключения в режим программирования устройства. Об этом ниже.
Монтаж выполнен преимущественно смд элементами, вариант конструкции:
Для того, чтобы в последующем было удобно перепрограммировать устройство, в первый раз следует прошить бутлоадер (см. архив проекта, папка tools) по интерфейсу ISP любым удобным программатором. Прошивка рабочей программой далее выполняется по USB. Для этого следует замкнуть переключателем SW1 пин PB1 микроконтроллера на землю и присоединить устройство к порту USB. После этого запустить программу Upload.exe (оболочка для BootloadHID.exe) из папки default (или папки в которой находится hex-файл) соответствующего проекта. Откроется окно:
В строчку Firmware необходимо внести имя файла прошивки (без расширения). После этого нажать CMD Flash и подтвердить выбор. В окне:
Нажать кнопку CONFIRM и начнется процесс загрузки прошивки в контроллер. Остается только извлечь устройство, отключить PB1 от земли выключателем SW1и подключить снова к USB порту. Если был выбран класс устройства HID, то запроса на установку драйверов не последует. В диспетчере устройств можно увидеть новое оборудование. Для CDC класса в запросе на установку драйвера, необходимо указать нужный inf файл из папки inf (см. проект), в зависимости от ОС. После этого в системе появится виртуальный COM порт, в который будут приходить распознанные посылки.
Рассмотрим настройку программы, которая, в отличие от других приложений, достаточно проста. Главное окно программы:
Для того чтобы в клиенте было удобней задавать соответствие команд управляющим воздействиям, предусматривается задание командам и имени пульта информативных имен.
Для этого устанавливаем переключатель в положение Naming (Именование) и нажимаем любую кнопку на пульте. Если для этого пульта (его адреса) нет соответствующего файла настроек, то появится запрос на введение имени пульта:
Вводим имя (например, MSI) и жмем ОК. После вторичного нажатия на кнопку, программа определит, что имя данного пульта уже ассоциировано и предложит поименовать команду:
Вводим имя команды и жмем ОК (или Enter). Таким образом, можно ассоциировать все нужные кнопки пульта. Настройки сохраняются в папку с исполняемым файлом сервера. Имя файла состоит из частей адреса устройства, расширение irs. При необходимости файл ассоциаций можно редактировать блокнотом. В итоге, получается следующее:
В данном случае видно, как отличается принятая и отправленная строки, а также реакцию управляемого клиента (Mkey), настроенного на команду right от пульта MSI (регулировка громкости).
Остальные настройки:
-Use only named: Передаваться клиентам будут только именованные команды от именованного пульта. Сделано для исключения реакции на посторонние пульты или ненастроенные/ненужные команды.
-Unnamed enable: помимо именованных команд будут переданы и неименованные (если таковые примет приемник).
-Naming disable: будут передаваться посылки напрямую, без именования.
Как правило, наиболее комфортна работа с включенной опцией Use only named после задания соответствия имен.
Кнопка ОК сворачивает приложение в трей, Cancel – закрывает приложение.
В архиве проекта присутствуют все необходимые файлы и исходные коды
Проект предоставляется "как есть". Все работы по подключению данного устройства к ПК проводятся на ваш риск. Автор ответственности не несет.
Читайте также: