повторитель ик сигнала на Ардуинке

Rom327
Offline
Зарегистрирован: 25.04.2015

Доброго времени суток!
Возникла задача создать повторитель ик сигнала на Ардуинке.
Оригинал схемы тут: http://radiostorage.net/uploads/Image/schemes/radio/rk16-05-8.png

Собрал похожую схему на Ардуине, но без входного транзистора вот код:

01 const int IR_Pin = 3;
02  
03 int IR_State = 0;
04 const int ledPin =  13;
05 void setup() {
06 pinMode(IR_Pin, INPUT);
07 }
08 void loop() {
09 IR_State = digitalRead(IR_Pin);
10 if (IR_State == LOW)
11 {
12     tone(2, 38000);
13  digitalWrite(ledPin, HIGH);
14 }
15   else
16 {
17     noTone(2);
18  digitalWrite(ledPin, LOW);
19 }
20 }

 

Если замкнуть выход ИК приемника на землю, генератор на Ардуине запускается, диод моргает, частота 38 кГц. Если засветить пультом в ИК приемник, диод тоже моргает, но ТВ код не понимает. Причем вечером все работало, а у тром не хочет... Где ошибка и куда копать?

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Rom327 пишет:
вечером все работало, а утром не хочет
Утро вечера помудренее будет.

Rom327
Offline
Зарегистрирован: 25.04.2015

Может и так... Код то правильный?

ua6em
ua6em аватар
Онлайн
Зарегистрирован: 17.08.2016

а если убрать строки 13 и 18?

Rom327
Offline
Зарегистрирован: 25.04.2015

Пробовал! Это просто как сигнальный диод... Было так:

const int IR_Pin = 3;

int IR_State = 0;
//
//const int ledPin =  13;

