Добавить кнопку включения в готовый скетч
- Войдите на сайт для отправки комментариев
Пт, 04/01/2019 - 17:32
Всем привет! Подскажите пожалуйста, имеется скетч, некий таймер с разными мигалками, мне нужно добавить к нему кнопку включения и выключения, естественно не фиксируемую, а тактильную. Возможно ли такое ? При необходимости могу предоставить скетч.
Кноаку аключения/выключения чего?
Всей этой программы
подскажите как ?
Кноаку аключения/выключения чего?
всей этой программы.
А потом что? Может просто выключить питание или сделать резет?
подскажите как ?
Ну а чего не подсказать?
В функции loop заведите статическую премеменную типа bool, назовите её, например, niHeraNeDelat. Изначально присвойте ей false.
там же в функции loop, в самом начале, поставьте проверку "если кнопка нажата, то niHeraNeDelat = ! niHeraNeDelat; и дождаться пока кнопка не будет отпущена"
Ну, и наконец, сразу после описанной проверки, поставьте ещё одну "if (niHeraNeDelat) return;"
Собственно всё. Запустили - работает, нажали кнопку - не работает, ещё раз нажаи - снова работает и т.д.
Насчёт дребезга - сами боритесь.
Я так понимаю, что тактильные кнопки - это кнопки срабатывающие с тактильным ощущением, со щелчком. А вот укоренившемуся у нас названию "тактовые" сразу и объяснение не придумаешь.
подскажите как ?
Ну а чего не подсказать?
В функции loop заведите статическую премеменную типа bool, назовите её, например, niHeraNeDelat. Изначально присвойте ей false.
там же в функции loop, в самом начале, поставьте проверку "если кнопка нажата, то niHeraNeDelat = ! niHeraNeDelat; и дождаться пока кнопка не будет отпущена"
Ну, и наконец, сразу после описанной проверки, поставьте ещё одну "if (niHeraNeDelat) return;"
Собственно всё. Запустили - работает, нажали кнопку - не работает, ещё раз нажаи - снова работает и т.д.
Насчёт дребезга - сами боритесь.
спасибо! Попробую это все воплотить !
подскажите как ?
Ну а чего не подсказать?
В функции loop заведите статическую премеменную типа bool, назовите её, например, niHeraNeDelat. Изначально присвойте ей false.
там же в функции loop, в самом начале, поставьте проверку "если кнопка нажата, то niHeraNeDelat = ! niHeraNeDelat; и дождаться пока кнопка не будет отпущена"
Ну, и наконец, сразу после описанной проверки, поставьте ещё одну "if (niHeraNeDelat) return;"
Собственно всё. Запустили - работает, нажали кнопку - не работает, ещё раз нажаи - снова работает и т.д.
Насчёт дребезга - сами боритесь.
Что то подобное нашёл, но наверно не правильно?
Провильно. Осталось вам мелочь - написать код когда "программа работает" и код когда "программа не работает" и просто переключать их.
Провильно. Осталось вам мелочь - написать код когда "программа работает" и код когда "программа не работает" и просто переключать их.
)))) всего ничего... если бы знать как
)))) всего ничего... если бы знать как
Вам же Евгений всё написал. Но реализовано-то у Вас не всё. Ну и добавьте не весь предыдущий код, а какое-нибудь простое действие из одной строчки, например печать в сериал. Чтобы только было видно - вот оно выполняется, а вот нет.
[quote=nero32]
Насчёт дребезга - сами боритесь.
А если кнопку подтянуть к питанию за счет " INPUT_PULLUP " дребезг это победит или нет ?
А если кнопку подтянуть к питанию за счет " INPUT_PULLUP " дребезг это победит или нет ?
Ну, в благодарность за то, что, благодаря Вам, я спор выиграл, отвечу: нет, не победит.
А если кнопку подтянуть к питанию за счет " INPUT_PULLUP " дребезг это победит или нет ?
Ну, в благодарность за то, что, благодаря Вам, я спор выиграл, отвечу: нет, не победит.
Главное, в церкви освятить не забудьте. Хотя, Вы, очевидно, пастафарианец, потом не знаю, как там у Вас освящают.
Читайте, если умеете - https://my.eng.utah.edu/~cs5780/debouncing.pdf