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

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 19 дек 2016, 22:38
holodaleksey
доброго.
имеем: пульт от телевизора, LED подсветка потолка, ключ на полевике (пока в опытах не участвует), ардуина уно, ик приемник,
тактовые кнопки 3шт.
задача: от пульта включать/выключать подсветку, кнопками + и - регулировать яркость. в проекте задействованы тактовые
кнопки, на случай севших батареек в пульте.

1 кнопка "включить/выключить" - работает.
2 кнопка "ярче", 3 кнопка "тусклее" - работают, но не устраивает как.

хотелось, что бы: кнопу нажал и пока не отпустил - яркость меняется. и это работает, но только на тактовых кнопках, а командами от пульта - нет, от
пульта: команда проходит, но только 1 раз, а потом как будто стопор какой на повторный прием этого же сигнала. отпускаешь кнопку, снова
жмешь - еще один шаг на изменение. не устраивает.
пульт проверял, команды идут непрерывно, пока кнопку держишь, проверял через компорт и )) через объектив фотоаппарата.
куда копать?...

также: прим!!! внимание! найден баг проги!! винда хр, версии фл прог 1,14, 1,15, 2,00: при копировании блока ик приемника (контрол+с) прога вылетает.

Добавлено (01.10.2016, 22:37)
---------------------------------------------
однако... при смене пульта ( от музцентра пионер) все команды обрабатываются
непрерывно... считал по новой кода, написал по новой алгоритм - от
центра работает, а от телевизора (лджи) нет... вот засада..

Добавлено (02.10.2016, 00:40)
---------------------------------------------
трабл найден: (из копипаст из компорта):

Received NEC: 659A50AF
Received NEC: 659A50AF
Received NEC: 659A50AF
Received NEC: 659A50AF
Received NEC: 659A50AF
Received NEC: 659A50AF
Received NEC: 20DF40BF
Received NEC: repeat; ignoring.
Received NEC: repeat; ignoring.
Received NEC: 20DF40BF
Received NEC: repeat; ignoring.
Received NEC: repeat; ignoring.
Received NEC: 20DF40BF
Received NEC: repeat; ignoring.
Received NEC: repeat; ignoring.
Received NEC: 20DF00FF
Received NEC: repeat; ignoring.
Received NEC: repeat; ignoring.
Received NEC: 20DF00FF
Received NEC: repeat; ignoring.
Received NEC: 20DF00FF

659-это пионер, работает нормально, 20D - это кривой лжди, на который и надо все прицепить... почему не пульт от пионера? - потому как от пионера только музцентр, а лджи - это универсальный пульт на все.

кто подскажет что с этим сделать?...

Добавлено (02.10.2016, 19:58)
---------------------------------------------
прямой проброс с датчика на компорт: (вопросительные знаки так и выводятся)
кнопка громкость плюс:
??20DFC03F??NEC??132??
??FFFFFFFF??NEC??1??0??
??FFFFFFFF??NEC??1??0??
громкость минус:
??20DFC03F??NEC??1??32??
??FFFFFFFF??NEC??1??0??
??FFFFFFFF??NEC??1??0??
требуемая кнопка на уменьшение яркости (на пульте ">"):
??0DFCD32??NEC??1??32??
??FFFFFFFF??NEC??1??0??
??FFFFFFFF??NEC??1??0??

команда "??FFFFFFFF??NEC??1??0??" летит пока кнопка нажата...

Добавлено (03.10.2016, 19:54)
---------------------------------------------
сканить при помощи сканить при помощи IRrecvDump (в ide, образцы), либо

#include "IRremote.h"IRrecv irrecv(2); // указываем вывод, к которому подключен приемник
decode_results results;
void setup() {
Serial.begin(9600); // выставляем скорость COM порта
irrecv.enableIRIn(); // запускаем прием
}
void loop() {
if ( irrecv.decode( &results )) { // если данные пришли
Serial.println( results.value, HEX ); // печатаем данные
irrecv.resume(); // принимаем следующую команду
}}
---------------------------------------------
"Также некоторые ДУ при удержании кнопки повторно отправляют команду, некоторые отправляют команду повтора. Т.е. ты нажал на кнопку, сначала идет команда кнопки, потом команда повтора одинаковая для всех. Это необходимо учесть при написании программ."
взято отсюда: http://robocraft.ru/blog/799.html

---------------------------------------------
Добавлено (19.12.2016, 22:22)
---------------------------------------------
отметился в баг трекере
http://forum.flprogwiki.ru/viewtopic.php?f=5&t=1351

