Создавая устройства для работы с IR-пультами очень необходим инструмент, при помощи которого можно было бы записывать и анализировать IR-сигналы. Таким инструментом, в идеале, мог бы стать цифровой осциллограф или логический анализатор, но эти приборы далеко не у всех есть, а специально покупать — дорого. Как же быть? Есть очень простое решение – звуковая карта компьютера! Сигнал будем записывать с ее помощью.
Кроме звуковой карты (которая, я надеюсь, есть в Вашем компьютере) нам понадобиться приемник IR-сигналов. Правильней бы собрать полноценную схему приемника с TSOP, но поступим максимально просто — в качестве IR-приемника возьмем самый обычный IR светодиод (тот самый который стоит в Вашем пульте). Можно, конечно, взять и IR фотодиод, но IR светодиод достать проще. IR светодиод нужно подключить напрямую к микрофонному входу звуковой карты. Для этого понадобиться 3.5мм штекер и кусок экранированного провода (шнурок с разъемом я отрезал от старого неработающего микрофона).
Подключается светодиод следующим образом:
В результате, получим вот такое устройство:
Вставляем штекер в микрофонный вход (он розового цвета). В настройках звуковой карты выбираем микрофон как входное устройство, регулятор усиления выкручиваем на максимум и ставим галочку дополнительного усиления. Для проверки, направляем пульт на светодиод-приемник (необходимо максимально приблизить к пульту), нажимаем клавишу – в динамиках должны слышаться щелчки.
Если у Вас, по какой либо причине, нет микрофонного входа (например, в ноутбуке) — подключайте приемник к линейному входу звуковой карты – все будет работать так же, только амплитуда записанного сигнала станет намного меньшей.
Теперь нам нужна программа для записи звука. Для этих целей подойдет любая программа, которая у Вас есть. Если у Вас нет любимой программы для работы со звуком, предлагаю небольшую и бесплатную программку — Wavosaur (http://www.wavosaur.com/) Программа работает без установки и имеет небольшой размер — как я люблю :).
После запуска программы включаем индикатор уровня (линейка в правой части окна) и проверяем реакцию на сигналы пульта. По умолчанию должно все заработать – линейка будет зашкаливать от принимаемых сигналов (если реакции нет — лезем в настройки Audio configuration/Audio in). Далее нажимаем пиктограмму записи, подносим пульт максимально близко к приемному светодиоду, нажимаем клавишу пульта и удерживаем пару секунд. Отключаем запись – Готово! В окне мы увидим развертку принятого IR сигнала. Что интересно, сигнал будет уже детектированным – мы не увидим несущей частоты, а только полезный сигнал. Так получается из-за того, что входные емкости микрофонного входа не успевают перезаряжаться.
Полученный сигнал можно масштабировать по времени, амплитуде и, что очень удобно, выделяя определенный промежуток, сразу можно увидеть его длительность. Принятый сигнал можно сохранить (лучше в wav-формате – не будет искажений) или экспортировать в MP3, текст, бинарный файл (полезная штука!).
Для примера, сигнал моего пульта от телевизора (формат NEC):
По картинке видны все временные интервалы, можно даже вычислить адрес пульта и код команды кнопки – все наглядно и понятно.
P.S.
Большая просьба! Если Вы соберете такой приемник, сохраните посылки Ваших пультов и пришлите мне на мыло (в закладке «о проекте») – это очень поможет в улучшении алгоритма универсального приемника. В названии файла указывайте от чего пульт и фирму изготовителя (например: tv-sony.wav).
Еще о работе с IR пультами!
Мною был предложен самый простой вариант «пощупать» сигнал от IR-пульта, но есть множество решений которые могут делать намного больше! Принимать IR-сигнал, анализировать, сохранять, воспроизводить, программировать свои пульты, управлять компьютером … Этот раздел и будет содержать ссылки на такие решения.
1. DvzRcEditor
Первой у нас пойдет программка DvzRcEditor, которую скинул mobi. Программу сделал некий Dvz 2010 (к сожалению нет его координат, может знает кто?).
DvzRcEditor.zip (7272 Загрузки)
Программа позволяет при помощи микрофонного входа и аудиовыхода как записывать так и воспроизводить IR-посылки. Имеются средства для анализа IR-посылки и создания базы посылок пультов (есть небольшая база по различным пультам). Интересным решением является поддержка своего пульта, сделанного на ATtiny2313.
Пульт имеет 7 клавиш которым можно задать любые команды из проанализированных, причем программа может сама записать сигналы для этих кнопок в микроконтроллер (при условии, что Вы первый раз прошьете туда бутлоадер).
Все просто и наглядно — мне понравилось!
2. SlyControl.
http://slydiman.narod.ru/scr/index.htm
Это даже не программа — это целый интернет ресурс посвященный IR пультам. Содержит много полезной информации, аппаратные и программные решения на все случаи. Вот, что авторы пишут о SlyControl:
— это универсальная программа для управления всем, чем угодно с помощью компьютера.
Для чего это можно использовать:
— управление любыми программами с любого пульта дистанционного управления (ДУ), с клавиатуры мультимедиа клавишами или джойстиком
— эмуляция клавиатуры и мыши с любого пульта ДУ
— планировщик (не просто запустить программу по времени, но и выполнить с ней какие-то действия)
— выключение компьютера по таймеру или по событию
— можно и свет в квартире включать с ДУ, нужно только плагин соответствующий добавить 😉
А еще на ресурсе есть программа RCExplorer 2.1 — база данных по ИК пультам (база содержит более 200 записей).
Программа позволяет:
— Принимать сигнал с пультов используя звуковую карту, COM порт, IgorPlug-USB или IgorPlug2
— Детально анализировать сигнал — (модуляция, временные характеристики, особенности кодирования, коды повтора и пр., поддерживаются все известные мне на данный момент протоколы, программа может работать и с неизвестными протоколами.
— Графически отображать сигнал в реальном времени и по данным из базы
— Производить поиск аналогичного пульта по базе данных
— Воспроизводить команду пульта по данным из базы через COM порт
В общем, обязательно посетите ресурс — будет интересно.