Вот предложу регистр сдвига для супер люстры, до 32 ламп(выходов):
Регистр сдвига.PNG
Ничего не стоит, если понадобится, добавить сброс или реверс!
И формирователь команд в зависимости от продолжительности нажатия кнопки:
Формирование команд от продолжительности нажатия.PNG
Последний раз редактировалось Сергей0308; 04.04.2017 в 00:02.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
для понимания задачи.
есть группы света - одна в коридоре, четыре на кухне и одна в комнате. соответственно, выключатели 1 в коридоре, 2 на кухне и 1 в комнате.
Короткое нажатие включает\выключает свет только в той комнате где находится выключатель. Удержание выключает все лампы.
На кухне 1 кнопка включает первую группу, вторая кнопка включает вторую группу. При удержании первой кнопки, второй выбираем другие схемы освещения допустим 1+2, 1+4 и т.д.
Я только начинаю вникать в лоджик и, если можно, то ответы с примерами.
Я понимаю как в теории это реализовать - создали переменную и меняем 0 на 1 и обратно, в зависимости от условий. Но как реализовать в лоджике вообще не понимаю. А точнее как реализовать проверку условий и посыл 0 или 1 на выход. Изучаю на примерах. Но примеров очень мало.
да, все кнопки равноправные
короткое выключает свет только в одной комнате. Длительное нажатие выключает во всех.
Спасибо. Возник сразу вопрос - что подключается к l1, l2, l3?
I1 - вход данных, I2 - тактовый вход(сдвиг влево на 1 разряд по каждому фронту импульса), I3 - выбор разряда(бита) для чтения(0-31), при "0" повторяет значения на входе, можно поставить до 32 выходных элемента(выхода) для разных разрядов и в какой-то теме я уже описывал более подробно!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.