Добавлено (19.12.2016, 22:30)
---------------------------------------------
промежуточный отчет.
задача была прицепить LED-подсветку через шим, к пульту от телевизора, что б перед сном не вставать, когда лениво.
железяка собрана, работает без сбоев уже 2 месяца, но в урезанном виде.
поскольку с командой повтора разобраться не смог, регулируется шагами <br / Изображение при первом включении 62 (из 255), шаг+/- по 10). в-принципе, лучше чем ничего.
рабочий скетч и алгоритм во вложениях.
однако, буду признателен, если кто-то поможет дописать скетч на повтор команды, пока
кнопка нажата и, соответственно, пока летит команда FFFFFFFF .
Спс!

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 00:33
starshoy81
holodaleksey, Может "приемник" не может отловить начало и конец команды? Надо распарсить всю посылку и посмотреть, что команда, а что вводная и заключительная часть.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 03:17
support
Это известная проблема, я пока её ещё не решил. Просто некоторые пульты при удержании кнопки не отсылают повторно команду кнопки, а отправляют код FFFF.... (удержание последней нажатой кнопки пульта) Буду разбираться.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 12:06
Sancho
holodaleksey
допиши в файл кнопку повтора, чтобы был выход от неё и выложи.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 14:22
holodaleksey
Sancho писал(а):допиши в файл кнопку повтора, чтобы был выход от неё и выложи
а в вот этом и трабл: Команда повтора распознается в скетчах "примеры" в IDE, но не распознается в фл прог "запись кодов ик пульта".
пробовал править файл с кодами в блокноте, но тогда при подстановке кода ffffffff при удержании ардуино уходит на непрерывное уменьшение/увеличение значения до соответственно нижнего/верхнего пределов.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 14:27
Sancho
Понято, сейчас попробую скрестить...

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 20 дек 2016, 16:13
Sancho
Так пробовал?
В ардуино 1.6.12 ругается, в старых - компилится. Добавлены в .ino FFFFFFFF
Жаль у меня нет пульта с повтором... Всё остальное на макетке собрано.
PS. Если не пойдёт, будем делать через ide приём и FLP логику.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 00:33
holodaleksey
отчитываюсь: и ino и flp не работают.

первый баг: первое включение происходит только по нажатию "больше" и никак иначе, потом все нормально, кнопка "вкл" вспоминает свою задачу.
2. изменения при удержании нет.
3. на глаз (через компорт не проверял, дети уже спят и меня щасс жена сковородкой приласкает) максимальная яркость (макс.PWM?) стала меньше. но возможно это следствие того что до конца вверх не пролистал.
4. у меня была реализация короткого промаргивания (короткое обнуление на линии L5) при достижении верхнего и нижнего пределов (что б юзверь четко понимал что это край, и кнопки тыркать больше смысла нет), поскольку эта возможность с вашей первой версии пропала сложно (невозможно?) понять предел это или нет.

файлы ниже - мои (неудачные) потуги сделать команду повтора в блокноте.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 08:08
rw6cm
holodaleksey писал(а):мои (неудачные) потуги сделать команду повтора.
В свое время вышел из этого положения так.

NEC протокол инфракрасного управления

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 08:22
Sancho
holodaleksey писал(а):первый баг: первое включение происходит только по нажатию "больше" и никак иначе, потом все нормально, кнопка "вкл" вспоминает свою задачу.2. изменения при удержании нет.3. на глаз (через компорт не проверял, дети уже спят и меня щасс жена сковородкой приласкает) максимальная яркость (макс.PWM?) стала меньше. но возможно это следствие того что до конца вверх не пролистал.4. у меня была реализация короткого промаргивания (короткое обнуление на линии L5) при достижении верхнего и нижнего пределов (что б юзверь четко понимал что это край, и кнопки тыркать больше смысла нет), поскольку эта возможность с вашей первой версии пропала сложно (невозможно?) понять предел это или нет.
1. при первом включении счётчик в 0, поэтому только +ом включается.
2. попробую скрестить ide приём и flp логику.
3. максимум 253.
4. согласен с Вашей логикой, делал чисто для теста FFFFFFFF, вернуть при успешной реализации не проблема. (у Вас и старт и минимум был 62)
займусь сегодня

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 13:30
holodaleksey
Sancho писал(а):(у Вас и старт и минимум был 62)
так точно, это уж мои тараканы) потому как на максимум реально ярко светит, а на минимум очень слабо. а так (62) запускается на приемлемом уровне.

Добавлено (21.12.2016, 13:30)
---------------------------------------------
rw6cm писал(а):В свое время вышел из этого положения так.
я правильно понял: объединяются пины 3 и 5, и по 3 пину идет обработка команды, а пин 5 при наличии любого сигнала удерживает команду активной в течении времени TON (100мс)?

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 14:41
rw6cm
holodaleksey писал(а):я правильно понял:
Да правильно.
Только в TON стоит 2 сек.
Одиночная команда проходит как есть (одиночный импульс).
Если удерживать, пустые посылки через 2 сек дадут на выходе постоянный высокий сигнал.

