Дистанционное ик управление компьютером по usb

Управление компьютером с дистанционного пульта | Каталог самоделок

Если есть СОМ-порт (RS-232), то простейшая схемка «пятидеталька» отлично подойдет для нашей цели: управление ПК с дистанционного пульта. Собирается схема, в буквальном смысле, из пяти деталей. Не нужно никакого микроконтроллера, ни программирования.

Конечно, Bluetooth-мышки и клавиатуры хорошо, но не у всех они есть. А пульт от телевизора или видеомагнитофона, музыкального центра, кондиционера уж точно есть у каждого.

Устройство для приема инфракрасных сигналов собирается из пяти деталей:

  1. Компенсационный стабилизатор напряжения на 5 В, 100 мА: типа 78L05 или отечественный аналог КРЕН5.
  2. Инфракрасный приемник, на несущую частоту в 38 кГц: TK-19 или его аналоги SFH506-38, TSOP1138, TSOP2238, TSOP4838. Проверяйте распиновку выбранного ИК приемника.
  3. Диод выпрямительный на 150 мА: 1N4148, КД522, КД521 или другой, небольшого размера.
  4. Резистор 0,125 Вт, сопротивлением 4.7 кОм.
  5. Конденсатор емкостью 4.7 мкФ, на напряжение 6, 10, 16, 25, 50 В.

Дополнительно может быть понадобиться приобрести:

  • Штекер COM-разъема на 9 или 25 контактов.
  • Трехжильный кабель.
  • Конденсатор емкостью 100 пФ, на напряжение 6, 10, 16, 25 В.

При правильной сборке схема компьютерного ИК-приемника в наладке не нуждается.

Диод нужен для предотвращения попадания отрицательного напряжения на вход стабилизатора.

Дополнительно рекомендуется поставить на вход стабилизатора сглаживающий конденсатор емкостью не больше 100 пФ.

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

Распиновка COM-поров на 9 и 25 контактов для подключения трехжильного кабеля в таблице.

Все детали напаиваются на контакты купленного COM-разъема навесным монтажом. Все вместе они идеально помещаются внутри корпуса COM-штекера.

Без использования печатной платы собранная конструкция получается очень аккуратной и компактной.

Чтобы все было красиво и не было висячих проводов снаружи, собранную на COМ-разъеме конструкцию можно разместить внутри системного блока. Снимаем пластмассовую заглушку с неиспользуемого отсека для CD-ROM или Floppy-диска, и сверлим в ней отверстие диаметром 8 мм для инфракрасного приемника. Сам ИК-фотодатчик закрепляем с внутренней стороны заглушки с помощью термоклея.

Когда компьютер выключен, втыкаем вилку с собранной конструкцией в соответствующее COМ-гнездо.

Теперь остается только обзавестись подходящим программным обеспечением для обработки сигналов с пульта. Наиболее удачным софтом для управления компьютером с ПДУ является: драйвер WinLIRC, клиентская консоль Girder или IREX.

Можно скачать архив IRcontrol и установить из него программы:

Girder

WinLIRC

Полная инструкции по настройке Girder и WinLIRC для работы с ИК-пультом находится в архиве, а также доступна на сайтах разработчиков.

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

Но более востребованными функциями остаются: пауза, воспроизведение, стоп, перемотка, управление звуком, потому что именно они создают комфорт при просмотре фильмов, прослушивании музыки.

Правильный выбор пульта для компьютера

К используемому ИК-датчику подойдет не каждый пульт. Был выбран ИК-приемник, функционирующий на самой распространенной для пультов управления частоте в 38 кГц. Но есть ПДУ использующие частоты 36 или 40 кГц.

Если обстоятельства заставят вас пользоваться именно этими редкими моделями пультов, то могут возникнуть проблемы с передачей сигнала. Придется слишком близко подносить дистанционный пульт к ИК-приемнику, и батарейки здесь ни причем.

Ну, а для тех у кого на ПК нет COМ-порта, придется собрать более сложное устройство управления компьютером с дистанционного пульта по USB. Тогда уже понадобится микроконтроллер и прошивка для него.

Источник: https://volt-index.ru/electronika-dlya-nachinayushih/upravlenie-kompyuterom-s-distantsionnogo-pulta.html

Дистанционное управление компьютером через USB порт

Мы слушаем mp3 и смотрим xvid или x264, и компьютер служит центром развлечений как минимум в одной комнате большинства домов. Если только у вас нет мультимедийного ПК (HTPC), довольно проблемно использовать клавиатуру чтобы поставить на паузу, изменить громкость, или прокрутить раздражающие кадры.

Модельный ряд приемников дистанционного управления для PC начинается конструкциями для старых последовательных портов (у вас есть такой?) и заканчивается USB устройствами, которые не поддерживаются популярным программным обеспечением.

Мы хотим представить вам инфракрасный USB приемник, который имитирует общий протокол, поддерживаемый программным обеспечением Windows, Linux и Mac. У нас есть полное описание протокола, плюс схема и список деталей.

Описание проекта

Пульты дистанционного управления передают данные модулированным инфракрасным пучком. Интегральная микросхема инфракрасного приемника выделяет из модулированного пучка незашумленный поток 0 и 1. Поток данных декодируется микроконтроллером и отправляется на компьютер посредством USB порта. Программное обеспечение обрабатывает коды и совершает необходимые действия на компьютере.

История

Инфракрасные приемники для компьютера

В самой старой конструкции инфракрасного приемника для ПК микросхема переключает один из контактов разъема последовательного порта, обычно DCD. Эта конструкция, возможно, возникла в Usenet, и до сих пор является самой популярной в сети.

Они не являются реальными устройствами для последовательного порта, потому что не посылают данные на компьютер. Вместо этого, компьютерная программа посылает импульсы на последовательный порт и демодулирует сигнал.

Эта конструкция очень простая, но она завит от доступа к прямым прерываниям и точности синхронизации, так что больше недоступна в Windows. Пользователи Linux или Mac могут попытаться собрать такое устройство, если у них до сих пор имеется последовательный порт.

Нам не удалось заставить такой приемник работать с последовательным портом современного ПК с Windows XP, и мы не уверены в точности синхронизации передачи данных с USB на преобразователь последовательного порта.

Более продвинутые инфракрасные приемники являются реальными устройствами для последовательного порта, которые перед посылкой на компьютер измеряют или декодируют инфракрасный сигнал.

UIR/IRMAN и UIR2 собраны на классическом pic 16f84, но не предоставляют пользователям программного обеспечения и/или исходного кода. Эти устройства будут работать на современном компьютере, но для них нужен преобразователь сигналов с USB на последовательный порт.

Usbtiny и usbirboy являются «родными» для USB порта устройствами, но они не имеют широкой поддержки.

Программное обеспечение для приемника

Вне зависимости от типа приемника, чтобы воспринимать приходящие от дистанционного управления команды и превращать их в действия, компьютеру нужна программа. У пользователей Linux и Mac есть LIRC, которая поддерживает множество различных типов приемников. Пользователям Windows повезло меньше.

WinLIRC – это портированная с LIRC для Windows программа для простых приемников последовательного порта основанных на прерываниях; ее последняя версия вышла в 2003. Girder первоначально была бесплатной утилитой для автоматизации ПК, но впоследствии она разрослась до дорогого проекта с 30-дневным демонстрационным режимом.

К счастью, последняя бесплатная версия Girder (3.2.9b) до сих пор доступна для скачивания.

Работа с протоколами инфракрасного дистанционного управления

Декодирование ИК сигналов

Дистанционные пульты управления кодируют команды в виде промежутков или импульсов определенной продолжительности на несущей частоте 38 кГц, объяснение принципов их работы можно найти здесь.

Микросхема ИК приемника отделяет поток данных от несущей. Нам остается только расшифровать поток данных при помощи микроконтроллера.

Имеются десятки протоколов, которые используются для дистанционного управления, но наиболее широко распространен и используется любителями RC5 от Philips.

RC5 представляет собой поток из 14 битов одинаковой длины по 1,778 мс на бит. Импульс, приходящийся на первую половину этого времени представляет 0, а импульс, приходящийся на вторую половину – 1. Эта схема называется манчестерским кодированием.

Мы использовали логический анализатор, чтобы протестировать выходной сигнал одного известного пульта дистанционного управления для WinTV, использующего протокол RC5. Диаграмма показывает два нажатия на кнопку 1 и два нажатия на кнопку 2; обратите внимание, что выходной сигнал инвертирован, и манчестерское кодирование относительно описанного выше выглядит наоборот.

Первые два бита являются стартовыми, затем следует бит переброски.

Бит переброски всякий раз изменяется при нажатии кнопки, поэтому приемник понимает разницу между удерживаемой кнопкой и несколькими повторными нажатиями кнопки.

Следующие 5 битов это адрес (0b11110=0×1E), за ними следует команда (0b000001=0×01, 0b000010=0×02). Передача сигнала в обратном направлении по протоколу RC5 использует второй стартовый бит как командный бит 7.

Представление кодов дистанционного управления на компьютере

Рассмотрев предшествующие разработки, мы выделили три основных пути передачи данных с пульта дистанционного управления на компьютер:

– Приемники конкретного протокола декодируют его и посылают на ПК реальные декодированные команды.

– Приемник общего типа измеряет продолжительности каждого импульса и промежутки между ними и посылает форму сигнала на ПК для обработки.

– Некоторые приемники создают для сигнала специальный шестнадцатеричный код, который на самом деле не включает достаточно данных, чтобы полностью восстановить форму посланного сигнала.

Несмотря на то, что нам больше хотелось использовать метод шестнадцатеричного кодирования, наш единственный пульт дистанционного управления использовал протокол RC5, и было бы более интересным собрать декодер конкретно для RC5. Для универсальной версии мы описали модификации в параграфе, посвященном программному обеспечению декодера.

Протокол компьютерного интерфейса

