077-Запись сигналов IR-пульта на звуковую карту.

Автор: | 02.07.2011

титлСоздавая устройства для работы с IR-пультами очень необходим инструмент, при помощи которого можно было бы записывать и анализировать IR-сигналы. Таким инструментом, в идеале, мог бы стать цифровой осциллограф или логический анализатор, но эти приборы далеко не у всех есть, а специально покупать — дорого. Как же быть? Есть очень простое решение – звуковая карта компьютера! Сигнал будем записывать с ее помощью.

Кроме звуковой карты (которая, я надеюсь, есть в Вашем компьютере) нам понадобиться приемник IR-сигналов. Правильней бы собрать полноценную схему приемника с TSOP, но поступим максимально просто — в качестве IR-приемника возьмем самый обычный IR светодиод (тот самый который стоит в Вашем пульте). Можно, конечно, взять и IR фотодиод, но IR светодиод достать проще. IR светодиод нужно подключить напрямую к микрофонному входу звуковой карты. Для этого понадобиться 3.5мм штекер и кусок экранированного провода (шнурок с разъемом я отрезал от старого неработающего микрофона).

Подключается светодиод следующим образом:

Схема включения приемника

В результате, получим вот такое устройство:

Вид приемника

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

Способ записи

Если у Вас, по какой либо причине, нет микрофонного входа (например, в ноутбуке) — подключайте приемник к линейному входу звуковой карты – все будет работать так же, только амплитуда записанного сигнала станет намного меньшей.


