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


#include <QuadDisplay.h>   // Единственная библиотека — для индикатора

// Пин индикатора (сигнальный провод)
#define DISPLAY_PIN 9
// Пин кнопки (подключается к GND)
#define BUTTON_PIN  2

QuadDisplay qd(DISPLAY_PIN);

// Переменные для подавления дребезга кнопки
int lastButtonState = HIGH;
unsigned long lastDebounceTime = 0;
const unsigned long debounceDelay = 50;

void setup() {
  qd.begin();                     // Запускаем индикатор
  pinMode(BUTTON_PIN, INPUT_PULLUP); // Внутренняя подтяжка кнопки
  randomSeed(analogRead(A0));     // Настоящий random
  qd.displayInt(0);               // Начальное значение
}

void loop() {
  int reading = digitalRead(BUTTON_PIN);

  // Дребезг: если состояние изменилось, сбросить таймер
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  // Если состояние стабильно дольше debounceDelay
  if ((millis() - lastDebounceTime) > debounceDelay) {
    // И если кнопка была нажата (LOW, потому что INPUT_PULLUP)
    if (reading == LOW && lastButtonState == HIGH) {
      int rnd = random(0, 10000);   // число от 0 до 9999
      qd.displayInt(rnd);
    }
  }

  lastButtonState = reading;
}