Мы не хотели писать свое собственное программное обеспечение или драйвер, поэтому поискали уже существующий, хорошо устоявшийся протокол связи. Приемник типа UIR/IRMAN/IRA/CTInfra/Hollywood+ поддерживается программами Girder и LIRC, и использует простой последовательный протокол с подтверждением связи

  • Устройство инициализируется контактами DSR и DTR последовательного порта. У нас всего этого нет, и мы не беспокоимся по этому поводу.
  • Компьютер посылает запрос с произвольной задержкой. Устройство подтверждает готовность. Наше устройство будет подтверждать готовность при любом радиоимпульсе.
  • Команды пульта дистанционного управления посылаются в виде уникального 6-байтового шестнадцатеричного кода. Мы будем декодировать сигнал RC5 и посылать действительные значения, но вместо этого можно использовать распространенный шестнадцатеричный код.

Этот протокол предназначен для устройства, работающего с последовательным портом. Наш USB приемник будет притворяться виртуальным последовательным портом и программа не заметит разницы.

Аппаратное обеспечение

Нажмите сюда, чтобы увеличить рисунок схемы (png). Наш приемник базируется на микроконтроллере PIC 18f2455, который может работать с USB портом и является меньшей и более дешевой версией 18f2550.

Семейство 18f можно программировать при помощи универсального PIC-программатора, в котором чтобы понизить входное напряжение при программировании до безопасного уровня используется диод. Для обеспечения режима внутрисхемного программирования используются конденсатор (c1), диод(d1) и резистор(r1): http://www.instructables.

com/id/Understanding-ICSP-for-PIC-Microcontrollers/ . Для согласования уровней напряжения последовательного порта и микроконтроллера или переходника USB-COM вам понадобится приемопередатчик MAX232.

Периферийные устройства для USB требуют внешнюю частоту 20 МГц (Q1, C5-6), для чего используется конденсатор 220 мкФ. Чтобы получить эту емкость мы параллельно соединили 2 конденсатора по 1 мкФ. 3 мм светодиод (LED1) подключенный через ограничивающий резистор 330 ом (R2) показывает наличие USB соединения.

Мы использовали микросхему инфракрасного приемника TSOP-1738, которой нужен задающий конденсатор 4,7 мкФ (C4). Если вы не можете найти эту конкретную микросхему, работать должна любая приведенная здесь.

TSOP-1738 инвертирует принимаемый сигнал, при приеме 1 она дает 0, так что при отсутствии сигнала подтягивающий резистор (R3) выдает на выходе 1.

Проверьте, не используете ли вы другой приемник, тогда вам потребуется заземляющий резистор и возможность декодирования инвертированного манчестерского кода в программном обеспечении.

Устройство питается от шины USB, и нам не нужен дополнительный источник питания.

Список компонентов

Нажмите сюда, чтобы увидеть полноразмерную диаграмму размещения компонентов. (png) Печатная плата 100% односторонняя, и все отверстия на ней сквозные. Расположение элементов и печатная плата разработаны на Cadsoft Eagle, свободно распространяемые версии которого доступны для большинства платформ. Все файлы включены в архив проекта (zip).

Элемент/ Описание

IC1 PIC 18F2455
28 контактный .300 разъем
C1,2,3 конденсатор 0.1uF
C4 конденсатор 4.7uF
C5,6 конденсатор 27pF (15pF может быть лучше)
D1 диод 1N4181
Q1 пьезоизлучатель 20MHz
R1,3 резистор 10K Ом
R2 резистор 330 Ом
TSOP TSOP1738 (устаревший, попробуйте TSOP1138)
USB USB ‘B’ разъем, мама
SER .1″ штырьковый разъем
ICSP .1″ штырьковый разъем

Программное обеспечение

Программное обеспечение написано на С с использованием свободной демонстрационной версии компилятора C18 от Microchip. Программа и исходный код включены в архив проекта (zip).

Мы использовали версию 2.3 стека протоколов для USB от Microchip, чтобы создать последовательный USB порт, использующий уже установленные во многих системах драйверы.

Стек протоколов USB имеет простые функции чтобы перечислять USB устройства и передавать данные между устройством и хостом.

Чтобы заставить демонстрационную версию маршрута сообщения работать на нашем обычном оборудовании, пришлось поменять всего лишь несколько контактов.

Наша реализация протокола UIR/IRMAN/IRA/CTInfra/Hollywood+ просто отвечает ‘OK’ на букву ‘R’. Это должно удовлетворять всем требованиям подтверждения связи любой реализации этого протокола.

Мы решили особым образом декодировать RC5 (и RC5x), потому что это широко используемый протокол, и еще у нас был пульт дистанционного управления, работающий только с этим протоколом. Большая часть декодирования производится в обработчике прерывания:

  • Первое изменение сигнала производит прерывание, которое запускает 889us таймер (с периодом полбита).
  • По каждому прерыванию таймера выбирается половина закодированного манчестерским кодом бита.
  • При каждом другом прерывании измерения сравниваются, и значение бита приравнивается к 0, 1, или ошибке. Ошибки сбрасывают декодирование.
  • В конце каждой передачи адресный и командный биты декодируются и посылаются на хост с 4 резервными битами (0). Мы убираем бит переброски, потому что он заставит программное обеспечение компьютера думать, что каждое другое нажатие имеет уникальный код. Для совместимости с RC5x к командному биту добавляем второй стартовый бит; это просто добавляет 0×40 к кодам для пультов не использующим RC5x.

Можно сделать более общую версию, если убрать шаг манчестерского кодирования (3) и посылать 48 выборочных битов (все 6 байтов) на компьютер.

Установка инфракрасного USB приемника

Большинство операционных систем уже имеют драйверы, которые поддерживают устройства, вроде приемника, для виртуального последовательного порта. Windows XP имеет нужные драйверы, но чтобы правильно ассоциировать их с нашим устройством ей нужна помощь .inf файла.

В первый раз когда вы подключаете приемник, Windows покажет диалог установки нового оборудования. Выберите использование стандартного драйвера и направьте его на .inf файл, включенный в архив проекта (zip). Это связывает устройство с уже включенным в Windows драйвером и добавляет приемник как COM порт. На панели управления вы можете проверить номер COM порта.

Пользователи Mac и Linux могут использовать приемник с LIRC, а пользователи Windows столкнутся с выбором использования либо старой, свободно распространяемой версии Girder, либо новой условно-бесплатной версии с 30-дневным демонстрационным режимом. Мы использовали свободную версию Girder, но надеемся, что вы, ребята, сможете предложить альтернативу – хороший программный продукт с открытым исходным текстом который мы просмотрели.

Безотносительно к используемому вами на компьютере программному обеспечению, настройте его для приемника типа UIR/IRMAN/IRA/CTInfra/Hollywood+ и введите COM порт или назначенный ему порядковый адрес.

Наш приемник также совместим с любыми опциями протокола вроде ‘Fast UIR Init’ и ‘Skip UIR Init Check’ (‘Быстрая инициализация UIR’ и ’Пропустить проверку инициализации UIR’), которые укорачивают или исключают подтверждение связи “IR”->”OK”.

Теперь испытайте приемник и добавьте дистанционное управление соответственно с документацией к вашему программному обеспечению.

Ручной интерфейс с терминалом и отладка

Если у вас возникли проблемы с приемником или вам просто интересно, попробуйте управлять им через последовательный терминал. Нам очень нравится последовательный терминал на Hercules. Установите верный COM порт, а установки скорости и конфигурации игнорируются драйвером последовательного USB порта.

‘R’ пригласит приемник ответить ‘OK’. Коды RC5 возвращаются как необработанные байты, так что будьте уверены, что ваш терминал установлен на прием шестнадцатеричных значений и интерпретацию их как ASCII текст.

Первый байт – это адресный байт RC5 (0×1E), за ним следует байт команды (0×41), и затем четыре резервных 0 чтобы соответствовать протоколу UIR/Irman.

На рисунке показано установление связи и короткое нажатие на кнопки 1, 2 и 3.

Свободно распространяемая утилита под названием Portmon, ведет запись активности COM порта. Это полезно для выяснения используемых приемником протоколов и отладки взаимодействия имеющегося у нас оборудования и программами с закрытым исходным кодом. На рисунке показано как Girder посылает строку инициализации ‘IR’ (0×49,0×52), и приемник отвечает ‘OK’ (0×4F,0×4B).

Продолжение проекта

Наш совместимый с RC5x приемник поддерживает широко распространенный протокол интерфейса. Инфракрасному приемнику с открытым исходным кодом можно добавить кучу дополнительных свойств:

  • Поддержка всех дистанционных пультов управления через общий генератор шестнадцатеричного кода, как у первоначального устройства UIR/Irman.
  • Добавка дополнительных декодеров протоколов, как например RC6.
  • Поддержка множественных протоколов с настраиваемым интерфейсом.
  • Реализация ввода/вывода последовательного порта.
  • Хранение в EEPROM вариантов конфигурации, включающих протокол, тип интерфейса, настройки таймера, последовательного порта и т.д.

Источник: https://www.rlocman.ru/shem/schematics.html?di=52395

USB-устройство для дистанционного управления компьютером

Часто мы смотрим на компьютере фильмы или слушаем музыку, находясь достаточно далеко от него. И чтобы поставить воспроизведение на паузу или переключить песню, приходится вставать и идти к нему. Но есть более удобный вариант – пульт ДУ, хорошо знакомый нам по телевизорам и музыкальным центрам.

Устройство предназначено для дистанционного управления компьютером при помощи пульта дистанционного управления от телевизора, видеомагнитофона и другой бытовой техники. Необходимым условием нормальной работы устройства является использование пультом дистанционного управления формата ИК посылок RC5.

После подключения устройства к свободному USB-порту компьютера, оно определится как “Remote keyboard”. Windows установит необходимый драйвер, и через несколько секунд в диспетчере устройств появится новое USB HID-совместимое устройство. Если этого не происходит, в первую очередь нужно убедиться, что с операционной системой все в порядке, и она поддерживает USB-клавиатуру.

