Поиск по этому блогу

суббота, 15 октября 2016 г.

Arduino неблокирующая кнопка с таймером


Сделал неблокирующий таймер с отключением по кнопке. Принцип работы на видео

Скетч:
int button = 6;
int led = 7;
bool ledStatus = false;
int oldValue = 0;
const int iterations = 500;
int curIterator = 0;

void setup() {
 pinMode(button, INPUT);
 pinMode(led, OUTPUT);
}

void loop() {
  if (ledStatus) {
    if (curIterator == 0) {
      curIterator = iterations;
    }
    digitalWrite(led, HIGH);
  } else {
    curIterator = 0;
    digitalWrite(led, LOW);
  }

  int buttonValue = digitalRead(button);

  if (buttonValue == 1 && oldValue != buttonValue) {
    ledStatus = !ledStatus;
    oldValue = buttonValue;
  } else if (buttonValue == 0 && oldValue != buttonValue) {
    oldValue = 0;
  }

  if (curIterator > 0) {
    curIterator--;
    if (curIterator == 0) {
       digitalWrite(led, LOW);
       ledStatus = false;
    }
  }

  Serial.print("curIterator");
  Serial.println(curIterator);
  delay(10);
}

Комментариев нет:

Отправить комментарий

Количество·просмотров