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


#include <SevSeg.h>

SevSeg display;

// ==================== НАСТРОЙКИ ПОДКЛЮЧЕНИЯ ====================
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Пины сегментов A-G, DP
byte digitPins[] = {10, 11, 12, 13};            // Пины разрядов 1-4

const int buttonPin = A0; // Пин кнопки

bool isDisplayOn = false; // Флаг: включен ли сейчас индикатор
bool lastButtonState = HIGH; // Предыдущее состояние кнопки

void setup() {
  // Кнопка подключена к GND, поэтому используем внутреннюю подтяжку
  pinMode(buttonPin, INPUT_PULLUP);

  // Инициализация дисплея (если индикатор с общим анодом - поменяй на COMMON_ANODE)
  display.begin(COMMON_CATHODE, 4, digitPins, segmentPins, false, true);
  
  display.setBrightness(90); 
  
  // Изначально индикатор выключен (гасим все сегменты)
  display.blank(); 
}

void loop() {
  // --- Обработка нажатия кнопки (как переключатель) ---
  bool currentButtonState = digitalRead(buttonPin);

  // Если кнопка была отпущена и только что нажалась
  if (currentButtonState == LOW && lastButtonState == HIGH) {
    isDisplayOn = !isDisplayOn; // Меняем состояние на противоположное (Вкл/Выкл)
    delay(50); // Простой антидребезг
  }
  
  lastButtonState = currentButtonState; // Запоминаем состояние кнопки

  // --- Вывод на индикатор ---
  if (isDisplayOn) {
    // Если включен - показываем число (например, 1234). 
    // Можешь написать display.setNumber(88, 0); чтобы проверить все сегменты.
    display.setNumber(1234); 
    display.refreshDisplay();
  } else {
    // Если выключен - гасим экран
    display.blank(); 
  }
}