void setup() {

  pinMode(IR_Pin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  IR_State = digitalRead(IR_Pin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (IR_State == LOW)
  {
    tone(2, 38000);
    //digitalWrite(ledPin, HIGH);
  }
  else
  {
    noTone(2);
    //digitalWrite(ledPin, LOW);
  }
}

В выходные продолжу...

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Rom327, чем аппаратный таймер не устраивает, зачем там вообще ардуина? У меня первая мысль была по прочтению - "сделать на рассыпухе и 555", как то: тсоп, инвертор, таймер управляющийся по сбросу, усилитель мощности. Открываю схему и о чюдо, что я вижу: оно там так и есть на схеме, прямо один в один.

Афтар, не городите огород, сделайте как на схеме.

Куда копать.

1. Вы точно уверены что частота 36 кГц? Не 38? Не 40? Не 42? А? А? А?

2. Вы ни слова не сказали о транзисторах. ИК диоды - прожорливая вещь, если ток превысил 40 мА - меняйте вывод, тот к которому оно соединено без резистора - вышел из строя. Поэтому вечером работало а утром нет.

3. 

Rom327 пишет:
частота 38 кГц

Откуда инфа? Опять же, ни слова про частотомер или осциллограф в оригинальном посте.

Транзистор кт3102 - любой транзистор PNP малой мощности, можно заменить на транзистор S8550. Это крайне дешёвый китайский (скопипизженный американский) транзистор с хорошими показателями, либо просто скажите в радиотоварах "любой пээнпэ маломощный". Транзистор кт817 - составной транзистор средней мощности, можно заменить на S8050 (комплементарная пара 8550, но у него достаточный ток коллектора - 500 мА). Резистор R7 лучше увеличить до 39 Ом и потом уменьшать постепенно. Русские светодиоды жрут больше, поэтому если вы купили светодиод - скорее всего он новый и не русский, так что на нём меньше падение и он жрёт больший ток. Впрочем, транзистору будет на это насрать.

Другие номиналы частотозадающей цепи (на 38 кГц) - R4=10k, R5=1k, C2=1n8=1800pF.

Upd. Резистор R7 одноваттный (не меньше, иначе может греться).

bizzon
Offline
Зарегистрирован: 29.03.2016

КТ3102-NPN, осмелюсь поправить .Да и 817 не составной и тоже NPN.

В схеме косяк с названием. 3107-PNP.

Rom327
Offline
Зарегистрирован: 25.04.2015

Voodoo Doll пишет:

Rom327, чем аппаратный таймер не устраивает, зачем там вообще ардуина? У меня первая мысль была по прочтению - "сделать на рассыпухе и 555", как то: тсоп, инвертор, таймер управляющийся по сбросу, усилитель мощности. Открываю схему и о чюдо, что я вижу: оно там так и есть на схеме, прямо один в один.

Афтар, не городите огород, сделайте как на схеме.

Куда копать.

1. Вы точно уверены что частота 36 кГц? Не 38? Не 40? Не 42? А? А? А?

2. Вы ни слова не сказали о транзисторах. ИК диоды - прожорливая вещь, если ток превысил 40 мА - меняйте вывод, тот к которому оно соединено без резистора - вышел из строя. Поэтому вечером работало а утром нет.

3. 

Rom327 пишет:
частота 38 кГц

Откуда инфа? Опять же, ни слова про частотомер или осциллограф в оригинальном посте.

Транзистор кт3102 - любой транзистор PNP малой мощности, можно заменить на транзистор S8550. Это крайне дешёвый китайский (скопипизженный американский) транзистор с хорошими показателями, либо просто скажите в радиотоварах "любой пээнпэ маломощный". Транзистор кт817 - составной транзистор средней мощности, можно заменить на S8050 (комплементарная пара 8550, но у него достаточный ток коллектора - 500 мА). Резистор R7 лучше увеличить до 39 Ом и потом уменьшать постепенно. Русские светодиоды жрут больше, поэтому если вы купили светодиод - скорее всего он новый и не русский, так что на нём меньше падение и он жрёт больший ток. Впрочем, транзистору будет на это насрать.

Другие номиналы частотозадающей цепи (на 38 кГц) - R4=10k, R5=1k, C2=1n8=1800pF.

Upd. Резистор R7 одноваттный (не меньше, иначе может греться).

Отвечаю по пунктам

1. На Ардуине будет собран еще и  дешефратор ик сигнала, так что повторитель на ней же логичен.

2. 5551

3. Частоту пульта измерил осциллографом 38К.

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom327 пишет:

 

3. Частоту пульта измерил осциллографом 38К.

1.  TSOP1736 - 36К.

2. Возьми какую-нибудь IR-библиотеку и посмотри, что ардуина принимает. 

Там же и все дешифровки, и передача - в примерах всё написано.

Rom
Offline
Зарегистрирован: 12.11.2015

SLKH пишет:

Rom327 пишет:

 

3. Частоту пульта измерил осциллографом 38К.

1.  TSOP1736 - 36К.

2. Возьми какую-нибудь IR-библиотеку и посмотри, что ардуина принимает. 

Там же и все дешифровки, и передача - в примерах всё написано.

36К это в схеме. У меня пульт работает на 38К, приемник тоже на 38К. Ардуинка сигналы декодирует и пишет код в мониторе. Тут все в порядке. Затык именно с генерацией-передачей... В примерах передача с привязкой к производителю/кодировке, а мне надо просто принять - передать, без перекодировки...

axill
Offline
Зарегистрирован: 05.09.2011

Вы пытаетесь тупо транслировать причем в цикле, что не гарантирует реального времени

если так делать то по прерываниям

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

Rom
Offline
Зарегистрирован: 12.11.2015

axill пишет:

Вы пытаетесь тупо транслировать причем в цикле, что не гарантирует реального времени

если так делать то по прерываниям

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

Если я бы это умел, я бы сюда не обратился...

axill
Offline
Зарегистрирован: 05.09.2011

По поводу прерываний почитайте про функцию attachinterrupt

насчет второго способа - библиотека IRRemote, там есть функция получить raw код и отправить raw код

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom пишет:

SLKH пишет:

Rom327 пишет:

 

3. Частоту пульта измерил осциллографом 38К.

1.  TSOP1736 - 36К.

2. Возьми какую-нибудь IR-библиотеку и посмотри, что ардуина принимает. 

Там же и все дешифровки, и передача - в примерах всё написано.

36К это в схеме. У меня пульт работает на 38К, приемник тоже на 38К. Ардуинка сигналы декодирует и пишет код в мониторе. Тут все в порядке. Затык именно с генерацией-передачей... 

вот этот код, что в монитор посылаешь, отправь и на светодиод.

 

Rom
Offline
Зарегистрирован: 12.11.2015

Это как?

b707
Онлайн
Зарегистрирован: 26.05.2017

Rom пишет:

Это как?

что "как"? - найдите в библиотеке функцию отправки и отправьте...

ВН
Offline
Зарегистрирован: 25.02.2016

Rom327

1. измерьте осциллом длительность импульса с выхода ТСОПа

2. нарисуйте схему свое выходного каскада на ик диод.

3. ТСОПы очень чувствительные приемники и могут ловить 2х, 3х кратные переотражения от стен и любых предметов,

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

Например, отключить выходной каскад и взяв синхронизацию осцила с выхода ТСОПа смотреть, что формируется на выходном пине, который должен повторять входной сигнал.

 

Rom327
Offline
Зарегистрирован: 25.04.2015

Спасибо! Схема выходного каскада в первом сообщении. Завтра попробую запустить... Сниму видео...

ВН
Offline
Зарегистрирован: 25.02.2016

попробуйте запустить (для уно или нано)


void ir_out() {tone(2, 38000, 1);} 

void setup() {attachInterrupt(1, ir_out, FALLING);}

void loop() {} 

при спаде импульса на входе на выходе должна формироваться пачка импульсов длительностью 1 мс

 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

ВН пишет:

попробуйте запустить (для уно или нано)


void ir_out() {tone(2, 38000, 1);} 

void setup() {attachInterrupt(1, ir_out, FALLING);}

void loop() {} 

при спаде импульса на входе на выходе должна формироваться пачка импульсов длительностью 1 мс

а толку с этой пачки? ни один телевизор её не поймет - никак. ему нужны пакеты по протоколу. 

SLKH
Offline
Зарегистрирован: 17.08.2015

Т.к. проверял покупки совсем недавно и всё необходимое на столе валялось, собрал схему* (!) и НАПИСАЛ ПРОГРАММУ (sic! Звучит-то как!).

Rom327, так выглядит работающее решение твоей суперпроблемы:



#include <iarduino_IR_RX.h>
#include <iarduino_IR_TX.h>
iarduino_IR_RX IR(3);
iarduino_IR_TX VD(2);

void setup()
{
	IR.begin();
	VD.begin();
}

void loop()
{
	if(IR.check()) 	{VD.send(IR.data); }
}

==========

* Датчик VS1838B + UNO + светодиод IR513B-40 (подключен к пину через резистор 150R); телевизор MTV-2429LT2

Rom327
Offline
Зарегистрирован: 25.04.2015

Всем привет!
Не знаю как, но заработало! С обычным красным диодом на выходе.
Пришлось немного"подвигать" частоту, чтобы получилось 38кГц(по осциллографу).
Спасибо всем откликнувшимся!
Вот код:

const int IR_Pin = 3;
int IR_State = 0;
//
const int ledPin =  13;

void setup() {

  pinMode(IR_Pin, INPUT);
}

void loop() {
  //read the state of the pushbutton value:
  IR_State = digitalRead(IR_Pin);

   //check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (IR_State == LOW)
  {
    tone(2, 37375);
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    noTone(2);
    digitalWrite(ledPin, LOW);
  }
}

Теперь трабла №2 вылезла: повторитель ик сигнала предназначается для тв приставки MAG-245. Программа включение реле предназначена для включения акустики одновременно с приставкой. Поэтому декодируется кнопка Power приставки. И если у всей нормальной техники при длительном нажатии передается сначала одиночный код кнопки (0x1CE338C7), а затем код повторения предыдущей команды (0xFFFFFFFF), то у приставки все время передается код кнопки. Причем очень хитро: при первом нажатии на кнопку Power передается код 0x38C (если держать кнопку 0x38C...0x38C...0x38C...), при отпускании и нажатии её же передается уже другой код: 0xB8C (если держать кнопку 0xB8C...0xB8C...0xB8C...). Таким образом, приходится вводить задержку, чтобы успеть убрать палец с кнопки. Можно ли как то изменить код, чтобы на было реакции на повторное нажатие кнопки?
Код включения реле:


#include <IRremote.h>
int RECEIVE_PIN = 11;//контакт приемника
int RELAY_PIN = 3;// реле
int LED_R_PIN = 4;//Red led
int LED_G_PIN = 5;//Green led

IRrecv irrecv(RECEIVE_PIN);//присваиваем пин приемника
decode_results results;//полученные данные


void setup() {

  Serial.begin(9600);

  irrecv.enableIRIn(); // включаем приемник

  pinMode(RELAY_PIN, OUTPUT); // настраиваем реле на выход
  pinMode(LED_R_PIN, OUTPUT); // настраиваем выход на красный диод
  pinMode(LED_G_PIN, OUTPUT); // настраиваем выход на зеленый диод


  digitalWrite(RELAY_PIN, LOW); //устанавливаем низкое значение
  digitalWrite(LED_R_PIN, LOW); //устанавливаем низкое значение
  digitalWrite(LED_G_PIN, HIGH); //устанавливаем высокое значение (Standby)
}
void loop() {

  if (irrecv.decode(&results)) //если получены данные
{
    Serial.print("0x");

    Serial.println(results.value, HEX);//вывод полученного в терминал

    if  (results.value == 0x38C || results.value == 0xB8C  || results.value == 0xBAD || results.value == 0x3AD)
    {
      digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN)); //если код кнопки совпадает меняем состояние реле на противоположное
      digitalWrite(LED_R_PIN, !digitalRead(LED_R_PIN));
      digitalWrite(LED_G_PIN, !digitalRead(LED_G_PIN));
    }
    delay(100);// задержка от двойного срабатывания

    irrecv.resume();// Получаем следующее значение

  }

}

