Необходимо написать программу, выполняющую алгоритм постановки системы на сигнализацию и снятия с сигнализации. Система состоит из: геркона, датчика движения (PIR), светодиода, кнопки, платы Arduino Mega2560. 1) Если кнопка нажата (первый раз), происходит задержка по времени (20 секунд) перед постановкой системы на охрану. В режиме охраны считываются данные с датчика движения и с геркона. 2) Если в режиме охраны сработал датчик движения или геркон, то сигнализация НЕ срабатывает сразу, а дается время (30 секунд) на нажатие этой же кнопки для снятия с охраны. Если за эти 30 секунд кнопку не нажали, то срабатывает сигнализация (зажигается светодиод). Отключается сигнализация нажатием этой кнопки. ЗАДЕРЖКУ НЕОБХОДИМО ВЫПОЛНИТЬ БЕЗ ФУНКЦИИ DELAY().
Вам какая разница, к примеру, первая задержка 20 сек через delay или без? Начитаются вечно. А вообще задача простая.
А что предполагается делать первые 20 секунд во время постановки на охрану?Яростно опрашивать датчики посылать данные в USART и писать в ЕЕПРОМ?
Тогда смысл этой "постановки на охрану" зачем эти 20 секунд для чего они?Нажал кнопку встало и усё!Можете конечно использовать millis
В чем в данном случае отличе delay от millis, если задача в эти 20 сек ничего не делать? Или вы хотите в этот код сами интегрировать еще другой код?
Про это я и говорю. delay для этой цели вполне подходит. Измерение времени другим способом оправдано для других задач.
И я про то же. А вдруг девчёнки? И я про то же.Пусть делает millis тут столько времени проклинали delay А вдруг пока с охраны снимать будете случиться Пожар?А?