Донецкий техникум промышленной автоматики

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 клавіатури комп'ютера наведені на малюнку.

Таким чином можна визначити коди всіх кнопок пульта.

Необхідні файли для складання пристрою можна завантажити на моєму сайті на сторінці , Присвяченій Цей пристрій.

За адресою електронної пошти [email protected] готовий відповісти читачам на виниклі в процесі складання і програмування пристрою питання.

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