IR транслятор

Ответить
keeper1978
Сержант
Сообщения: 129
Зарегистрирован: 26.09.2015{, 19:57}
Репутация: 2

IR транслятор

#1

Сообщение keeper1978 » 04.03.2016{, 14:26}

Может кто делал нужно альтернативный пульт подвязать к устройству 

схема такая альтернативный пульт ->IR приёмник  -> Ардруина -> IR передатчик с данными от ориг пульта 
может кто то делал подобный проект 
у меня почему то не получается данные не передаются

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

IR транслятор

#2

Сообщение Сергей » 04.03.2016{, 17:51}

keeper1978, сталкивался, почти!!! все работает. Принимается с пульта, потом передается устройству. Есть нюансы. Подробнее опишите.

keeper1978
Сержант
Сообщения: 129
Зарегистрирован: 26.09.2015{, 19:57}
Репутация: 2

IR транслятор

#3

Сообщение keeper1978 » 05.03.2016{, 16:00}

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

keeper1978
Сержант
Сообщения: 129
Зарегистрирован: 26.09.2015{, 19:57}
Репутация: 2

IR транслятор

#4

Сообщение keeper1978 » 06.03.2016{, 00:55}

Проблема вот в чем почемуто он при первом нажатии передаёт сигнал а дальше перестаёт
Вложения
test.flp
(54.16 КБ) 98 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

IR транслятор

#5

Сообщение rw6cm » 06.03.2016{, 07:46}

А зачем этот паровоз?
Коды есть, привязали к кнопкам и готовый пульт.
Вложения
7486981.png
Win10-64, FLProg (portable)

keeper1978
Сержант
Сообщения: 129
Зарегистрирован: 26.09.2015{, 19:57}
Репутация: 2

IR транслятор

#6

Сообщение keeper1978 » 06.03.2016{, 09:54}

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

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

IR транслятор

#7

Сообщение Олег » 06.03.2016{, 10:10}

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

IR транслятор

#8

Сообщение rw6cm » 06.03.2016{, 10:27}

keeper1978 писал(а):хочю сделать блок который будет принимать сигнал от одного пульта и передавать на устройство уже коды оригинального пульта.
Т.е. своего рода ретранслятор-конвертер?
По ходу тоже должен работать.
keeper1978 писал(а):почемуто он при первом нажатии передаёт сигнал а дальше перестаёт
Возможно с настройками нужно поиграть, Например в приемнике (сброс выхода по окончанию приема)
Последний раз редактировалось rw6cm 06.03.2016{, 10:27}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

keeper1978
Сержант
Сообщения: 129
Зарегистрирован: 26.09.2015{, 19:57}
Репутация: 2

IR транслятор

#9

Сообщение keeper1978 » 06.03.2016{, 10:55}

В том то и дело что после загрузки дуньки первое нажатие проходит нормально а дальше на кнопки не реагирует

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

IR транслятор

#10

Сообщение support » 06.03.2016{, 12:01}

Я пока не могу с этим разобраться. Всё железо на работе, и как только приеду на вахту (15-го числа) так займусь
Автор программы FLProg.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

IR транслятор

#11

Сообщение Сергей » 06.03.2016{, 16:39}

keeper1978, я с такой проблемой столкнулся (если правильно понял).
После выхода новой версии, проверял работу ИК приемника и передатчика.
Пробовал принимать сигнал от ПДУ и передавать его на светодиод, для управления техникой. В ходе эксперимента выяснил, что блок ИК приемника зависает (не принимает сигнал с пульта), когда на ИК передатчик подается разрешение передачи, при наличии данных на входах передатчика. Когда на входах нули и на разрешение передачи подаем 1, то передача не происходит, а приемник продолжает принимать команды.
Блок ИК приемника перестает работать именно после отправки команды на блоке ИК передатчика.

И еще, нюанс, о котором писал во втором сообщении.
Блок ИК приемника не принимает посылки (между ними обычно пауза 4-5 мС), в которых кол-во импульсов и пауз больше 100.
Пока игрался с кондиционером заметил что на некоторых кнопках (в разных режимах конд.) одинаковый код приходит. Оказывается посылка от ПДУ конд. состоит из нескольких частей. Первые 32 бита принимает, а потом после 10 милисекунднной паузы еще идет посылка. Всего насчитал 199 значений в посылке от кондиционерского пульта.
Воспользовавшись чужими скетчами считал все 199 значений и отправил их на ИК диод. И кондиционер откликнулся.

