#1 2016-04-26 18:48:41

z0ri
Участник
Зарегистрирован: 2016-01-10
Сообщений: 19

ПДУ даёт разные сигналы хаотично

Здравствуйте.
Столкнулся с такой непонятно для меня особенность, не знаю как добиться стабильности.
Использую шилд с w5100 на Arduino. подключен ИК приёмник 38 Hz. По нажатию на кнопку ПДУ должен отправляться GET запрос на другую Arduino с шилд w5100. Всё вроде бы хорошо и отправляется, но вот нажатия кнопок на ПДУ ИК приёмник распознаёт не всегда точно. Жму одну и ту же кнопку на ПДУ и в мониторе порта вижу:

20DF8877
20DF8877
20DF
20DF887
20DF8877
20DF8877
20DF8877
20DF8877
20DF8877
20DF8877
2ADE08A3
20DF8877
2ADE08A3
2ADE08A3
20DF
20DF8877
20DF8877

То есть вроде бы в основном выпадает 20DF8877, но часто идёт другой сигнал.
Пульты пробовал разные (4-е штуки). От ТВ LG, Samsung, Toshiba и от ресивера GI.
Пробовал использовать не готовый китайский модуль с ИК приёмником, а сам паял схемку.
Использую библиотеку IRremote.
Наверно есть смысл показать вывод в порт после нажатия на кнопку, например, 2 на ПДУ от ТВ LG:

Encoding  : NEC
Code      : 20DF48B7 (32 bits)
Timing[67]: 
     +8900, -4450     + 550, - 550     + 550, - 550     + 600, -1650
     + 550, - 550     + 550, - 550     + 550, - 550     + 550, - 550
     + 550, - 550     + 550, -1650     + 600, -1650     + 550, - 550
     + 550, -1650     + 550, -1700     + 550, -1700     + 500, -1700
     + 550, -1700     + 550, - 550     + 550, -1650     + 550, - 550
     + 550, - 550     + 550, -1700     + 550, - 550     + 550, - 550
     + 550, - 550     + 550, -1650     + 550, - 550     + 550, -1700
     + 550, -1650     + 550, - 600     + 500, -1700     + 500, -1750
     + 450, -1750     + 500
unsigned int  rawData[67] = {8900,4450, 550,550, 550,550, 600,1650, 550,550, 550,550, 550,550, 550,550, 550,550, 550,1650, 600,1650, 550,550, 550,1650, 550,1700, 550,1700, 500,1700, 550,1700, 550,550, 550,1650, 550,550, 550,550, 550,1700, 550,550, 550,550, 550,550, 550,1650, 550,550, 550,1700, 550,1650, 550,600, 500,1700, 500,1750, 450,1750, 500};  // NEC 20DF48B7
unsigned int  data = 0x20DF48B7;

На просторах интернета прочёл, что у NEC тоже 38 Hz.
Подскажите, люди добрые, как добиться стабильность в этом мире? В мире Arduino + IR.

Редактировался z0ri (2016-04-26 20:32:44)

#2 2016-04-27 09:19:42

nikon777
Участник
Зарегистрирован: 2016-04-20
Сообщений: 20

Re: ПДУ даёт разные сигналы хаотично

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

#3 2016-04-27 09:31:23

NoName
Customer
Из Київ
Зарегистрирован: 2014-07-08
Сообщений: 1,404

Re: ПДУ даёт разные сигналы хаотично

nikon777,  100%  так,   вот небольшой ликбез  по IR )
http://www.vishay.com/docs/80071/dataform.pdf
в вашем случае я бы дня начала оставил в системе только приемник, и проверил работу с ним,
это раз
Вы не показали как делаете вывод данных, это 2.
для начала - заполнить массив принятым кодом 20-50 принятых данных и раз в 4 сек, делать вывод в терминалку для анализа
я когда то смотрел код  этой либы, неплохо сделали, но я делал по другому )

add
когда то ковырял такую "штуку", в итоге RC5  RC6 гарантировано давал только пульт от камеры и простенький покупной он как раз для таких поделок, всякие навороченные были с вопросами (

add
change
такой вариант рассмотрите
http://arduino-ua.com/prod210-IR_nabor_dlya_Ardyino
если далеки от работы с осциллографом начинайте только с парного набора, если несущие не совпадают то и работать будет глючно
приемник  дает не RAW (

Редактировался NoName (2016-04-29 10:08:49)

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела