Я все еще изучаю ардуино. Я пытаюсь последовательно инициализировать последовательность из 3 светодиодов при нажатии кнопки. Я хочу, чтобы кнопка включалась и выключалась. До сих пор я это делал, но вы должны держать кнопку нажатой, чтобы она не запускалась. Я пробовал другой метод, читая состояние кнопки после того, как последовательность (все 3 светодиода) закончена, но я все еще не удовлетворен с этим решением, так как я хочу, чтобы нажимать кнопку переключателя ЛЮБОЕ время во время последовательности, чтобы выключить последовательность. Любая помощь, пожалуйста?arduino последовательное освещение
0
A
ответ
0
Вы можете попробовать использовать переменную состояния. Объявите логическую переменную, такие как:
boolean runSequence = false;
Теперь, когда вы обнаружили нажатия кнопки, просто переключить состояние:
// Replace this condition to whatever matches your button setup
if (digitalRead(pin) == HIGH)
{
runSequence = !runSequence;
}
Затем, вы можете контролировать свой свет последовательность на основе состояния:
if (runSequence)
{
// code to run your light sequence
}
Теперь, будьте осторожны: это упрощенный пример и не учитывает деблок коммутатора. Вы должны добавить немного дополнительного дескриптора кода, debouncing switch, когда вы читаете состояние переключателя; если вы не знакомы с этим, в среде Arduino есть примеры кода.
Попробуйте эти предложения, и если у вас возникли проблемы, отправьте код, который у вас есть, и укажите, где вы испытываете трудности.
все правди :) исправлено это .. я на самом деле использовал счетчик currentmillis - счет, который начинается с нажатия кнопки. Любой желающий может исследовать блик без задержки .. есть еще больше примеров в идее arduino. Спасибо :) –