-
я Вас хорошо понимаю
Но, подробное ТЗ так же покажется избыточным. Код писался по принципу постоянного увеличения и улучшения функционала. К слову, это освещение Г-образного коридора в квартире.
Вкратце алгоритм можно описать так.
Имеется
4 канала освещения: два основные (яркий свет) и два канала LED Multicolor (подсветка);
2 кнопочных выключателя, датчик освещённости, датчик движения и датчик открытия входной двери (геркон).
Два выключателя выполняют роль проходного с возможностью включать сначала одну из групп основного освещения, далее, при удержании кнопки, подключается вторая группа, потом подсветка... Основной свет отключается коротким нажатием любой кнопки, подсветка - с выдержкой ~2 сек.
Автоматических режимов 3:
1 - при входе в квартиру, каскадное включение света;
2 - днём, при недостаточном освещении, включение полной подсветки по датчику движения;
3 - ночью, включение дежурного освещения по датчику движения и выключение по таймеру.
*ночью есть возможность включать/выключать дежурный свет и вручную.
При этом, автоматические режимы отключаются вручную на время или полностью блокируются (удержание >5 сек любой кнопки). Так же, включенный свет отключается при смене состояния день|ночь.
В алгоритме есть ещё масса нюансов. Так как этот код дописывался "по ходу пьесы", там есть функции компенсирующие несовершенство датчиков, например.
P.S. Некоторые странности в коде всё же являются "костылями" (как всегда уж
)
Последний раз редактировалось Дмитрий Камский; 24.11.2017 в 18:14.
Причина: дополнение
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума