Официальный сайт компании Arduino по адресу arduino.cc
Кнопка ОСТАНОВА всех действий
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ср, 25/11/2020 - 20:16
Всем доброго вечера. Нужна помощь.
Подскажите, пожалуйста, как организовать остановку выполнения цикла, с помощью кнопки в любой момент времени.
Алгоритм работы.
Нажали кнопку "СТАРТ", запустился цикл из 6 действий.
Нажали кнопку "СТОП" (в любой момент времени), программа прекратила выполнение, ждет нажатия кнопки "СТАРТ".
Как цикл выглядит?
Кнопка reset уже есть, я слышал.
Если кнопка "СТАРТ" нажата
1. Запускаем аудио трек
2. Зажигаем красный цвет
3. Зажигаем желтый цвет
4. Зажигаем желтый цвет
5. Зажигаем зеленый цвет
6. Опускаем ворота
Цикла не вижу в этом описании. В программе как он выглядит?
До тех пор, пока delay натыканы везде - только reset поможет.
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
Спасибо.
Нажали кнопку "СТАРТ", запустился цикл из 6 действий.
Поставьте эту кнопку в цепь питания.
а кнопка на прерывании тоже не поможет?
вообще кмк в данном случае действительно проще всего кнопкой резет воспользоваться
Всем доброго вечера. Нужна помощь.
Подскажите, пожалуйста, как организовать остановку выполнения цикла, с помощью кнопки в любой момент времени.
Алгоритм работы.
Нажали кнопку "СТАРТ", запустился цикл из 6 действий.
Нажали кнопку "СТОП" (в любой момент времени), программа прекратила выполнение, ждет нажатия кнопки "СТАРТ".
а что происходит после нажатия СТАРТ? Продолжение или запуск с начала?
С таким кодом на ворота, убьет кого нить нафиг
вообще кмк в данном случае действительно проще всего кнопкой резет воспользоваться
Да не проще ни грамма.
Боролись-то за что?
А с ресетом будет "нажали, отпустили - она попёрла дальше работать"!
Сказано же Вам в линию питания ставьте кнопки!
ну а если сделать что бы запускалось только после нажатия кнопки старт?
Вот и думайте, как Вы это с ресетом сделаете
Сказано же Вам в линию питания ставьте кнопки!
а кнопка на прерывании тоже не поможет?
вообще кмк в данном случае действительно проще всего кнопкой резет воспользоваться
А вот «кмк» это что такое? Мне кажется сокращение от «как мне кажется»? Неужели несколько буковок допечатать сложно?
А вот «кмк» это что такое? Мне кажется сокращение от «как мне кажется»? Неужели несколько буковок допечатать сложно?
ну да
Вот и думайте, как Вы это с ресетом сделаете
как то не очевидно
в чем проблема резета?
в чем проблема резета?
В том, что Вам надо либо держать его постоянно прижатым к земле, либо, как только Вы его отпустите, контроллер начнёт работать дальше ничего не ожидая.
незнаю, может я невнимательно читал но как я понял его программа работает так: нажали старт - опустили ворота, нажали поднять ворота - подняли.
никакого цикла там нет, а тупо ожидание нажатия кнопки и выполнение действие после нажатия.
тоесть по идее нажатие кнопки резет приведет к перезагрузке и ожидании нажатия кнопки.
Может быть я и ошибся. Я понял, что при запуске программа ничего не ждёт.
Может быть я и ошибся. Я понял, что при запуске программа ничего не ждёт.
по крайней мере так в его программе написанно
хотя если честно код больше для гильотины подойдет)
если когото зажало в воротах, и нажали резет, то чтобы их поднять нужно сначала нажать кнопку опустить
в чем проблема резета?
В том, что Вам надо либо держать его постоянно прижатым к земле, либо, как только Вы его отпустите, контроллер начнёт работать дальше ничего не ожидая.
Так кто не дает при каждом рестарте обновлять булев флаг в EEPROM.
Всем большое спасибо за советы, буду в цепь питания ставить кнопку с фиксацией. Проверял, все работает отлично, выполнение прерывается, далее переходит в начало и ждёт нажатия какой-либо кнопки.
По алгоритму, пока в коде выше нет цикла, но он появится)