Можно и это вариант
Тоже самое но с импульсами на выходе

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 16:37
Sancho
Попробуй, c ide разборкой.
Пока без on/off и миганий.
Чисто проверка FFFFFFFF!!!!!
Будет срабатывть и после других кнопок, если есть FFFFFF!!!!!

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 17:19
rw6cm
Sancho писал(а):Чисто проверка FFFFFFFF
Нету в NEC протоколе команды FFFFFFFF,
Идет команда за ней короткие посылки, состоящие из преамбулы длительностью 9 мс.
[spoiler=Спойлер][/spoiler]

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 17:36
Sancho
rw6cm писал(а):Нету в NEC протоколе команды FFFFFFFF,
ide эту посылку так опознаёт...

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 21 дек 2016, 21:41
holodaleksey
Sancho писал(а):ide эту посылку так опознаёт...
+1 и
http://arduino.ru/forum/programmirovanie/vopros-o-biblioteke-irremoteh

Добавлено (21.12.2016, 21:41)
---------------------------------------------
Sancho писал(а):Попробуй, c ide разборкой.Пока без on/off и миганий.
Чисто проверка FFFFFFFF!!!!!
Будет срабатывть и после других кнопок, если есть FFFFFF!!!!!
включается на заданное в стартовом числе любой кнопкой, изменения яркости нет вообще от любой кнопки.

Добавлено:
может поможет. но явно  не мне, для меня там абракадабра...
http://arduino.ru/forum/programmirovanie/vypolnit-komandy-s-ik-pulta

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 22 дек 2016, 08:52
rw6cm
holodaleksey, и чем вас такой вариант не устраивает?

Добавлено (22.12.2016, 08:52)
---------------------------------------------
support писал(а):Это известная проблема, я пока её ещё не решил. Просто некоторые пульты при удержании кнопки не отсылают повторно команду кнопки, а отправляют код FFFF.... (удержание последней нажатой кнопки пульта) Буду разбираться.
Достаточно сделать boolean выход, который при сигнале на входе приемника, будет давать импульс.
Остальное можно сделать самим элементарной логикой, как  кому нужно.

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 22 дек 2016, 22:16
holodaleksey
rw6cm писал(а):holodaleksey, и чем вас такой вариант не устраивает?
Спасибо!, сегодня обязательно попробую, но только вечером. конец года, на работе даже 15 минут выкроить не реально.

Добавлено (22.12.2016, 22:16)
---------------------------------------------
rw6cm писал(а):holodaleksey, и чем вас такой вариант не устраивает?
Прикрепления: 1.07.4.flp(263Kb)
Спасибо, работает! время поправил чуть, что б по-шустрее отзывался.
завтра моргушку еще впишу и вообще красота будет! СПАСИБО за наводку и всем СПАСИБО за помощь!!!

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 23 дек 2016, 13:36
rw6cm
holodaleksey писал(а):с постоянным промаргиванием по достижении пределов при нажатии/удержании кнопки
Если регулировка строго по одному шагу не нужна то можно схему упростить. 1.07.4-04

РЕАЛИЗОВАННО: ик-пульт NEC плавное снижение шим для LED

Добавлено: 24 дек 2016, 01:28
holodaleksey
Отчет:
Реализовано как и задумывалось, работает 100%!!
всем участвующим ОГРОМНОЕ СПАСИБО!

чуть деталей:
1.07.4-01 (см. в теме ранее) рабочий с однократным промаргиванием по достижении пределов - рабочий.
1.07.4-02 с постоянным промаргиванием по достижении пределов при нажатии/удержании кнопки - рабочий.
1.07.4-03 с постоянным промаргиванием по достижении пределов при нажатии/удержании кнопки - рабочий.
(версия -02 мой вариант реализации схемы rw6cm, -04 полностью его, Еще раз: rw6cm - огромное спасибо!, не менее огромное - Sancho)

что касаемо загруженности по ресурсам ардуины:
1.07.4-02
Sketch uses 7 520 bytes (23%) of program storage space. Maximum is 32 256 bytes.
Global variables use 268 bytes (13%) of dynamic memory, leaving 1 780 bytes for local variables. Maximum is 2 048 bytes.
1.07.4-03
Sketch uses 7 500 bytes (23%) of program storage space. Maximum is 32 256 bytes.
Global variables use 268 bytes (13%) of dynamic memory, leaving 1 780 bytes for local variables. Maximum is 2 048 bytes.