Операционные системы и большинство прикладных программ поддерживают “горячие клавиши”, что позволяет управлять популярными программами и функциями операционной системы, используя сочетания клавиш, сопоставленные определённым кнопкам ПДУ.

Принципиальная электрическая схема устройства приведена на рисунке.

Центральной частью устройства является микроконтроллер ATmega48. Программа, записанная в его память, осуществляет эмуляцию USB-клавиатуры компьютера и декодирует команды поступающие от пульта дистанционного управления.

В качестве пульта управления может использоваться любой пульт от бытовой техники работающий по стандарту RC-5. Обычно в названии таких пультов фигурируют надписи “RC-5” или “RC-6”.

На рисунке изображен пульт дистанционного управления RC6-5 от телевизора “Горизонт” и обозначены сочетания клавиш, соответствующие определённым клавишам ПДУ.

Для полнофунционального использования устройство необходимо наличие на компьютере операционной системы Windows Vista, Windows Seven или выше. Только в операционных системах, начиная с Windows Vista, предусмотрено переключение между окнами приложений через меню. Для вызова этого меню на ПДУ предусмотрена клавиша “[ /=]”, а в операционной системе сочетание клавиш Ctrl+Alt+Tab.

В операционных системах Windows XP и Windows 2000 данная функциональная возможность отсутствует. В качестве альтернативного варианта переключения между окнами запущенных приложений возможно использовать сочетание клавищ Alt+Esc и кнопку “TV” ПДУ.

Пульт ДУ RC6-5 содержит кнопку переключения системного адреса (“VCR”), переключающую адрес управляемого ПДУ устройства с телевизора на компьютер. Эту кнопку целесообразно использовать при управлении от данного пульта ДУ не только компьютером, но и телевизором независимо друг от друга.

При нажатии кнопки “VCR” совместно с другими клавишами ПДУ будет осуществляться управление компьютером, а при нажатии только на клавиши управления пульта ДУ – телевизором (в данной версии программного обеспечения устройства, дистанционное управление компьютером возможно при любом положении кнопки переключения адреса системы ПДУ).

Кнопки “0”…”9″ ПДУ задействованы для быстрого запуска приложений.

Для настройки быстрого приложения, ярлык которого выложен на рабочий стол, нужно навести курсор мыши на ярлык, нажать правую кнопку и из выпадающего меню выбрать пункт “Свойства”.

Затем на вкладке “Ярлык”, поставив курсор в поле “Быстрый вызов”, нажать нужную клавишу из диапазона 0…9 на цифробуквенной клавиатуре компьютера.

Теперь для запуска приложения будет назначена комбинация вида Ctrl+Alt+цифра, соответствующая определённой кнопке пульта ДУ.

В случае необходимости, сочетания клавиш могут быть изменены путём перепрограммирования микропроцессора.

Для этого необходимо изменить в файле “command.asm” коды команд на необходимые вам и заново откомпилировать программу при помощи среды разработки AVRStudio версии не ниже 4.11.

Формат данного файла следующий. Нулевой и первый байты не используются, в них можно записать, например, номер версии прошивки. Байты 2…7 предназначены для хранения системы.

Учитывая, что система обычно одинакова для всех кнопок пульта, достаточно записать ее только в байт 2. Устройство будет реагировать на любую из шести возможных систем, поэтому, если используется только одна, байты 3…7 должны быть не запрограммированы, т.е. содержать $FF.

Начиная с 8-го байта записывается соответствие команд и кодов, имитируемых ими клавиш. Каждой кнопке можно назначить до 6 одновременно нажатых клавиш клавиатуры, плюс до 8 модифицирующих клавиш – это правые и левые Shift, Control, Alt, Win.

Затем должен быть признак конца команды – байт $FF. Файл можно создать в любом текстовом редакторе, выглядеть он будет примерно так:

.eseg ; сегмент EEPROM
.org $00 ; начальный адрес
.db $00,$01 ; версия
.db $00,$FF,$FF,$FF,$FF,$FF ; система 00
.org $08
.db $2A ; кнопка POWER пульта
.db $E2,$3D,$FF ; LeftAlt+F4 – закрыть окно
.db $15 ; кнопка MUTE пульта
.db $E0,$12,$FF ; LeftCntrl+O – открыть файл

и т.д. для всех кнопок пульта.

В устройстве предусмотрен тестовый режим работы, который можно использовать для проверки работо-способности пультов ДУ.

Для включения тестового режима необходимо кратко-временно нажать на расположенную на корпусе устройства кнопку. При входе в тестовый режим загорится индикаторный светодиод.

Выход из тестового режима осуществляется повторным кратковременным нажатием на кнопку.

В тестовом режиме для проверки работоспособности пульта ДУ и устройства управления на компьютере нужно запустить любой текстовый редактор, например, “Блокнот”, включить английскую раскладку клавиатуры и нажать какую либо кнопку на пульте ДУ. Если пульт работает в стандарте RC-5, в редакторе будет напечатано примерно следующее:

