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

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 15:35
alex555
Добрый день. У меня встала такая задача: управлять нагрузками с помощью пульта. Как подключать приемник, прочитать коды кнлпок, вставить их в блок программы и управлять одиночными кнопками 1, 2, и тд. я разобрался. Но у меня 20 нагрузок и соответственно нужно использовать сочетания кнопок как на телевизионном пульте(чтоб включить к примеру 13 канал нужно сначала включить клавишу 1 и через небольшую задержку клавишу 3 при этом если клавиша 13 не будет нажата включится 1-й канал). Подскажите пожалуйста как это организовать в программе флпрог. Заранее благодарен.

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 16:47
Oleg1345140
Самое просто что приходит в голову это всегда набирать все команды двумя цифрами 01,02,03...... Или использовать таймер и компоратор

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 18:28
slavas
На пультах бывают кнопки +10

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 20:41
Oleg1345140
slavas писал(а):На пультах бывают кнопки +10
Возможно пульт уже имеется или ограничен размер.

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 22:07
alex555
Фото пульта

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 22:26
Oleg1345140
кнопки * или # задействованы?

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 23:02
alex555
Незадействованы

Управление нагрузками с ик пульта

Добавлено: 27 июн 2016, 23:17
Noname
Отправку команды реализуйте после кнопки "ОК". То есть чтобы включить 13 канал надо нажать "1" ,потом "3" ,потом "ОК". А чтобы 7 канал- "7",потом" ОК".

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 09:26
Oleg1345140
Или использовать */# для добавления десятка (позволит уменьшить число нажимаемых кнопок на 1)

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 11:30
slavas
ну так я об этом сразу сказал.

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 12:30
Олег
Если делать как в телевизоре, то у меня получилась примерно такая конструкция, может и проще можно, но на первый взгляд получается так:


При первом нажптии включается таймер, в течении которого можно нажать вторую кнопку, при каждом нажатии в переменную Номер канала добавится еще одна цифра.
По истечении времени таймера значение переменной Номер канала запишется в переменную Передача номера, вот с этой переменой дальше и работать.
Можно преобразовать в integer и сравнивать компараторами.
Не проверял, просто схематический набросок.

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 13:52
Oleg1345140
можно так, единственное насчет преобразователя из числа в бит не уверен, нужно проверить.


Добавлено (28.06.2016, 13:52)
---------------------------------------------
таймеры тоф 1,5 секунды, тон 1,4 секунды

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 13:57
Oleg1345140
Немного поторопился, вот исправленный

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 13:57
Oleg1345140

Управление нагрузками с ик пульта

Добавлено: 28 июн 2016, 22:24
hrach
[video]http://www.youtube.com/watch?v=3l8Fn7T2wMw[/video]

Добавлено (28.06.2016, 22:24)
---------------------------------------------
Скетч можно скачать здесь.

Управление нагрузками с ик пульта

Добавлено: 30 июн 2016, 01:12
alex555
Мой вариант наверное самый громоздкий. Там добавлена резервная кнопка(включает все) и сдвиговые регистры 74HC595

Добавлено (30.06.2016, 01:12)
---------------------------------------------
Только в моем варианте нужно подтверждать клавишей "ок"

Управление нагрузками с ик пульта

Добавлено: 30 июн 2016, 05:57
Oleg1345140
На будущее, может быть полезно у некоторых блоков (в том числе и логические блоки и/или) можно увеличивать число входов что бы не городить лесенку из них

Управление нагрузками с ик пульта

Добавлено: 30 июн 2016, 09:37
alex555
Спасибо. Теперь буду знать.

Добавлено (30.06.2016, 09:37)
---------------------------------------------
Честно говоря чать "кода" я подсматрел у вас Олег в сообщении на одной из веток форума

Управление нагрузками с ик пульта

Добавлено: 30 июн 2016, 10:04
Oleg1345140
alex555 писал(а):Честно говоря чать "кода" я подсматрел у вас Олег в сообщении на одной из веток форума
Я и смотрю какие то знакомые переменные ))) рад что пригодилось.