Теперь нам нужна программа для записи звука.
Для этих целей подойдет любая программа, которая у Вас есть. Если у Вас нет любимой программы для работы со звуком, предлагаю небольшую и бесплатную программку — Wavosaur (http://www.wavosaur.com/) Программа работает без установки и имеет небольшой размер — как я люблю :).

Wavosaur.1.0.5.0(en).zip - Программа для работы со звуком.

После запуска программы включаем индикатор уровня (линейка в правой части окна) и проверяем реакцию на сигналы пульта. По умолчанию должно все заработать – линейка будет зашкаливать от принимаемых сигналов  (если реакции нет — лезем в настройки Audio configuration/Audio in). Далее нажимаем пиктограмму записи, подносим пульт максимально близко к приемному светодиоду, нажимаем клавишу пульта и удерживаем пару секунд. Отключаем запись – Готово! В окне мы увидим развертку принятого IR сигнала. Что интересно, сигнал будет уже детектированным – мы не увидим несущей частоты, а только полезный сигнал. Так получается из-за того, что входные емкости микрофонного входа не успевают перезаряжаться.

Скириншот вавозавра

Полученный сигнал можно масштабировать по времени, амплитуде и, что очень удобно, выделяя определенный промежуток, сразу можно увидеть его длительность. Принятый сигнал можно сохранить (лучше в wav-формате – не будет искажений) или экспортировать в MP3, текст, бинарный файл (полезная штука!).

Для примера, сигнал моего пульта от телевизора (формат NEC):

Файл примера

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

P.S.
Большая просьба! Если Вы соберете такой приемник, сохраните посылки Ваших пультов и пришлите мне на мыло (в закладке «о проекте») – это очень поможет в улучшении алгоритма универсального приемника. В названии файла указывайте от чего пульт и фирму изготовителя (например: tv-sony.wav).


Еще о работе с IR пультами!
Мною был предложен самый простой вариант «пощупать» сигнал от IR-пульта, но есть множество решений которые могут делать намного больше! Принимать IR-сигнал, анализировать, сохранять, воспроизводить, программировать свои пульты, управлять компьютером … Этот раздел и будет содержать ссылки на такие решения.

1. DvzRcEditor
Первой у нас пойдет программка DvzRcEditor, которую скинул  mobi. Программу сделал некий Dvz 2010 (к сожалению нет его координат, может знает кто?).

DvzRcEditor.zip - Программа для анализа и повторения IR-сигналов.
Программа позволяет при помощи микрофонного входа и аудиовыхода как записывать так и воспроизводить IR-посылки. Имеются средства для анализа IR-посылки и создания базы посылок пультов (есть  небольшая база по различным пультам). Интересным решением является поддержка своего пульта, сделанного на ATtiny2313.

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

Все просто и наглядно — мне понравилось!


2. SlyControl.
http://slydiman.narod.ru/scr/index.htm
Это даже не программа — это целый интернет ресурс посвященный IR пультам. Содержит много полезной информации, аппаратные и программные решения на все случаи. Вот, что авторы пишут о SlyControl:
— это универсальная программа для управления всем, чем угодно с помощью компьютера.

Для чего это можно использовать:
— управление любыми программами с любого пульта дистанционного управления (ДУ), с клавиатуры мультимедиа клавишами или джойстиком
— эмуляция клавиатуры и мыши с любого пульта ДУ
— планировщик (не просто запустить программу по времени, но и выполнить с ней какие-то действия)
— выключение компьютера по таймеру или по событию
— можно и свет в квартире включать с ДУ, нужно только плагин соответствующий добавить 😉

А еще на ресурсе есть программа RCExplorer 2.1 — база данных по ИК пультам (база содержит более 200 записей).

Программа позволяет:
— Принимать сигнал с пультов используя звуковую карту, COM порт, IgorPlug-USB или IgorPlug2
— Детально анализировать сигнал — (модуляция, временные характеристики, особенности кодирования, коды повтора и пр., поддерживаются все известные мне на данный момент протоколы, программа может работать и с неизвестными протоколами.
— Графически отображать сигнал в реальном времени и по данным из базы
— Производить поиск аналогичного пульта по базе данных
— Воспроизводить команду пульта по данным из базы через COM порт

В общем, обязательно посетите ресурс — будет интересно.

(Visited 6 940 times, 14 visits today)

077-Запись сигналов IR-пульта на звуковую карту.: 94 комментария

  1. ZiB

    Как придет ИК диод TSAL6200, запишу от видеокамеры Canon и от TV тюнера AverMedia.

  2. Леонид

    через несколько часов скину

  3. Ghjuhfvvf

    Анод светодиода на землю?

  4. GetChiper Автор записи

    Так лучше получается, но можно и наоборот — пробуйте.

  5. aui2002

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

  6. ZiB

    @aui2002
    Почитайте микроэлектронику, ключевые слова: полупроводник, фотон, фотоэффект.

  7. GetChiper Автор записи

    aui2002 :

    как светодиод, который, по идее, должен передавать сигнал умудряется его принимать?)

    Любой p-n переход является фотоэлементом. Будь то светодиод, транзистор или даже стабилитрон… Другое дело его КПД… но для наших целей сойдет.

  8. ewgeny

    Любой полупроводник изменяет электрические свойства под воздействием света. Меняет сопротивление и/или сам генерирует электрический ток (зависит от структуры). Свет — не обязательно видимая часть спектра, как правило охватывается и ультрафиолет и инфракрасная зона. Это в общих чертах.
    Ради интереса не пробовали «смотреть» камерой мобильника на ИК-светодиод пульта во время работы? 😉 У «чайников» обычно раздается возглас «ОГО!»

  9. Леонид

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

  10. Леонид

    позже пришлю звук пульта от телека тоже лыжи

  11. aui2002

    Понял, спасибо!
    Про фотоэффект, конечно, слышал, но почему-то всегда думал, что в фотоэлементах p-n переход отличается (по дырчатости) от аналогичных переходов в диодах и транзисторах. (Хотя, ели дело в КПД, то различия все-таки есть, хотя бы по площади засветки)

    Только вот, простите, ewgeny, свет — это все-таки, строго говоря, видимая часть спектра электромагнитного излучения, без УФ и ИК.
    И на экране мобильника мы видим все-таки не инфрактасный «свет», а результат «возбуждения» матрицы камеры электромагнитными волнами невидимого диапазона (ИК). Это «возбуждение» просто интерпретируется чипом телефона, как белый цвет видимого диапазона с фиолетовым оттенком.

  12. ewgeny

    aui2002, вы правы. Впрочем, как и я 🙂
    Свет — всего лишь условное название части электромагнитного спектра. Общепринятое название, так сказать. Если бы мы могли видеть спектр чуть больше вверх или вниз, то и определение слова «свет» сместилось бы.
    Да оно и так весьма примерно, люди хоть немножко, но по разному видят границы спектра. У полупроводников этот «видимый» диапазон шире чем у глаза, но фильтры цветовых компонент в камере неэффективно отсеивают лучи невидимого для глаза «света», поэтому камера и видит ИК-спектр. Оттенок этого спектра и яркость определяется качеством этих фильтров в камере. Фотоаппараты «видят» обычно гораздо слабее дешевых камер мобильников.
    Фотопленка цветная (и ч/б), кзтате, прекрасно видит ультрафиолет 🙂
    Есть также мнение, что некоторые экстрасенсы умудряются видеть как раз кусок инфракрасного спектра, чем объясняется видимость ими «душ» и прочих монстров. Обычные же люди просто почувствуют тепло/холод 🙂

  13. aui2002

    Согласен )))
    Кстати, пленка еще прекрасно «видит» рентген и радиацию ))

  14. ankar

    Выслал Вам снимки 3 пультов. Объем, правда, большой.Приемник собран на TSOP ,благо на у нас их навалом.

  15. alexfick

    Подскажите как определить какой протокол передачи у пульта?

  16. GetChiper Автор записи

    Спасибо! Исправил.

  17. ProgrammerForever

    Делал как-то программу для управления компом с ИК-пульта. Тогда слово «микроконтроллер» было для меня страшной пугалкой! =)

    К микрофонному входу подключал интегральный ИК-приёмник, сигнал снимал с микрофона. Программа писалась на VB6. На код ушла гора времени, но, т.к. я иногда бываю параноиком, код на флешке не хранил дабы «не потерять флеш, и чтоб никто не спер код». Аж смешно сейчас. В результате накрылся HDD и исходники я потерял. Пришлось переписывать. Но с HDD мне и второй раз не повезло. Кстати, своего я добился: программа работала на ноуте, и чётко реагировала на команды. Даже режим обучения в программе был реализован для адаптпции к разным пультам.

    Сейчас я для себя и некоторых моих знакомых (в подарок) собрал приёмник на AtMega8+MKey. Благодаря этому приборчику я и мой ученик заняли первое место по Алтайскому краю в конкурсе «Будущее Алтая». Должны скоро ехать в Москву, хотя врят ли наши жмоты деньги на поездку выделят.. Школы совсем забрасываются.

  18. GetChiper Автор записи

    Да, способов работать с ИР пультами множество, Это говорит о том что такой способ управления удобен и востребован.

  19. IseMan

    А почему нельзя просто фотодиод взять ,он разве хуже будет работать?

  20. IseMan

    КАК ВЫ настроили прогу так чтобы были такие красивые импульсы ,у меня импульсы острые но не срезаные как у вас?

  21. GetChiper Автор записи

    Фотодиод можно брать — будет лучше, но просто светодиод проще купить и потом он пригодиться в устройствах блога.

    Красивые импульсы из за большого уровня входного сигнала — звуковуха их обрезает. Для этого в настройках звуковой карты нужно уровень усиления микрофона выкрутить на максимум + установить галочку «буст» (почти во всех звуковухах есть) + максимально сблизить светодиоды при записи.

  22. mxroman

    Радио 2005-2 стр. 53… неплохая статейка Тестер для проверки пультов ДУ RC5, с выводом индикации на дисплей…

  23. mobi

    Класная программка для скачивания и воспроизведения ИК команд, со схемкой обучаемого пультика. http://depositfiles.com/files/gag8j8k68
    Проверена 100% всё рабочее.

  24. GetChiper Автор записи

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

  25. mobi

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

    «Курите» на здоровье -:)))). Вот ещё исходник прошивки откопал, может пригодится. http://depositfiles.com/files/jth7756p6

  26. mobi

    И ещё, коментарий к исходникам.

    «Основное состояние — глубокая спячка, при этом остановлено все что только можно…
    При проигрывании заводятся 2 таймера — один на 44100, считать длительности импульсов, второй в режиме FAST PWM генерит 36кгц на выход. При проигрывании 1ной пачки выход настраивается на вывод, при 0ой части пакета — на ввод, и , соответственно отключается от выходных цепей пульта… При переходе в/из спячки таймаут для корректной отработки посылок UART…»

  27. AlexZW

    Выглядит конечно здорово и как бы просто, тока вот я не понял, а откуда частота несущей то берется? Ну на вход там посылки слипаются, а на выход то 38кГц выдать надо — где их взять в звуковом тракте который до 20кГц?
    Я видел где то тему про использование стереоканалов со сдвигом по фазе, но тут про нее ничо не упомянуто.

  28. GetChiper Автор записи

    Если Вы про программы внизу статьи, то несущая получается включением 2х светодиодов параллельно-встречно соответственно 16 кГц выдаваемые звуковухой превращаются в 38 (положительная и отрицательная полуволна)

  29. GetChiper Автор записи

    Что-то я не понял сути проблемы. Подробней объясните.

  30. bei3

    GetChiper :
    Что-то я не понял сути проблемы. Подробней объясните.

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

    вот так выглядеть рабочий файл
    http://s018.radikal.ru/i511/1202/00/13c2fbabfe0a.jpg
    а так то что я записал с пульта
    http://s007.radikal.ru/i301/1202/73/48208a9f81ce.jpg

    вот здесь эти файлы. mute1 рабочий, mute2 то что я записал.
    http://depositfiles.com/files/kzmrw95g5

    как заставить работать, что делаю не так?

  31. GetChiper Автор записи

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

  32. bei3

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

    собрал вот так, может что то не правильно сделал?
    [URL=http://www.radikal.ru][IMG]http://s017.radikal.ru/i437/1202/78/e1eba58b789e.jpg[/IMG][/URL]

  33. GetChiper Автор записи

    Диод лучше перевернуть (хотя будет работать и так).

  34. bei3

    GetChiper :
    Диод лучше перевернуть (хотя будет работать и так).

    спасибо, поменял все заработал.

  35. SVN

    Ваш блог как палочка-выручалочка. За что огромное спасибо. Задал вопрос на форуме по программе DvzRcEditor, в теме «Устройство на стадии разработки». Ответьте если располагаете информацией.

  36. GetChiper Автор записи

    Не нашел вопроса — дайде ссылку.

  37. GetChiper Автор записи

    Ответил

  38. sky76

    Доброго времени! Меня интересует будет ли работать программируемый пульт с частотами 36 и 38 кГц.

  39. GetChiper Автор записи

    Это тот который я сейчас делаю или Вы о каком то другом говорите?

  40. sky76

    Я по этому проекту спрашиваю DvzRcEditor.

  41. GetChiper Автор записи

    Думаю да.

  42. dnl

    все делаю как вы описали но у меня получается белиберда, (делаю в powergraph) мой сигнал с пульта совсем не похож на код, в чем может быть дело, может звуковая карта не тянет? (realtek hd)посмотрите, кто разбирается, если не трудно: http://files.inbox.lv/files/download/?id=4797090

  43. GetChiper Автор записи

    Картинку бы глянуть без регистрации на инбоксе…

Добавить комментарий