002a=

Первые две цифры – это номер системы, в которой работает пульт (от 00 до 1F).

Следующие 2 цифры – код нажатой кнопки пульта (от 00 до 7F).

Символы следующие после знака “=” – это коды клавиш клавиатуры, сопоставленные данной кнопке пульта ДУ. Коды кнопок USB клавиатуры компьютера приведены на рисунке.

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

Необходимые файлы для сборки устройства можно скачать на моём сайте на страничке, посвящённой данному устройству.

По адресу электронной почты servissistemy@narod.ru готов ответить читателям на возникшие в процессе сборки и программирования устройства вопросы.

Алексей ФИЛИПОВИЧ

Источник: https://www.kv.by/content/320868-usb-ustroistvo-dlya-distantsionnogo-upravleniya-kompyuterom

Ик пульт для пк и розеток. часть 1

У меня нет телевизора. Совсем. На антресолях где-то лежит старый маленький пузатик, но кабель антенны давно свернут, а телевизор этот — скорее издевательство, разве что на кухне поставить и то маловат. Поэтому в качестве музыкального центра и телевизора я использую свой ПК.

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

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

Также написан плагин для популярной программы настройки горячих и мультимедийных клавиш MKey, для тех, кто не хочет разбираться в моей программе, кто не хочет ставить еще одну программу или уже пользуется MKey. Плагин делает из ИК пульта набор мультимедийных кнопок. Назначайте им действия какие захотите. Как пользоваться, расскажу.

Недостатки

А куда без них 🙂

  • Пока на мой взгляд распознавание нажатий кнопок пультов не идеально. Можно сделать лучше, уверен. Но это исправляется программно.
  • Вшитые функции, работающие и без ПК, можно поменять только перекомпилировав прошивку, а для этого придется скачать AVR Toolchain — писать прошивку в Arduino IDE сплошное мучение для меня, поэтому я пользуюсь Code::Blocks. Но залить прошивку в Arduino не составляет никакой проблемы. Даже в консоль лезть не придется. Позже можно будет и программно назначить эти функции любым кнопкам пульта.
  • Программа на английском. Я знаю, что у подавляющего большинства проблемы с английским и знаю привычку все и вся русифицировать.

Я не люблю русифицированные интерфейсы по двум причинам:

  1. Русские надписи почти всегда длиннее английских либо имеют уродливые сокращения.

  2. В русском языке не сложилось однозначной терминологии для ИТ и надписи на элементах интерфейса часто больше путают чем проясняют.

Но, весь софт открытый, плагин к MKey вообще не требует ничего читать и настраивать в нем, а надписи в моей программе вы можете перевести, если 7 кнопок и 2 пункта меню вызывают проблемы с пониманием или запоминанием.

Скомпилируйте и измените сами. Написано на Delphi 2010, проприетарных программных компонентов нет. Я расскажу сначала как сделать на основе 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

Вот для этого нам и понадобится 4проводный кабель, на конце кабеля припаиваем PBS-4, чтобы аккуратно надеть на вилку платы с реле, конец к макетной плате удобнее сделать с вилкой. Теперь разбираем розетки. Если вы взяли кабель питания для компа, отрезаем конец силового кабеля, оставив только вилку Schuko и подключаем: Коричневый провод — фаза — подаем на реле, на тот конец, что в нормальном состоянии разомкнут (на плате нарисовано). Синий провод — ноль, подаем напрямую на розетки, на один из контактов. Желто-зеленый — защитное заземление, подключаем к контуру заземления розеток.

(Расцветку поправил Nickel3000, у меня в описании коричневый и синий были перепутаны, хотя в данном случае это большой роли не играет).

Средний контакт реле, который будет замыкаться с фазой при переключении реле, выводите каждый к своей розетке (тут нам и понадобится тот медный провод из пункта 5) на второй контакт.

Можете прозвонить вилку — два штырька должны звониться на синий и коричневый провод, желтозеленый — на контакты заземления на корпусе вилки.

Помещаем все это в корпус (у меня просто коробочка):
«USB-IRPC 2-sockets 220v module»

Подключаем управление питанием ПК

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

Если будут желающие, отдельно расскажу что и как работает с программной точки зрения.

Источник: https://habr.com/post/151998/

Приемник команд ИК ПДУ с интерфейсом USB

Радиолюбители, повторившие конструкцию А. Зотова [1], убедились, насколько удобно, не подходя к компьютеру, выполнять на нем простейшие, но порой очень необходимые операции. Взаимодействие приемника команд с компьютером происходило через СОМ-порт, что накладывало некоторые ограничения на другие устройства, подключаемые к тому же порту. Ведь в современных компьютерах про-

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

На рис. 1 изображена схема приемника команд ИК ПДУ, взаимодействующего с компьютером по USB. Его основной элемент — микроконтроллер

