Как я могу заставить свою программу Arduino Esplora запускаться нажатием кнопки, а затем продолжать работать без необходимости удерживать кнопку нажатой?

Я пытаюсь создать программу, в которой основной код запускается при нажатии кнопки. Я использую Arduino Esplora и хочу, чтобы встроенный светодиод был синим, когда я подключаю питание, пока я не нажму переключатель 1 (или любой из них), после чего программа запустится. У меня не было проблем с созданием основной части моей программы, но я хотел бы найти способ получить свою программу, просто нажав кнопку один раз, так как в настоящее время она работает только тогда, когда я постоянно удерживаю кнопку нажатой - что-то, что невозможно в ситуации, для которой я его использую. Я не могу использовать какие-либо компоненты, кроме самой Esplora, что исключает возможность использования переключателей и т. д., что, вероятно, облегчило бы мне жизнь. Буду признателен за любые предложения. Я новичок в Arduino, поэтому извините, если буду задавать глупые вопросы или не понимаю некоторые концепции, о которых вы говорите, но я постараюсь изо всех сил. Спасибо!

, 👍-1

Обсуждение

пожалуйста, покажи нам свой код, @chrisl


1 ответ


Лучший ответ:

2

Вы можете имитировать переключатель с помощью кнопки, используя переменную состояния, которая содержит состояние "переключателя". Я не знаю вашего кода, поэтому могу только привести пример, как это сделать:

// сюда включены включения, если они вам нужны

int flagActive = -1;

// ...

setup()
{
   // ... устанавливаем внутренний светодиод на синий
}

loop()
{
   if ( < switch pressed > )
   {
     flagActive = 1;
   }

   if ( flagActive > 0 )
   {
     // .... ваша программа
   }  
}

Вы также можете переключить флаг, если хотите деактивировать программу, снова нажав кнопку.

   if ( < switch pressed > )
   {
     flagActive = flagActive * -1;
   }
,