Загрузка данных


#include <Tiseg.h>

const uint8_t digitPins[] = {
  13, 12, 11, 10
};

// A B C D E F G DP
const uint8_t segmentPins[] = {
  2, 3, 4, 5, 6, 7, 8, 1
};

Tiseg<4> display(digitPins, segmentPins);
TisegTimerControl timer(9);

int seconds = 0;

void setup() {
  display.begin();
  timer.begin();

  display.printR(0, true); // 0000
}

void loop() {
  display.tick();
  timer.tick();


  // Первое нажатие — запуск
  if (timer.justStarted()) {

    for (seconds = 0; seconds <= 60; seconds++) {

      // Во время работы без ведущих нулей
      display.printR(seconds, false);

      // Дошли до 60
      if (seconds == 60) {
        timer.pause();
        break;
      }

      // Одна секунда
      // Дисплей и кнопка продолжают работать
      if (!timer.wait(1000, display)) {
        break;
      }
    }
  }


  // Второе нажатие или достижение 60
  if (timer.justPaused()) {

    // Например 0012 или 0060
    display.printR(seconds, true);
  }


  // Третье нажатие — сброс
  if (timer.justReset()) {

    seconds = 0;
    display.printR(0, true); // 0000
  }
}