AT90S2313 [2] (DD1) — выполняет преобразование принятых от модуля ИК приемника В1 [3] команд к виду, пригодному для передачи по интерфейсу USB в компьютер. К выходу модуля В1 подключен и светодиод HL1, который мигает во время приема команды. Резистор R3 необходим для того, чтобы при соединении вилки Х1 с розеткой USB компьютера последний автоматически опознал подключенное устройство.

Чертеж печатной платы приемника и расположение на ней деталей изображены на рис. 2. Для микроконтроллера DD1 на плате установлена 20-контактная панель, все остальные детали впаяны непосредственно в плату. ИК приемник TSOP1736 можно заменить также широко распространенным SFH506-36. Тип остальных деталей значения не имеет.

Для загрузки в микроконтроллер программы я воспользовался простейшим программатором, собранным по схеме, показанной на рис. 3.

Конструктивно он состоит из вилки DB25M (Х1), подключаемой к розетке порта LPT компьютера, и панели для программируемого микроконтроллера.

Резисторы R1—R3 и перемычки припаяны непосредственно к соответствующим контактам вилки и панели. Программатором управляет программа IC-Prog, работа с которой подробно описана в

[4]. В списке программаторов, обслуживаемых этой программой, необходимо выбрать Fun-Card Programmer.

Порядок использования изготовленного приемника совместно с программой Girder для управления компьютером аналогичен описанному в [1], за исключением того, что вместо плагина для СОМ-порта Igor SFH-56 device следует использовать его обновленную версию IgorPlug-USB с поддержкой USB устройств. Для этого, выполняя п. 7 предложенной А. Зотовым процедуры настройки, следует “щелкнуть” по строке “IgorPlug-UDP/IP and IgorPlug-USB and IgorPlug-COM for WinXP” списка плагинов, нажать на экранную кнопку “Настройки” и выбрать порт USB.

В заключение стоит сказать, что такое устройство можно использовать для ввода в компьютер не только команд, но и другой цифровой информации. Если, например, вместо модуля ИК приемника установить датчик температуры (например, DS18B20) и соответствующим образом изменить программу микроконтроллера, то можно вводить по интерфейсу USB в компьютер показания этого датчика.

прошивка

ЛИТЕРАТУРА

1. Зотов А. Управляем программами с помощью ПДУ. — Радио, 2004, № 8, с. 22, 23.

2. ATtiny2313 Product Card. — .

3. Долгий А. Модули приемников ИК сигналов. — Радио, 2005, № 1, с. 47—50.

4. Долгий А. Программаторы и программирование микроконтроллеров. — Радио, 2004, № 1— 12; .

От редакции. Программа микроконтроллера и необходимый для работы устройства плагин находятся на нашем FTP-сервере по адресу .

Редактор — А. Долгий, графика — А. Долгий

Источник: http://cxema.my1.ru/publ/distancionnoe_upravlenie_kompjuterom/priemnik_komand_ik_pdu_s_interfejsom_usb/88-1-0-2147

Разработка ИК-приемника для дистанционного управления компьютером

Солодов В.А., студент Уфимского государственного колледжа радиоэлектроники

Королькова Г.Г., научный руководитель, преподаватель Уфимского государственного колледжа радиоэлектроники

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

Современный компьютер сегодня – это не только компьютер, но и музыкальный центр, проигрыватель компакт дисков (аудио, видео), при соответствующем оборудовании это еще и радио, телевизор.

Исторически сложилось так, что в отличии от бытовой техники он не имеет возможности дистанционного управления, ставшей уже привычной для телевизора или музыкального центра.

Чтобы научить компьютер понимать команды ИК-пульта дистанционного управления, для этого не требуется специально изготовленный пульт, а используется пульт от бытовой техники, в данном случае от телевизора.

Приемная часть системы дистанционного управления выполняет три основные функции: прием сигнала, распознавание, формирование управляющей команды. Таким образом, задача разбивается на две части: программная и аппаратная.

Возможно две последние полностью поручить компьютеру, хотя некоторые производители приемников ИК-сигнала считают иначе, оставляя функции распознавания внешнему устройству.

Это значительно упрощает программную часть, но приводит к удорожанию самого устройства.

ИК-приемники работают по следующему алгоритму: при нажатии на кнопку пульта, микросхема передатчика активизируется и генерирует последовательность импульсов, которые имеют частоту 36 КГц. Светодиоды преобразуют эти сигналы в ИК-излучение.

Излучаемый сигнал принимается фотодиодом, который снова преобразует ИК-излучение в электрические импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника.

Затем они подаются на модуль логической дешифрации команд который связан с блоком сопряжения.

При всей сложности конструкции она является более миниатюрной, чем все предыдущие аналоги. Использование современных технологий позволило не только усовершенствовать устройство, но и сделать его более эргономичным.

Передаваемые сигналы с пульта дистанционного управления принимает микросхема ИК-приемника ILMS5360 (B1). В ней происходит процесс демодуляции несущей частоты посылок RC-5 (36кГц).

