цикл в цикле. как реализовать?
- Войдите на сайт для отправки комментариев
Проблема с встроенными цикла внутри цикла.
Добрый день.
Решил вынести данную проблему на отдельную тему.
Я тут новичек, поэтому сильно не бейте.
У меня стоит следующая задача.
Собрать вытяжку на двух реле (пока без датчика концентрации пыли) с индикацией и выбором режимов. Одно реле включает один вентилятор, второе другой (в соседней комнате).
На аппарате имеем четыре кнопки управления и кучу светодиодов.
Теперь по порядку что хочется
1-я кнопка выберает режим всей работы системы 10мин, 20мин, 40мин. Над каждой надписью светодиод. Соответственно при последовательном нажатии на одной кнопке меняется тот или иной светодиод соответствующий указанному выше времени.
2-я кнопка выберает процесс работы вентиляторов из 3-х режимов, тоже над каждым режимом свой светодиод. (например: 1-й режим -один вентилятор работает постоянно, второй каждую минуту включается на 30сек., 2-й режим -оба вентилятора одновреенно включаются только на 30 сек. раз в минуту, 3-й режим- первый вентилятор включается на 20 секунд каждую минуту, второй на 30 секунд каждые 3 минуты). также режимы переключаются одной кнопкой.
3-я кнопка Кнопка старта.
4-я кнопка Кнопка стопа.
Помогите с чего начать
Здесь получается два цикла
1-й общий (10мин, 20мин, 40мин) от общего времени работы всей системы. И второй для каждого реле свой.
Прошу помоч с чего начать, поскольку как только я ставлю delay в любом месте, то цикл сразу весь тормозится.
За ранее спасибо.
вот тебе кнопки класс титановый велосипед для тактовой кнопки.
вот тебе таймеры класс титановый велосипед для delay без delay().
собирай в кучку
*и, да - не циклы а ифы.
самое главное и причем тут вообще ардуино. если тут ручной режим с кнопками :)))
самое главное и причем тут вообще ардуино. если тут ручной режим с кнопками :)))
ну, реализуй на тупой автоматике трёхрежимные кнопки и таймеры.
Внимательно изучите примеры, а именно, чем отличаются "blink" и "blink without delay".
Первый пример - по сути пример неправильного программирования. При таком подходе можно реализовать лишь одну простейшую задачу, после чего к ней уже ничего добавить нельзя.
Второй пример - пример правильного программирования. В нем можно сколько угодно добавлять различные устройства и функции. Единственное требование: ни одна из них не должна содержать delay(). Естественно, каждое устройство или функция должна содержать собственный набор переменных состояния. И все это организуется в едином цикле loop() безо всяческих вложенных циклов.