support, я Вам писал в ВК, похоже это не только у меня глюк. Желательно еще исправить длину принимаемого кода. Что бы приемник ИК принимал коды состоящие из нескольких посылок, разделенных паузами.

vad
Рядовой
Сообщения: 3
Зарегистрирован: 18.09.2016{, 19:12}
Репутация: 0

IR транслятор

#12

Сообщение vad » 25.09.2016{, 06:47}

Сергей писал(а):Пробовал принимать сигнал от ПДУ и передавать его на светодиод, для управления техникой. В ходе эксперимента выяснил, что блок ИК приемника зависает (не принимает сигнал с пульта), когда на ИК передатчик подается разрешение передачи, при наличии данных на входах передатчика. Когда на входах нули и на разрешение передачи подаем 1, то передача не происходит, а приемник продолжает принимать команды.Блок ИК приемника перестает работать именно после отправки команды на блоке ИК передатчика.
как исправить ????

Добавлено (25.09.2016, 06:20)
---------------------------------------------
На этом сайте описано как исправить IR транскодер на Arduino
Помогите исправить

Добавлено (25.09.2016, 06:47)
---------------------------------------------
На этом сайте описано как исправить IR транскодер на Arduino
Помогите исправить

gromoboy
Рядовой
Сообщения: 1
Зарегистрирован: 10.04.2017{, 13:27}
Репутация: 0

IR транслятор

#13

Сообщение gromoboy » 10.04.2017{, 13:31}

Если еще актуально, то проблема решается добавлением строки в моём случае irRessPin2.enableIRIn();
часть кода :

void _irSend(long code, byte manufactureCode, byte length)
{
switch (manufactureCode) {
    case 1:
_IR_Sender.sendNEC(code, length); 
      return;
    case 2:
_IR_Sender.sendSony(code, length); 
      return;
    case 3:
_IR_Sender.sendRC5(code, length); 
      return;
    case 4:
_IR_Sender.sendRC6(code, length); 
irRessPin2.enableIRIn();

      return;
    case 5:
_IR_Sender.sendDISH(code, length); 
      return;
    case 6:
_IR_Sender.sendSharp(code, length); 
      return;
    case 7:
_IR_Sender.sendPanasonic(code, length); 
      return;
    case 8:
_IR_Sender.sendJVC(code, length, 1); 
      return;
    case 11:
_IR_Sender.sendSAMSUNG(code, length); 
      return;
    default:
      // default is optional
    break;
  }}

remz
Рядовой
Сообщения: 11
Зарегистрирован: 27.06.2017{, 20:08}
Репутация: 0
Откуда: Балаково

IR транслятор

#14

Сообщение remz » 15.04.2020{, 22:35}

Господа та же проблема, при при одновременном использовании блоков IR Send и IR Receiving в проекте, после первой ретрансляции кода плата виснит, прочитав все выше так и не понял как решить данную проблему

void loop()
{
if (irRessPin14.decode(&irRessPin14Res)) {
irRessPin14FillVar(&irRessPin14Res);
irRessPin14.resume(); }else {irRessPin14ResVar(); }
//Плата:1
if (irRessPin14FFA25D) {if (!(_IR_Sender_1_TOI_193800025)) {_irSend(0xFFB04F, NEC, 32);}
_IR_Sender_1_TOI_193800025 = 1;} else {_IR_Sender_1_TOI_193800025 =0;}
}
void irRessPin14FillVar(decode_results *irRessPin14Res) {
long tempRes;
byte tempType;
tempRes=(irRessPin14Res->value);
tempType=(irRessPin14Res->decode_type);
if(!(tempRes == -1)) {if ((tempRes == (0xFFA25D))&&(tempType == NEC)) {irRessPin14FFA25D = 1;} else {irRessPin14FFA25D=0;}
}}
void irRessPin14ResVar() {
irRessPin14FFA25D = 0;
}

void _irSend(long code, byte manufactureCode, byte length)
{
switch (manufactureCode) {
case NEC :
_IR_Sender.sendNEC(code, length) ;
break;
}}

Ответить

Вернуться в «Infrared (IR)»