Страница 1 из 1

IR транслятор

Добавлено: 04.03.2016{, 14:26}
keeper1978
Может кто делал нужно альтернативный пульт подвязать к устройству 

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

IR транслятор

Добавлено: 04.03.2016{, 17:51}
Сергей
keeper1978, сталкивался, почти!!! все работает. Принимается с пульта, потом передается устройству. Есть нюансы. Подробнее опишите.

IR транслятор

Добавлено: 05.03.2016{, 16:00}
keeper1978
от устройства поломан пульт, надо подключить к нему другой рабочий пульт, вот и решил попробовать сделать на базе ардруино.
Хорошо что в своё время на всякие пожарные снял коды поломанного пульта
вот сейчас и думаю как это лучше сделать

IR транслятор

Добавлено: 06.03.2016{, 00:55}
keeper1978
Проблема вот в чем почемуто он при первом нажатии передаёт сигнал а дальше перестаёт

IR транслятор

Добавлено: 06.03.2016{, 07:46}
rw6cm
А зачем этот паровоз?
Коды есть, привязали к кнопкам и готовый пульт.

IR транслятор

Добавлено: 06.03.2016{, 09:54}
keeper1978
если я правильно понял вы предлагаете ардруинку поставить в пульт и физически привязать к кнопкам ?
но задача не такая, хочю сделать блок который будет принимать сигнал от одного пульта и передавать на устройство уже коды оригинального пульта.

IR транслятор

Добавлено: 06.03.2016{, 10:10}
Олег
То есть вы хотите поставить ардуино на устройство и управлять устройством с другого пульта, а ардуино должна просто подменять коды?

IR транслятор

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

IR транслятор

Добавлено: 06.03.2016{, 10:55}
keeper1978
В том то и дело что после загрузки дуньки первое нажатие проходит нормально а дальше на кнопки не реагирует

IR транслятор

Добавлено: 06.03.2016{, 12:01}
support
Я пока не могу с этим разобраться. Всё железо на работе, и как только приеду на вахту (15-го числа) так займусь

IR транслятор

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

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

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

IR транслятор

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

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

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

IR транслятор

Добавлено: 10.04.2017{, 13:31}
gromoboy
Если еще актуально, то проблема решается добавлением строки в моём случае 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;
  }}

IR транслятор

Добавлено: 15.04.2020{, 22:35}
remz
Господа та же проблема, при при одновременном использовании блоков 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;
}}