Как сделать из смартфона универсальный пульт дистанционного управления
Почти любой смартфон можно использовать в качестве пульта дистанционного упраления, даже если у него нет ИК-сенсора. Для этого нужно приобрести такой сенсор (за копейки) или сделать его самостоятельно (ещё дешевле).
Сенсор представляет из себя аудиоджек, к которому припаяны диоды, излучающие волны в инфракрасном диапазоне. Его можно приобрести в готовом виде на AliExpress за 50-60 рублей или изготовить из нескольких компонентов. Сенсор продаётся у разных продавцов (например, у этого), а для самостоятельной сборки потребуются следующие детали:
— Два ИК-диода
— Аудиокабель с джеком или отдельно 3,5-миллиметровый разъём
— Изолента или горячий клей
— Термоусадочная трубка
— Инструменты (нож, кусачки, паяльник с припоем и зажигалка или фен)
Соедините анод (длинную лапку) одного диода с катодом (короткой лапкой) второго диода и наоборот — катод к аноду. Одно соединение припаяйте к левому каналу (красный провод), а второе к правому каналу (провод в изоляции белого или другого цвета). Общий контакт («земля») не задействуется. Заизолируйте контакты изолентой или горячим клеем так, чтобы не было замыкания. Нагрейте термоусадочную трубку феном или зажигалкой и зафиксируйте с её помощью диоды, чтобы они не отпали.
Скачайте и установите приложение ZaZaRemote. Вставьте собранный вами ИК-сенсор в аудиоразъём смартфона и запустите ZaZaRemote. Это приложение задействует звуковой выход и будет подавать на него электрические сигналы, которые преобразуются в ИК-волны нужной частоты. Настройте приложение так, чтобы через него можно было управлять устройствами в вашем доме (телевизором, музыкальным центром, вентилятором, DVD-плеером кондиционером и т.д.)
Имейте в виду, что такой сенсор будет работать не на всех смартфонах. Некоторые устройства используют собственные технологии подачи звукового сигнала, из-за чего диоды не могут работать на нужной частоте.
Источник
Управление любой AV-техникой с телефона. ИК-приёмопередатчик для JACK 3.5
26-ого сентября в городе Пенза стартовал HackDay #32. Мы решили принять участие и реализовать ИК-приёмопередатчик для JACK 3.5. Главным требованием для нашего девайся являлась компактность и неиспользование источников питания.
Свою работу мы начали с перехвата сигнала пульта управления и изучения его осциллограммы. Для приема сигнала мы использовали обычный ИК-диод:
Для анализа сигнала мы пользовались программой Audacity:
Принятый сигнал крайне чистый.
Диод работает как демодулятор и мы не знаем, на какой несущей частоте передается сигнал. Для решения этой проблемы с ресурса remote.rtfms.com скачали пример сигнала, который нужно подать для телевизора фирны Samsung и с помощью той же программы начали исследовать.
Стереосигнал амплитудно-модулирован на пилообразный сигнал с частотой 20кГц, инверсный для каждого канала. Предположительно это сделано из-за того, что JACK стабильно может генерировать сигнал частотой не более 20кГц и к каждому каналу подсоединяется свой диод. Сигнал инвертирован, чтобы ИК-диоды срабатывали по разным фронтам.
Изменив ранее пойманный сигнал по этому алгоритму и сделав передатчик специально для данного алгоритма, мы начали тестировать.
Здесь земля не используется, диоды подключены разноименно к левому и правому каналам.
Схема работала, но нас не устраивало наличие 2-х диодов. Мы решили к данному треку подключить наш приёмник, он тоже управлял устройством. Следовательно, их трек избыточен и мы оставили только один канал.
Данное решение работает только на ПК и некоторых смартфонах с расстояния не более пары метров. Очень не хотелось использовать дополнительный источник питания, но некуда деваться. Для усиления сигнала мы использовали простой транзисторный ключ.
Схема потеряла способность принимать сигнал. В будущем можно доработать схему, мы переключали приемник и передатчик.
Для тестирования использовали DVD проигрыватель фирмы BBK и ресивер Триколор JS 7300. Наш приемник способен управлять данными устройствами с расстояния около 15 метров (на сколько хватило коридора). На демонстрации проектов мы хотели управлять со смартфона проектором ViewSonic PJD 5132. Хорошо, что заранее решили проверить работоспособность — ничего толком не работало. Проектор воспринимал наши управляющие сигналы только если близко поднести передатчик, что было проблематично, так как он висел под потолком.
Мы решили «поиграться» с частотами несущей. При изменении частоты наши тестовые устройства стали работать аналогично проектору, следовательно, накладывать информационный сигнал на одну и ту же несущую нельзя. В ходе долгих стараний мы подобрали частоту и демонстрация не сорвалась.
Приложение для смартфона, автоматически модулирующее считанный сигнал, сделать не успели. Мы записали в телефон готовые звуковые дорожки и стилизовали Activity аналогично пульту управления.
В ближайшее время его доделаем и разместим на Google Play в открытом доступе. Главной его фичей будет обучение командам устройств и возможность создания персонального пульта.
Источник
Универсальный ИК приёмник без драйверов и ПО.
Однажды, после кражи магнитолы из моего автомобиля я решил, что нужно сделать что-то такое, что будет неинтересно ворам, но очень функционально и удовлетворять мои потребности в мультимедии в машине. Поэтому я решил интегрировать в машину компьютер, в России это направление пока ещё слабо развито, а вот в США уже люди давно этим занимаются.
Однако и у нас в стране не мало людей, серьёзно занимающихся этим делом. Есть несколько информативных форумов(например, pccar.ru), неплохих магазинов(carmonitor.ru), ну и студий, которые помогут вам, если вы хотите повторить это у себя в авто.
Одной из проблем при построении так называемого CarPC является безопасное управление компьютером во время движения автомобиля, в основном для этого используется сенсорный дисп.
Однажды, после кражи магнитолы из моего автомобиля я решил, что нужно сделать что-то такое, что будет неинтересно ворам, но очень функционально и удовлетворять мои потребности в мультимедии в машине. Поэтому я решил интегрировать в машину компьютер, в России это направление пока ещё слабо развито, а вот в США уже люди давно этим занимаются.
Однако и у нас в стране не мало людей, серьёзно занимающихся этим делом. Есть несколько информативных форумов(например, pccar.ru), неплохих магазинов(carmonitor.ru), ну и студий, которые помогут вам, если вы хотите повторить это у себя в авто.
Одной из проблем при построении так называемого CarPC является безопасное управление компьютером во время движения автомобиля, в основном для этого используется сенсорный дисплей со специальным набором программ(я использую[url=» http://www.centrafuse.com/»]Centrafuse 3.1[/url]). Однако это всё-равно заставляет отвлекаться и переводить взгляд с дороги на монитор, намного удобней управлять часто используемыми функциями при помощи «нарульного» пульта от магнитолы. В 99% случаев это ИК пульты, поэтому в статье я расскажу как можно сделать(или приобрести и кастомизировать под свой пульт) ИК приёмник, который не требует драйверов и ПО после настройки, которую необходимо выполнить один раз.
Описанный мною ИК приёмник позволяет настроить его на приём сигналов от нарульного ИК пульта оставшегося от магнитолы: JVC RM-RK39 и управлять наиболее часто используемыми мною функциями программной оболочки Centrafuse 3.1(громкость, стоп/играть, следующий, предыдущий и т.д.) во время движения автомобиля, не отвлекаясь от дороги. Однако приёмник можно настроить на практически любой ИК пульт и выполнять практически любое управление, в ОС и программах, которые поддерживают горячие клавиши.
Конечно существуют и более простые способы ИК приёмников, но они имеют множество недостатков, я и сам ранее уже делал самодельный приёмник. [url=» http://www.pccar.ru/showthread.php?t=8458″]Тут[/url] описан мой проект по построению PCCar, там же есть и описание «старого» ИК приёмника, неудовлетворяющий моим сегодняшним требованиям.
Сейчас я перешёл на Windows 7 x64(купил лицензионный, домашняя базовая), всё мне нравится, но вот мой ИК приёмничек не имеет драйверов для x64(точнее есть какие-то, но не имеющие цифровую подпись, а запускать лиц. винду в тестовом режиме, как-то не по-человечьи). Да и кроме этого мой ИК приёмник имел ряд недостатков:
1) новые пульты не понимает(хотя мой JVC RM-RK39 к ним не относится),
2) имеет ложные срабатывания(как только на встречу едет машина с ксеноном — может самопроизвольно порегулировать чо-нидь, редко, но бывало),
3) Через USB-хаб не работает(что стало для меня актуально, когда добавились другие USB устройства)
4) Не работает под Windows 7
Чтобы не читать статью до конца, сразу выделю плюсы и минусы описанного в ней устройства:
1) После первоначальной настройки (во время эксплуатации) не требует стонних драйверов и дополнительных программ(типа SlyControl, Перехватъ и т.д. Устройство определяется как HID клавиатура + HID мышь(см. пункт 6), дрова под неё есть в любой винде штатно). Настройку можно провести только на WinXP или Win2000 и только с помощью программатора.
2) Эмулирует нажатие любых комбинаций клавиш(т.е. вы нажимаете кнопку пульта — Windows думает что нажали определённую клавишу или сочетание клавиш) очень удобно в Centrafuse использовать горячие клавиши.
3) Работает с большинством (98%) современных пультов (за бортом остались только экзотические и допотопные).
4) Работает стабильно и не имеет ложных срабатываний видит сигнал хоть из багажника.
5) Опционально(в этой статье не описано) есть вывод штатного управления тремя внешним нагрузками с возможностью расширения до 256 через SPI (их поддержку можно заказать на сайте автора данного программно аппаратного комплекса).
6) Опционально(в этой статье не описано) есть возможность управления курсором мыши.
Вот как оно выглядит:
Итак переходим описанию:
Порывшись очередной раз в интернете, я набрёл, на уже известный мне сайт: http://www.mindrunway.ru/, пожалуй, это лучшее описание как сделать самому действительно хороший ИК приёмник. Сайт очень информативный, поэтому чтобы людям не разбираться в нём неделю-другую, я опишу алгоритм применения этой информации для CarPC.
Итак имеем нарульный пульт(или любой другой ИК пульт, я буду описывать, как делал, имея пульт JVC RM-RK39).
1) Собираем устройство по [URL=» http://www.mindrunway.ru/IgorPlug2/IgorPlug_A4.pdf»]этой[/URL] схеме. Если в SMD корпусе, то по [URL=» http://www.mindrunway.ru/IgorPlug2/IgorPlug2Mini.pdf»]этой[/URL] схеме. Готовые [URL=» http://www.mindrunway.ru/Layot.html»]варианты[/URL] дизайна печатных плат. Либо покупаем готовое устройство, собранное по этой [URL=» http://www.redray.ru/products/rr2flash/kit/IgorPlug-2_sch.pdf»]схеме[/URL]. Я морочиться не стал, т.к. схема компактней и проще выглядит в SOIC версии, с использованием двусторонней платы, которые в домашних условиях сделать непросто(хотя некоторые делают), но есть варианты и DIP исполнения, схема и варианты реализации её есть на [URL=» http://www.mindrunway.ru/IgorPlug2.html»]сайте[/URL]. Обратите внимание, что реализовывать нужно версию с возможностью внутрисхемного программирования, чтобы не припаивать концы программатора при перепрошивке к контроллеру (автор в последующем планировал систему самообновления через USB, но пока она не готова). В DIP исполнении можно конечно использовать и кроватку и прошивать контроллер напрямую отдельно.
Проще заказать готовое устройство на [URL=» http://www.redray.ru/products/rr2flash/grani-kit.htm»]этом[/URL] сайте. С учётом доставки из Уфы в Москву почтой за 10 дней, мне это вышло в 649 руб. вроде. Делается всё у них там через форму заказов, оплачивается через Яндекс.Деньги(я оплатил через ближайший терминал, просто закинув им на кошелёк нужную сумму).
2) [URL=» http://www.mindrunway.ru/Pony/PlataProg.zip»]Собираем[/URL] или [URL=» http://www.masterkit.ru/main/set.php?code_id=255327″]покупаем[/URL] программатор. Я опять же купил за 330 руб, с самовывозом в Дельта Электроника. Можно и за 550 в «зажравшемся» чип-дипе. Есть программаторы и для COM порта и для [URL=» http://www.mindrunway.ru/PetkaAvrUsb.html»]USB[/URL]. Проще всего LPT вариант, которым я и воспользовался(дома есть старый комп с LPT). Вы также можете при оформлении заказа договориться с [url]www.redray.ru[/url] и они вам прошьют ваш пульт и под ваше сочетание клавиш.
3) Для тех кто купил готовое устройство — собираем простейший переходничок:
Дело в том, что на приёмнике есть разъём для внутрисхемного программирования контроллера ISP6, но он редко используется на всех AVR программаторах чаще используется разъем ISP10, вот и приходится проводочки подвести к нужным контактам. Вот схема ответной части на отлаживаемой плате, вид сверху, в эту контактную площадку вставляется шлейф программатора:
соответственно нужно подвести нужные нам 6 из них к контактам устройства:
Я сделал для этого вышеуказанный переходник, а можно конечно и напрямую, хоть прям от платы программатора — это не важно.
Итак, с железной частью на этом всё, приступаем к программной части.
[COLOR=»Red»]Внимание! Программная часть нужна лишь один раз, для настройки вашего пульта и соответствия горячих клавиш вашего приложения. Если у вас пульт JVC RM-RK39 и вы пользуетесь Centrafuse, то вы можете прошить приложенную прошивку(firmware.rar) и на 90% есть вероятность, что всё сразу заработает, если нет — значит ваш пульт сделан другим производителем и имеет другие характеристики и его нужно обучить следуя дальнейшей инструкции.[/COLOR]
Прошивка устройства
Чтобы тем у кого уже всё есть как я выше описал дальше далеко не читать, процесс программирования опишу тут:
Ищем комп с портом LPT .
1) Вставляем программатор в LPT. Соединяем через вышеописанный переходник с разъемом ISP6 USB ИК приёмника и вставляем приёмник в USB порт компа. Включаем комп(можно всё это делать в указанной последовательности и при включённом компе, ничего страшного не будет).
2) Из вложения (firmware.rar) распаковываем папку PonyProg2000 запускаем setup.exe, следуем инструкциям и устанавливаем программу PonyProg. При первом запуске в появившемся окне Нажимаем ОК, и на вопрос Откалибровать программу, тоже ОК, потом ещё раз ОК и заходим в меню Setup -> Calibration, отвечаем YES, ждём, нажимаем ОК. Далее заходим в меню Setup -> Interface Setup. Тыркаем в Parallel и выбираем «Avr ISP I/O», тыркаем в LPT1, нажимаем ОК. Закрываем программу.
3) Из вложения (firmware.rar) распаковываем папку HID Прошивка, запускаем файл BeliyM8.e2s, отвечаем YES на вопрос, ждём окончания прошивки. Закрываем PonyProg(или он сам закроется, я не помню)
4) Отключаем переходник от разъема ИК приёмника, отключаем программатор. ИК приемник автоматом определится и будут установлены драйвера HID клавиатуры и HID мыши, если этого не произошло, вынимаем устройство и вставляем заново.
Если у вас пульт JVC RM-RK39, то Windows будет понимать нажатие кнопок пульта как нажатие сочетаний клавиш в соответствии с табличкой:
Кнопка пульта_|_Клавиши клавиатуры__|_Команды в Centrafuse
_____________|_____________________|____________________
Vol — ________|_Alt+5________________|_Уменьшить Громкость
Vol + ________|_Alt+4________________|_Увеличить Громкость
Left _________|_Alt+2________________|_Загрузить предыдущий трэк
Right ________|_Alt+3________________|_Загрузить следующий трэк
Up __________|_Alt+0________________|_Проиграть аудио/Пауза аудио
Down ________|_Ctrl+Alt+V____________|_Переключить речь
ATT _________|_Alt+6________________|_Без звука
SRC _________|_Ctrl+Alt+A____________|_Ответить на звонок
Если у вас другой пульт или вам хотелось бы назначить другие действия или сочетания клавиш для другой проги, вам необходимо провести полный цикл настройки системы, используя [URL=» http://www.mindrunway.ru/IgorPlHex/HexV9M08v3min.zip»]эту[/URL] прошивку и читать дальше
Если вы не прошивались ещё, то просто читать дальше.
Разархивируем вложения hid.rar, Oscilloscope.rar
Шаг 1 Создание 3-х слепков вашего пульта
1.1. Запустить программу IR Oscilloscope (Oscilloscope\Oscilloscope.exe).
1.2. Выбрать нужный вариант настроек (9 и 10 для работы через драйвер).
1.3. Перейти на вкладку «Oscillograf».
1.4. Открыть файл соответствующий вашему пульту. Для этого нажать File -> Open Cod File -> найти по названию файл с соответствующим названием в каталоге Oscilloscope\SpisalPult это будет так называемый первый слепок, т.е. он уже есть и его делать не нужно, хотя автор методики и рекомендует сделать, но у меня и так заработало. Я выбрал Oscilloscope\SpisalPult\JVC\JVC_RM-RK39_102.txt. (Если вашего пульта нет в каталоге, то идём [URL=» http://www.mindrunway.ru/SoftIROsI.html»]сюда[/URL] и выполняем все Части с 1-ой по 3-ю. Если есть, читаем дальше.)
1.5. Перейти на вкладку «Oscillograf».
1.6. Нажать кнопку «Создание слепка».
1.7. Появится окно, в котором надо нажать кнопку «Принять». Далее следуя инструкции, в окне нажимать кнопку PW (или ее функциональный аналог, в нашем случае это кнопка SRC).
1.8. После завершения, нажать кнопку «Exit» на форме «Создание слепка».
1.9. Сохранить второй файл данных. Для этого нажать File -> Save Cod File -> ввести имя ВТОРОГО файла(я ввёл JVC_RM-RK39_102_2.txt). Это будет второй слепок.
1.10. На запрос о очистке базы нажать «No».
2.1. Повторить действия, описанные в пунктах 1.6. — 1.8.
2.2. Сохранить третий файл данных. Для этого нажать File -> Save Cod File -> ввести имя ТРЕТЬЕГО файла(я ввел JVC_RM-RK39_102_3.txt). Это будет третий слепок.
2.3. На запрос об очистке базы нажать на кнопку «Yes», а после закрыть программу «Осциллограф».
Шаг 2 Создание патча для исходной прошивки
Источник