-
Вложений: 10
Ураааааааа !!!
Arduino рулит.
http://www.compcar.ru/forum/attachme...1&d=1254252604http://www.compcar.ru/forum/attachme...1&d=1254252604
Использование этого устройства можно как в составе умного дома, автомобиля, домашнего кинотеатра и т.д.
И так все по порядку:
Желательно использовать приемник 36кГц - 40кГц
Лично я выпаял с какой то старой платы IR приемник
Похож на этот
Вложение 5890
Его параметры мне не известны , но он работает.
Из доступных и не дорогих это TSOP1736, TSOP1738
Вложение 5893
Можно подключить ИК приемник на разъем программирования. При подключении обратите внимание на цоколевку ИК приемника в DataSheet.
Вложение 15843
Без фильтра питания IR работал не стабильно с пропуском посылок , дабавил в схеме RC фильтр и все нормализовалось.
Далее:
Установил библиотеку IRremote для Arduino, подправил и залил код, все заработало сразу. Перепробовал все пульты в доме , работает со всеми мной протестироваными пультами Д.У.
Скачать программу , для назначения кнопок ДУ . Сначала нужно запустить IRKey_config.exe назначить кнопки вашего ифракрасного пульта дистанционного управления, на любые клавиши Windows. Следует помнить что Windows не разрешает эмуляцию комбинации "CTRL-ALT-DEL" , вместо нее можно использовать комбинацию "CTRL+SHIFT+ESC"). После того как вы все сконфигурировали, сохраните настройки, закройте программу IRKey_config.exe и запустите IRKey.exe (программа при запуске свернется в трей) , наслаждайтесь. Для постоянного использования ярлык программы IRKey.exe закинте в автозагрузку
Скачать библиотеку , распаковать и положить в папку C:\arduino-0017\hardware\libraries\IRremote
Код с повторами при удерживании кнопки
Для нарульных пультов Pioneer , delay уменишить до оптимального значения
Или использовать код выложеный выше
PHP код:
// http://compcar.ru
#include <IRremote.h>
byte bytes[4];
int RECV_PIN = 10; //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long ir_dt, old_ir;
void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // включить приемник
}
void loop() {
if (irrecv.decode(&results))
{
if (results.value > 0 && results.value < 0xFFFFFFFF)
{
ir_dt = results.value;
bytes[0] = ir_dt & 0xFF; // преобразовать в 4-байта
bytes[1] = (ir_dt & 0xFF00) >> 8;
bytes[2] = (ir_dt & 0xFF0000) >> 16;
bytes[3] = (ir_dt & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
if (old_ir == ir_dt){delay(250);} //Пауза между короткими нажатиями
else {delay(500);}// Пауза после первого нажатия и удержания(перед повторами)
old_ir = ir_dt;
}
if (results.value == 0xFFFFFFFF )
{
delay(120); //пауза между повторами
Serial.write( bytes,4);
}
irrecv.resume();
}
}
Код для Arduino без повторов при удерживании кнопки
PHP код:
// http://compcar.ru
#include <IRremote.h>
byte bytes[4];
int RECV_PIN = 10; //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // включить приемник
}
void loop() {
if (irrecv.decode(&results))
{
if ((results.value > 0) && (results.value < 0xFFFFFFFF))
{
unsigned long res_dt = results.value;
bytes[0] = res_dt & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_dt & 0xFF00) >> 8;
bytes[2] = (res_dt & 0xFF0000) >> 16;
bytes[3] = (res_dt & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
irrecv.resume();
}
}
Пульты которые цепляется на руль и гарантированно работают.
http://www.compcar.ru/forum/attachme...3&d=1254256185Вложение 6580Вложение 12222
В отличаи от IR-Link кнопки телефона в пульте Pioneer назначаются каждая кнопка со своим сканкодом.
Если у Вас клавиатура не имеет мультимедийных или прочих клавиш , то вы можете воспользоватся таблицей что бы добавить нужные клавиши в фаил config.txt в ручную.
За таблицу спасибо Serg_w и Allex.
-
Re: Управление компьютером, любым ИК пультом.
Комбинации горячих клавиш в Windows
1. F1 - вызов справки текущего приложения;
3. F2 - переименование выделенного объекта;
4. F3 - вызов диалога поиска в текущей папке;
5. F4 - раскрыть ниспадающий список адресного меню в Проводнике или в Internet Explorer;
6. Alt+F4 - закрыть текущее приложение;
7. Ctrl+F4 - закрыть окно документа в MDI-приложении (то есть приложении, открывающем сразу несколько документов в одном окне);
8. F5 - обновить содержимое окна или Рабочего стола;
9. F6 или Tab - переход между панелями Проводника;
10. Ctrl+F6 - перейти в следующее окно программы;
11. F10 или Alt - перейти в меню Проводника (Файл, Правка…);
12. Shift+F10 - вызов контекстного меню выбранного объекта;
13. Ctrl+A - выделить все объекты;
14. Ctrl+B - вызов окна "Организовать Избранное";
15. Ctrl+C - копировать выделенные объекты в буфер обмена;
16. Ctrl+G - перейти к папке;
17. Ctrl+F - вызов панели поиска;
18. Ctrl+H - открыть папку "Журнал";
19. Ctrl+L (Ctrl+O) - открыть диалог ввода адреса в Internet Explorer;
20. Ctrl+N - открыть новое окно приложения;
21. Ctrl+P - вызов окна "Печать";
22. Ctrl+R - обновить содержимое активного окна;
23. Ctrl+S - сохранить документ;
24. Ctrl+V - вставить объекты из буфера обмена;
25. Ctrl+W - закрыть окно активного приложения;
26. Ctrl+X - вырезать выделенные объекты в буфер обмена;
27. Ctrl+Z (Ctrl+U) - отмена последней операции;
28. Del - удаление выделенных объектов в Корзину;
29. Shift+Del - удаление выделенных объектов без использования Корзины;
30. Shift+[перетаскивание объекта] - переместить объект;
31. Ctrl+[перетаскивание объекта] - копировать объект;
32. Shift+Ctrl+[перетаскивание объекта] - создать ярлык к объекту;
33. Backspace - переход на один уровень вверх (в родительскую папку) по дереву папок в Проводнике (клавиши курсора - последовательная навигация по папкам);
34. Tab - в диалоговом окне переключение между управляющими элементами;
35. Shift+Tab - в диалоговом окне переключение между управляющими элементами в обратном направлении;
35. Space - щелчок по выделенной кнопке или установка/снятие выбранной опции;
36. Enter - щелчок по выделенной кнопке;
37. Shift+Enter - вызов отдельного окна Проводника для выделенной папки;
38. Esc - щелчок по кнопке Cancel, "Стоп" в браузере;
39. Alt+[стрелка влево] - навигация "Назад" в браузере;
40. Alt+[стрелка вправо] - навигация "Вперед" в браузере;
41. Alt+[стрелка вниз] - открыть раскрывающийся список;
42. Alt+Space - вызов меню текущего окна (Закрыть, Переместить…);
43. Alt+[минус] - открыть управляющее меню окна документа в MDI-приложении;
44. Alt+Enter (Alt+[двойной щелчок левой кнопкой мыши]) - вызов диалога Properties ("Свойства") выделенного объекта;
45. Alt+Tab - переключение между приложениями с выводом панели выбора;
46. Alt+Esc - переключение между приложениями без вывода панели;
47. Alt+Shift+Tab - переключение между приложениями в обратном порядке;
48. Alt+[подчеркнутая буква в меню приложения] - выполнить соответствующую команду меню приложения;
49. Ctrl+Tab - переключение окон документов в MDI-приложении, открыть следующую вкладку диалога;
50. Ctrl+Shift+Tab - открыть предыдущую вкладку диалога;
51. Ctrl+Esc - раскрыть меню "Пуск";
52. CTRL+SHIFT+ESC(Ctrl+Alt+Del) - горячая перезагрузка ПК);
53. PrintScreen - копировать содержимое Рабочего стола в буфер обмена как графику;
54. Alt+PrintScreen - копировать содержимое активного окна в буфер обмена как графику.
На клавиатурах, оснащенных специальной клавишей "Windows",
можно использовать следующие комбинации:
55. Win - вызов меню "Пуск";
56. Win+D - свернуть/развернуть все открытые окна, включая диалоговые окна;
57. Win+R - вызов диалога "Выполнить" (Run);
58. Win+M - свернуть (Minimize) все окна, кроме диалоговых
59. Shift+Win+M - развернуть все окна;
60. Win+F1 - вызов справки Windows;
61. Win+E - вызов Проводника;
62. Win+F - вызов меню поиска файлов и папок;
63. Ctrl+Win+F - вызов меню поиска компьютеров;
64. Win+Tab - переключение между кнопками на панели задач (после чего можно, например, вызвать контекстное меню или, нажав Enter, переключиться в приложение);
Win+B - переключение между значками в трее, после чего можно переключаться между ними используя стрелки.
65. Win+Break (Win+Pause) - вызов диалога "Система" (System Properties).
При работе в Проводнике можно использовать клавиши цифровой части клавиатуры:
66. * (звездочка) - развернуть все папки, вложенные в текущую;
67. + (плюс) - развернуть выделенную папку;
68. - (минус) - свернуть выделенную папку;
69. стрелка вправо (>) - раскрыть текущую папку, если она свернута, или же перейти в следующую папку дерева каталогов;
70. стрелка влево (<) - свернуть текущую папку, если она развернута, или же перейти в родительскую папку дерева каталогов.
При работе в с текстом можно применять следущие комбинации:
71. ctrl+insert - копировать текст в буфер обмена
72. shift+insert - вставить скопированный ранее текст из буфера обмена
73. shift-del - вырезать текст в буфер обмена
74. ctrl+стрелки - перемешаться через слово
75. ctrl+backspace - удалить слово слева
76. alt+backspace - аналог ctrl+z (отменить предыдущее действие)
77. ctrl+end - переход в конец текста
78. ctrl+home - переход в начало текста
-
Re: Управление компьютером, любым ИК пультом.
автомобильные нарульные пробовал использовать какие-нибудь?
-
Re: Управление компьютером, любым ИК пультом.
-
Re: Управление компьютером, любым ИК пультом.
Я бы предпочел первый вариант
причин несколько:
1- всегда можно обновить прошивку без программатора и без определеных знаний.
2- можно использовать для других проектов или совместить несколько проектов в одном устройстве.
P.S.
IRKey на базе arduino скоро появятся в продаже .
Через 1-2 дня, нужно только ИК приемники купить и автомобильные пульты попробовать потестить
-
Re: Управление компьютером, любым ИК пультом.
Цитата:
Сообщение от
Z@GR
автомобильные нарульные пробовал использовать какие-нибудь?
Пробовал нарульный пульт Pioneer , работает без проблем.
-
Re: Управление компьютером, любым ИК пультом.
а у меня IRKey.exe вываливается при нажатии кнопки на пульте с сообщением: 'xxx' not a valid integer value. где xxx - 10ти значное число(код кнопки) :(
-
Re: Управление компьютером, любым ИК пультом.
Выложи свой фаил конфигурации посмотреть.
а в serial monitore попробуй проверь, скольки значное значение покажет.
Что за пульт? Попробуй еще каким нибудь пультом проверь.
-
Вложений: 1
Re: Управление компьютером, любым ИК пультом.
config.txt
PHP код:
<2148500481> Key1=49 />
<2148467714> Key1=50 />
это клавиши 1 и 2 пульта от dvd Pioneer, с другими пультами все аналогично, кроме например JVC - вообще ничего
вот что выдает сериалмонитор при нажатии 1 и 2:
-
Re: Управление компьютером, любым ИК пультом.
Прошу прощения ссылка была на старую версию программы , скачайте по новой.
-
Re: Управление компьютером, любым ИК пультом.
-
Re: Управление компьютером, любым ИК пультом.
Думаю после несложной переделки программы можно сделать и ИК-сонар - расстояние измерять
-
Re: Управление компьютером, любым ИК пультом.
А теория есть про измерение в ИК диапазоне?
Ультразвуком понятно как , у звука скорость не высокая, а вот у света скорость такая что никаких вычислительных мощностей контроллера не хватит.
-
Re: Управление компьютером, любым ИК пультом.
Очередное обновление в шапке.
-
Re: Управление компьютером, любым ИК пультом.
Мне нравится джойстик Sony RM-X6S, но Ирлинк его не видит. Разработчики Ирлинка говорят, что не совместим по частоте или еще чему-то... Было бы отлично через Arduino заставить работать:rolleyes:.
-
Re: Управление компьютером, любым ИК пультом.
У меня нет такого джойстика проверить.
-
Re: Управление компьютером, любым ИК пультом.
Цитата:
Сообщение от
Chip
А теория есть про измерение в ИК диапазоне?
Ультразвуком понятно как , у звука скорость не высокая, а вот у света скорость такая что никаких вычислительных мощностей контроллера не хватит.
Есть: на робофоруме есть проект ИК-Локатор на TSOP. Собирался на ATtiny12:
-
Re: Управление компьютером, любым ИК пультом.
Это еще называеся инфракрасный бампер. Делал такую штуку на робота.
Но это никак не связано с измерением растояния.
Измерять можно двумя способами лазерный измеритель и ультрозвуковой. Как работает лазерный я не знаю
-
Re: Управление компьютером, любым ИК пультом.
ну да - только очень грубо измерить - близко и далеко - если большинство посылок теряется
-
Re: Управление компьютером, любым ИК пультом.
Ок Chip! Буду ждать готового решения.
Просьба датчик выбрать почувствительней, что бы отраженный сигнал ловил то же.
Можно ли будет использовать несколько пультов сразу? (планирую Пионер + какой нибудь расширенный)
Еще меня заинтересовал Вольтметр на кардино с возможностью измерения бортовой сети, т.е. от 0 до 18 вольт. Возможно ли выводить его значение в цифрах до 2 знаков после запятой на рабочий стол, прямо поверх картинки, например как календарь? А еще можно рядом с часами.
-
Re: Управление компьютером, любым ИК пультом.
Цитата:
Можно ли будет использовать несколько пультов сразу? (планирую Пионер + какой нибудь расширенный)
Да хоть 10 пультов , лишь бы их кодовые посылки не были одинаковыми.
Цитата:
Еще меня заинтересовал Вольтметр на кардино с возможностью измерения бортовой сети, т.е. от 0 до 18 вольт. Возможно ли выводить его значение в цифрах до 2 знаков после запятой на рабочий стол, прямо поверх картинки, например как календарь? А еще можно рядом с часами.
Я умышлено ограничил знаки после запятой. Если нада разблокирую.
С изменением иконок в трее нужно попробовать поигратся, помоему есть такой компонент TrayToText
-
Re: Управление компьютером, любым ИК пультом.
У меня теперь при нажатии на кнопку на пульте в irkey.exe пишет "ошибка в файле config.txt"
в самом файле следующие:
PHP код:
<4111107450>Key1=90 />
-
так и должно быть
С конфигом все в порядке , поковыряю программу попробую.
-
Re: Управление компьютером, любым ИК пультом.
До этого была виста, сейчас попробовал на другом компе, где xp - тоже самое
-
Re: Управление компьютером, любым ИК пультом.
Попробуй
Ошибка была действительно в файле конфига, потому что кодовое значение превышало тип Integer/
Сейчас должно работать.
-
Re: Управление компьютером, любым ИК пультом.
Теперь все работает :)
Но вот что обнаружил: с пультом Pioneer от телека, где код начинается с 2 - все работает, с пультом Microsoft для MediaCenter работает, но у этого пульта каждая кнопка выдает 2 разных кода (всегда одинаковые и строго через раз :) ). А вот пульт от DVD Pioneer выдает коды начинающиеся с 4ки и в IRKey_config.exe все нормально, но в IRKey.exe не срабатывает - похоже интегера где то не хватает, хотя никаких ошибок и прога не трапается.
Пульт от кондиционера Panasonic вообще не работает, а от телека LG работает, причем у него начинается с 5 и получается ему интегера хватает...
-
выложи конфиги от всех не работающих пультов, можно просто только коды нажатий.
Еще у пультов могут быть разные частоты от 30кГц до 56кГц, есть исключения которые на 450кГц работают. У тебя модель приемника какая?
Цитата:
Пульт от кондиционера Panasonic вообще не работает
Это проблема , давно известна. Особено у тех кто умным домом занимается.
У кондиционеров совсем другой протокол.
Так что нужно рашифровывать .
Цитата:
А вот пульт от DVD Pioneer выдает коды начинающиеся с 4ки и в IRKey_config.exe все нормально, но в IRKey.exe не срабатывает - похоже интегера где то не хватает, хотя никаких ошибок и прога не трапается.
В программе сделал игнорирование ошибки, на всякий случай :)
Цитата:
с пультом Microsoft для MediaCenter работает, но у этого пульта каждая кнопка выдает 2 разных кода (всегда одинаковые и строго через раз
Настрой конфиг на оба кода , каждому коду ассоциируй одинаковые клавиши и будет при каждом нажатии срабатывать.
Цитата:
похоже интегера где то не хватает
Тут больше нужно смотреть на разрядность, я же исправил Integer на LongWord его максимальное значение 4 294 967 295 тоесть 32 бита челочисленое значение без знака. Если у тебя код превышает 4294967295 то возможно проблема и типе переменной.
-
Re: Управление компьютером, любым ИК пультом.
Я понял почему DVD Pioneer не работает. Он какую-то ерунду выдает: перед каждым кодом начинающимся на 4, сначала проскакивает <3308951910>/>, но иногда на нем и останавливается! :confused:
Я думаю может пульт глючит, хотя с DVD вроде нормально работает, хотя и тормозно как-то. Наверно можно забить на это, если проблема только с другими пультами такого не будет.
На всякий случай коды, но думаю дело не в этом:
<4111107450>/>
<4111091130>/>
<4111123770>/>
<4111082970>/>
P.S. Приемник кажется TSOP1836.
-
Re: Управление компьютером, любым ИК пультом.
Коды укладываются в разрядность челочисленного типа LongWord :)
Пульт может глючить если он работает на частоте 56 кГц , а приемник у тебя 36кГц
-
Re: Управление компьютером, любым ИК пультом.
Приемник какой то из 17хх, а какой неизвестно :(
-
Вложений: 1
Re: Управление компьютером, любым ИК пультом.
Пробовал сегодня нарульный пульт pioneer CD-SR110 , заработал после замены ИК приемника на другой(выпаял из китайской магнитолы)
У пульта частота выхода примерно 38-40кГц, а ИК приемники у меня без маркировки, так что я незнаю на какие они частоты расчитаны.
Похоже что первый Ик приемник был на 56кГц
Вложение 5943
-
Re: Управление компьютером, любым ИК пультом.
Вот здесь проект в котором этот пульт успешно читают. Можешь найдешь какую инфу.
-
Проверил осциллографом на обычном фотодиоде, частота примерно 40кГц посылки на фотодиоде нормальные, а вот на ИК приемнике корявые , отсюда вывод нужно приемник ИК на частоту 38 или 40кГц
Поставил ИК приемник с китайской магнитолы и случилось чудо , все заработало!!!
-
Re: Управление компьютером, любым ИК пультом.
Chip, а не подскажешь с какой частотой нужен приемник для лилипутского пульта, думаю может его разобрать и вкрячить в руль:)
-
Re: Управление компьютером, любым ИК пультом.
У Лилипутовского пульта 38кГц.
Приемник с частотой 38кГц самый универсальный получается.
-
Re: Управление компьютером, любым ИК пультом.
а возможно сделать наоборот? т.е. мне нужно магнитолой управлять с компа по ИК каналу. Это возможно сделать на этом устройстве?
-
Вложений: 1
Re: Управление компьютером, любым ИК пультом.
Можно и передавать ИК команды.
Поддерживаемые протоколы: NEC, Sony SIRC, Philips RC5, Philips RC6, and raw protocols
Предающий ИК светодиод должен быть подключен к pin 3
Вложение 5967
На пример передача команды попротоколу Sony, будет выглядеть вот так:
PHP код:
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(115200);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(100);
}
}
}
Подробности и примеры здесь.
-
Re: Управление компьютером, любым ИК пультом.
Chip, а нельзя вот этот девайс использовать,на крайний случай просто ик приемник заменит на 38 ??
-
Re: Управление компьютером, любым ИК пультом.
Откуда мне знать что там внутри.
-
Re: Управление компьютером, любым ИК пультом.
Всем привет.
Есть у меня два пульта: Sony CD-SR100 и Sony CD-SR110. Захотел я их оба повесить на руль с каждой стороны.
http://www.pioneer-rus.ru/images/pro...n1_gallery.jpg
http://www.pioneer-rus.ru/images/pro...10_gallery.jpg
http://images.drive2.ru/car.journal....d16a3-main.jpg
11 кнопок хорошо, 22 - в два раза лучше :). Да и для красоты/симметрии лучше.
Но коды посылок этих пультов одинаковы для всех кнопок, кроме верхних трех. Поэтому я купил два фотоприемника (с моими пультами кстати отлично работают напрямую, без конденсаторов и сопротивлений) и хочу повесить их с разных сторон рулевой колонки (чтоб каждый пульт светил в свой фотоприемник.
А вот откорректировать программу так, чтобы опрашивались одновременно оба порта Arduino, сходу не получилось...
Может есть у кого-нить мысли, как это сделать?