2015-03-11 2 views
0

Я все еще изучаю ардуино. Я пытаюсь последовательно инициализировать последовательность из 3 светодиодов при нажатии кнопки. Я хочу, чтобы кнопка включалась и выключалась. До сих пор я это делал, но вы должны держать кнопку нажатой, чтобы она не запускалась. Я пробовал другой метод, читая состояние кнопки после того, как последовательность (все 3 светодиода) закончена, но я все еще не удовлетворен с этим решением, так как я хочу, чтобы нажимать кнопку переключателя ЛЮБОЕ время во время последовательности, чтобы выключить последовательность. Любая помощь, пожалуйста?arduino последовательное освещение

ответ

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 есть примеры кода.

Попробуйте эти предложения, и если у вас возникли проблемы, отправьте код, который у вас есть, и укажите, где вы испытываете трудности.

+0

все правди :) исправлено это .. я на самом деле использовал счетчик currentmillis - счет, который начинается с нажатия кнопки. Любой желающий может исследовать блик без задержки .. есть еще больше примеров в идее arduino. Спасибо :) –

Смежные вопросы