ИК управление ПК

medossa
Offline
Зарегистрирован: 10.07.2012

Приветствую всех! Такая задача. Необходимо с ик-пульта отправлять команды на ПК через ардуину. Нажал на кнопку - пошёл вызов абоненту с видеосвязью по скайпу, на другую включился плэйлист и т.д. На компе софтинка, которая читает сериал соединение и в зависимости от данных запускает заранее подготовленные .bat файлы (не пинайте сильно, но мне хватает :)). Есть неттоп подключенный к 42 дюймовому ТВ и ардуина. Заказал вот такой комплект. Теперь вопрос. Почитав вот эту тему правильно ли я понял, что:

1. Требуется библиотека IRremote.h

2. Каждая кнопка пульта передает в Serial соединение свой код, например 41BEF00F и я его могу прочитать на компе

3. Для чего в комплекте по ссылке, указанной выше присутствует светодиод?

И вообще на верном ли я пути? :)

maksim
Offline
Зарегистрирован: 12.02.2012

Нет, вы не в том напрвлении двигаетесь, есть готовые проги для этого, погуглите, а к ним паяется или покупается ИК-приемник. Я так делал, все замечательно работало. Дуина не нужна. 

medossa
Offline
Зарегистрирован: 10.07.2012

maksim пишет:

Нет, вы не в том напрвлении двигаетесь, есть готовые проги для этого, погуглите, а к ним паяется или покупается ИК-приемник. Я так делал, все замечательно работало. Дуина не нужна. 

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

maksim
Offline
Зарегистрирован: 12.02.2012

А какой смысл считывать команды пульта дуиной, а потом посылать на комп какие-то свои команды, если можно читать команды с пульта сразу компом....

maksim
Offline
Зарегистрирован: 12.02.2012

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

Когда можно просто воткнуть мышь в комп...

medossa
Offline
Зарегистрирован: 10.07.2012

 Хорошо, забудьте про комп и телевизор) Просто ответьте на 2 и 3 вопрос)

maksim
Offline
Зарегистрирован: 12.02.2012

2. Я собирал вот такой простой приемник

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

3. Это ИК диод, что бы дуину можно было использовать как ИК передатчик.

medossa
Offline
Зарегистрирован: 10.07.2012

Отлично, спасибо за инфу. Хэндмэйды я люблю)

yur
Offline
Зарегистрирован: 23.09.2012

medossa пишет:

... Заказал вот такой комплект. ...

Тоже заказал такой же пультик. Есть проблема - работает максимум 1 метр. Уверенно принимает только ближе 0,5 метра. Перекопал весь гугл - нет ответа! Помогите светлые умы - почему так слабо принимает сигнал?? брак приёмника? или я олень?

maksim
Offline
Зарегистрирован: 12.02.2012

Батарейку в пульте менять пробовали?

yur
Offline
Зарегистрирован: 23.09.2012

батарейки новые. пробовал три других пульта, которые гарантированно хорошо работают. проблема ТОЧНО в приёме. 

maksim
Offline
Зарегистрирован: 12.02.2012

 А как проверяете? как подключаете? через дуину? код можно?

yur
Offline
Зарегистрирован: 23.09.2012

Код стандартный, с этой страницы

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

Понятно, попробуйте купить другой приемник.

yur
Offline
Зарегистрирован: 23.09.2012

видимо придётся. другого выхода не вижу. 

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

А какой смысл считывать команды пульта дуиной, а потом посылать на комп какие-то свои команды, если можно читать команды с пульта сразу компом....

Ну смысл таки есть :)

Во первых - это тот еще квест. Особенно если пульт имеет нестандартную кодировку. Так что просто "тиресно".

Во вторых - появляется автономность. Часть команд можно в дуину отсылать, а часть "внешнее оборудование рулить" (включать сам комп, настольную лампу и т.п.)

leshak
Offline
Зарегистрирован: 29.09.2011

 

maksim пишет:

Понятно, попробуйте купить другой приемник.

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

Далее - выключите всякие лампы дневного света. Лично у меня с ними проблем небыло - но многие жаловались что они "дают помехи".

Next - скетч лучше использовать IRReciveDump (идет в примерах с библиотекой). Он там гораздо больше рассказывает о том "что ему удалось поймать" (даже когда "поймал но не смог расшифровать"). 

А еще - можете пробежатся по соседям и пособирать пульты. Авось кто-то из них и "подойдет".

>Для чего в комплекте по ссылке, указанной выше присутствует светодиод?

Для того что вы ардуиной можете не только "ловить команды", но и послать. То есть заставить саму дуину работать "как пульт" (например записав сигнал с настоящего пульта, а потом его "повторить").

maksim
Offline
Зарегистрирован: 12.02.2012

 Речи о других устройствах не шла, ну а если хочется квеста, то да смысл есть. Для дуины написать код, который будет отправлять на комп команды проблем нет, а вот написать ПО для управления програмами на компе, вот это уже квест.

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

 Речи о других устройствах не шла, ну а если хочется квеста, то да смысл есть. Для дуины написать код, который будет отправлять на комп команды проблем нет, а вот написать ПО для управления програмами на компе, вот это уже квест.

А это тоже не обязательно. Вообщем-то ПО уже тоже есть. Многие "авторулилки компом" имеют плагины/настройки для подключения IR-пультов.  Достаточно "прикинутся" таким стандартным приемником.  В простешем варианте, там достаточно что-то типа "ответить OK в ответ на пришедшие буквы IR". И комп "считает тебя родным".

yur
Offline
Зарегистрирован: 23.09.2012

leshak пишет:

скетч лучше использовать IRReciveDump

А еще - можете пробежатся по соседям и пособирать пульты. Авось кто-то из них и "подойдет".

пробовал IRReciveDump - отличная вещь, пролила много света на проблему. вобщем мусор начинает выдавать при увеличении расстояния. могу снятые прмеры дампов запостить.

пульты пробовал, таже беда. проверить частоту несущей пульта не могу, но уверен что 38 KHz, как и на приёмнике. приёмник TSOP1838 - что как бы говорит, что он на 38 KHz.

пробовал при полностью выключенном свете, ночью и днём - резултат одинаково печален.

датчик к ардуине подключен через КСПВ - 8 метров, при прямом подключении результат особо не меняется.

пробовал запитывать ардуину мощным внешним блоком питания, чтоб исключить вопрос немощность питания через USB - результат тотже.

leshak
Offline
Зарегистрирован: 29.09.2011

 Вот кстати обзорчик подобного софта

http://www.km.ru/tekhnologii/2002/03/20/arkhiv/tri-sposoba-upravleniya-k...

Если память не изменяет то "простейший" это толи "Generic Serial IR Reciver" толи IRMan (и еще килограм совместимых с ним).

Помнится проблемка у меня была только из-за авторесета. Типа софт открывает порт, посылает туда "ты кто", а дуина в этот момент в ребуте и не успевает ответить :) На "самопальной плате" - проблема ушла (так как небыло авторесета).

Сейчас уже точно не помню как , но вот у меня работал в связке с http://www.team-mediaportal.com/ (мне только для фильмов было нужно).

А насчет "на дуине просто" - это как сказать. Вот мне попался от томпсона пульт. Кодировку которого IRRecive - не знает. Пришлось таки долго вникать "как это все рабоатет" и дотачивать ее. А потом когда начал заливать в сделанную плату, с удивлением обнаружил что памяти на ATMEGA1280 (на которой девелопил) и, ATMEGA8 на которой плату собрал, - сильно отличается ;)  Пришлось еще с #ifdef игратся, делать возможность "выключать" в библиотеке не нужные кодировки и т.п.