Протокол RC-5 основан на передачи данных при помощи манчестерского кода, логическая «1» интерпретируется при переходе поступившего, от ИК-приемника, инвертированного сигнала в середине бита, из высокого состояния в низкое, а логический «0» – при переходе из низкого состояния в высокое. На выходе ИК-приемника принятый сигнал присутствует в виде логического сигнала соответствующего переданному последовательному пакету данных. При отсутствии ИК-сигнала с частотой модуляции 36кГц на выходе ИК-приемника присутствует высокий логический сигнал, а при наличии сигнала с частотой модуляции 36кГц на выходе присутствует низкий логический сигнал.

Сформированный входной сигнал с микросхемы ИК-приемника (B1) подается на вход PB0 микроконтроллера Atmega48 (DD1) в формате представленном на рисунке 2.2. Декодирование ИК посылок в микроконтроллере осуществляется программно. Анализируя код принятых команд микроконтроллер DD1 формирует соответствующие сигналы управления и передает их на USB разъем X1.

Диоды VD1 и VD2 необходимы для уменьшения напряжения питания микроконтроллера до 3..3,6В и уровней на линии D+ D- интерфейса USB.

Рисунок 2.2 – Инвертированный пакет данных стандарта RC-5

Структурная схема разрабатываемого устройства изображена на рисунке 2.2

Оно состоит из следующих блоков:

1) микроконтроллера;

2) разъема для подключения к программатору;

3) светового индикатора;

4) разъема для подключения к компьютеру;

5) инфракрасного приемника;

6)клавиша переключения.

Все функции, выполняемые разрабатываемым устройством, заложены в управляющей программе, хранящейся в FLASH-памяти и программе идентификации кодов заложенных в EEPROM памяти данных микроконтроллера. Внесение программы в память МК (его программирование) осуществляется через разъем подключения к программатору.

Для начала записи программы с программатора нужно перевести устройство, в тестовый режим нажав клавишу переключения расположенную на плате устройства. Инфракрасный приемник принимает сигнал с пульта дистанционного управления стандарта RC-5, декодирует его и передает сигнал в МК.

МК получает сигнал с инфракрасного приемника и в соответствии с программой записанной в EEPROM, передает комбинацию клавиш управления на персональный компьютер.

Для оповещения в схеме используются световой индикатор. Световой индикатор получает управляющие сигналы непосредственно от МК. При нажатии на клавишу пульта дистанционного управления, световой индикатор начинает моргать с частотой поступаемого сигнала на МК.

Основное питание схемы осуществляется от персонального компьютера через USB порт с напряжением +5В, дополнительного источника питания не требуется.

Описание конструкции устройства ИК-приемника для дистанционного управления компьютером

Конструкция ИК-приемника для дистанционного управления компьютером может считаться технологичной, т.к. она отвечает соответствующим эксплуатационным требованиям, обеспечивает возможность применения высоко производительных методов изготовления при минимальных затратах рабочей силы, наиболее нужной ее квалификации и рациональном использовании оборудования, материалов.

В качестве материала основания разрабатываемой односторонней печатной платы был выбран стеклотекстолит, преимуществом которого является то, что он позволяет использовать все виды обработки, высокой стойкостью к действию агрессивных сред и не теряет своих свойств при эксплуатации в течении 20 лет и более.

Форма платы – прямоугольная, размер платы 105*65 мм отвечает требованиям размерности ПП, т.к.

желательно (если имеется возможность) чтобы размеры платы не превышали 240*240мм, и требованиям соотношения сторон ПП, согласно которым не рекомендуется превышать соотношение сторон платы 1:4, иначе плата будет подвергаться излишним перегрузкам и деформациям. Печатная плата представлена на рисунке 2.6.

Размеры всех отверстий на плате унифицированы. Значение разных диаметров отверстий приведено к двум, т.к. увеличение числа типоразмеров отверстий затрудняет их обработку в связи с необходимостью частой смены сверел на станках с ЧПУ.

Плата изготовлена комбинированным негативным методом, дающим возможность изготовления ПП с наибольшей плотностью монтажа. Комбинированным негативным методом рекомендуется для изготовления ПП ответственной аппаратуры при тщательной отработке процесса и контроле электрических параметров радио элементов.

Корпус изготовлен из черного пластика, толщина стенок 2,5 мм состоит из двух частей, соединение нижней и верхней части осуществляется четырьмя саморезами.

Передняя панель корпуса выполнена из специального инфракрасного фильтра с полосой прозрачности, совпадающей со спектром излучения ИК-приемника. В качестве фильтра выбираем окрашенный полистирол.

Габаритные размеры корпуса представлены на рисунке 2.4.

ПП устройства устанавливается в нижнюю часть корпуса и фиксируется верхней частью, с боку выведет разъем для программирования, а в задней части корпуса разъем для подключения компьютера.

Рисунок 2.3 – Габаритные размеры корпуса устройства ИК-приемника для дистанционного управления компьютером

Рисунок 2.4 – Печатная плата устройства ИК-приемника для дистанционного управления компьютером

Источник: https://cyberpedia.su/15xd861.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}