Как стартовать программу по нажатию кнопки

roma095
Offline
Зарегистрирован: 15.03.2015

Здравствуйте. У меня на arduino nano есть кнопка. Можно ли как то в коде сделать так, чтобы программа начинала стартовать не после подачи питания, а после нажатия на кнопку?

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Здравствуйте. Кнопка на плате - кнопка перезагрузки arduino. После нажатия на нее программа начнёт выполняться заново. Если ж вы хотите, чтобы до нажатия на кнопку программа не выполнялась, добавьте еще одну кнопку и программно сделайте запуск по кнопке)

maksim
Offline
Зарегистрирован: 12.02.2012

На самом деле можно. 

#include <EEPROM.h>

void setup()
{
  EEPROM.write(0, !EEPROM.read(0));
  if(EEPROM.read(0)) while(1);
  
  
  // Ну а ниже пошла сама программа...
  // Например Blink...
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Но есть некоторые особенности:
​Во-первых, на эту же кнопку программа будет и останавливаться.
Во-вторых, при подачи питания два раза подряд, но при этом не нажимая на кнопку программа будет сама запускаться.