Ну и последний вопрос: как объединить эти два кода в один? Попробовал влоб - не получилось: программа ругается:

Arduino: 1.8.7 (Windows 7), Плата:"Arduino/Genuino Uno"
Изменены опции сборки, пересобираем все
Tone.cpp.o (symbol from plugin): In function `timer0_pin_port':
(.text+0x0): multiple definition of `__vector_7'
libraries\Arduino-IRremote-master\IRremote.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Вот видео,  как и обещал: https://youtu.be/B3yQu3Q-1VE

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Для объединения надо в библиотеках ковырятся. 

А ты можешь подробнее объяснить чнго пытаешься в итоге получить (без привязки к программированию?

Просто нужно чтобы по пульту от приставки включалось и реле для питания аккустики? Тогда зачем тебе повторитель?

 

Rom327
Offline
Зарегистрирован: 25.04.2015

asam пишет:

Для объединения надо в библиотеках ковырятся. 

А ты можешь подробнее объяснить чнго пытаешься в итоге получить (без привязки к программированию?

Просто нужно чтобы по пульту от приставки включалось и реле для питания аккустики? Тогда зачем тебе повторитель?

 

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

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Самое простое – вскрыть приставку и подключить реле или релейный модуль на выход его БП. Только надо напряжение померять. Скорее всего там 3.3В

Ну или если в потроха сильно лезть не охота – взять сигнал включения приставки подключившись к светодиоду на панели приставки. А если не вскрывать – то взять фотодатчик и прилепить его на светодиод. А сигнал завести в ардуинку.

 

Rom327
Offline
Зарегистрирован: 25.04.2015

asam пишет:

Самое простое – вскрыть приставку и подключить реле или релейный модуль на выход его БП. Только надо напряжение померять. Скорее всего там 3.3В

Ну или если в потроха сильно лезть не охота – взять сигнал включения приставки подключившись к светодиоду на панели приставки. А если не вскрывать – то взять фотодатчик и прилепить его на светодиод. А сигнал завести в ардуинку.

 

Обязательное условие: ни приставку ни монитор не вскрывать! Если подключать фотодиод к светодиоду придется ловить уровень освещенности. Днем он один, вечером другой... И чем этот способ лучше декодирования кода пульта? Можно еще ток потребления монитора измерять...

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Rom327 пишет:

 Если подключать фотодиод к светодиоду придется ловить уровень освещенности. Днем он один, вечером другой... И чем этот способ лучше декодирования кода пульта? Можно еще ток потребления монитора измерять...

 

Так прикрепить герметично, что бы посторонний свет не проникал.

А если хочется все на ИК сделать, то придется разбираться с конфликтующими библиотеками. Это вполне решаемо, но требует  более глубокого понимания ардуинки. В целях обучения будет очень полезно.  

b707
Онлайн
Зарегистрирован: 26.05.2017

asam пишет:

Самое простое – вскрыть приставку ....

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

Чего вы хотите добиться - экономии 2х рублей в месяц на электричестве?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

b707 пишет:

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

Чего вы хотите добиться - экономии 2х рублей в месяц на электричестве?

[/quote]

 

Ну, мало ли.. Вдруг вид бесполезно горящих лампочек на колонках дико раздражает тещу? 

b707
Онлайн
Зарегистрирован: 26.05.2017

asam пишет:

Ну, мало ли.. Вдруг вид бесполезно горящих лампочек на колонках дико раздражает тещу? 

заклеить "глазки" синий изолентой. Если что - я имел в виду на колонках :)

Rom327
Offline
Зарегистрирован: 25.04.2015

Всем конечно спасибо за советы и предложения, но задачу я описал и ее надо реализовать именно так как она описана. Если есть конкретные советы по реализации кода, готов выслушать! А если просто охота потрепаться, создайте свою тему в курилке...

b707
Онлайн
Зарегистрирован: 26.05.2017

Rom327 пишет:

Всем конечно спасибо за советы и предложения, но задачу я описал и ее надо реализовать именно так как она описана. Если есть конкретные советы по реализации кода, готов выслушать! А если просто охота потрепаться, создайте свою тему в курилке...

А что тут обсуждать-то? Только трепаться и остается...

Вам в сообщении №20 выложили готовый код, берите и пользуйтесь

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom327 пишет:

 

Ну и последний вопрос: как объединить эти два кода в один? 

Зачем?

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom327 пишет:

asam пишет:

Для объединения надо в библиотеках ковырятся. 

А ты можешь подробнее объяснить чнго пытаешься в итоге получить (без привязки к программированию?

Просто нужно чтобы по пульту от приставки включалось и реле для питания аккустики? Тогда зачем тебе повторитель?

 

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

чё за нафиг?

ардуина с инфр. приемником принимает и декодирует сигнал с приставочного пульта и включает/выключает реле питания акустики - без всяких передатчиков. Что ещё надо?

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom327 пишет:

 Можно еще ток потребления монитора измерять...

неплохая идея.

Rom327
Offline
Зарегистрирован: 25.04.2015

b707 пишет:

А что тут обсуждать-то? Только трепаться и остается...

Вам в сообщении №20 выложили готовый код, берите и пользуйтесь

А не работает код! На выходе диод моргает не всегда, и приставка на него не реагирует.

Rom327
Offline
Зарегистрирован: 25.04.2015

SLKH пишет:

ардуина с инфр. приемником принимает и декодирует сигнал с приставочного пульта и включает/выключает реле питания акустики - без всяких передатчиков. Что ещё надо?

Приставка спрятана за монитор и не находится в прямой видимости пульта. Вы вообще мои сообщения читаете?

SLKH
Offline
Зарегистрирован: 17.08.2015

Rom327 пишет:

b707 пишет:

А что тут обсуждать-то? Только трепаться и остается...

Вам в сообщении №20 выложили готовый код, берите и пользуйтесь

А не работает код! На выходе диод моргает не всегда, и приставка на него не реагирует.

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

ВН
Offline
Зарегистрирован: 25.02.2016

Rom327 пишет:

 Причем очень хитро: при первом нажатии на кнопку Power передается код 0x38C (если держать кнопку 0x38C...0x38C...0x38C...), при отпускании и нажатии её же передается уже другой код: 0xB8C (если держать кнопку 0xB8C...0xB8C...0xB8C...). Таким образом, приходится вводить задержку, чтобы успеть убрать палец с кнопки. Можно ли как то изменить код, чтобы на было реакции на повторное нажатие кнопки?

так селектируйте 0x38C -включение, а 0xB8C -выключение

т.е. при выключении кнопку Power нужно просто нажать дважды,

наверно и сама приставка так это различает

SLKH
Offline
Зарегистрирован: 17.08.2015

ВН пишет:

Rom327 пишет:

 Причем очень хитро: при первом нажатии на кнопку Power передается код 0x38C (если держать кнопку 0x38C...0x38C...0x38C...), при отпускании и нажатии её же передается уже другой код: 0xB8C (если держать кнопку 0xB8C...0xB8C...0xB8C...). Таким образом, приходится вводить задержку, чтобы успеть убрать палец с кнопки. Можно ли как то изменить код, чтобы на было реакции на повторное нажатие кнопки?

так селектируйте 0x38C -включение, а 0xB8C -выключение

т.е. при выключении кнопку Power нужно просто нажать дважды,

наверно и сама приставка так это различает

Это вряд ли. 

Скорее всего там протокол RC-5, команда одна, а отличие в бите Toggle - одиночное нажатие или удержание.

А приставка при получении любой из этих команд (одиночного пакета или с повторами, безразлично) меняет свое состояние.

Rom327
Offline
Зарегистрирован: 25.04.2015

ВН пишет:

Rom327 пишет:

 Причем очень хитро: при первом нажатии на кнопку Power передается код 0x38C (если держать кнопку 0x38C...0x38C...0x38C...), при отпускании и нажатии её же передается уже другой код: 0xB8C (если держать кнопку 0xB8C...0xB8C...0xB8C...). Таким образом, приходится вводить задержку, чтобы успеть убрать палец с кнопки. Можно ли как то изменить код, чтобы на было реакции на повторное нажатие кнопки?

так селектируйте 0x38C -включение, а 0xB8C -выключение

т.е. при выключении кнопку Power нужно просто нажать дважды,

наверно и сама приставка так это различает

Очередной "умник"! Если дважды нажать кнопку, то и приставка среагирует дважды: выключится и снова включится...

ВН
Offline
Зарегистрирован: 25.02.2016

не телепат уж точно, так что трахайся на здоровье

Rom327
Offline
Зарегистрирован: 25.04.2015

А чего тут трахаться? Задача была поставлена и задача была решена! Всем спасибо!