#include "SevSeg.h"
SevSeg sevseg;
const int buttonUpPin = 10; // Пин для кнопки увеличения
const int buttonDownPin = 11; // Пин для кнопки уменьшения
int currentNumber = 2; // Начальное отображаемое число
void setup() {
// Настройка семисегментного дисплея
byte numDigits = 1;
byte digitPins[] = {};
byte segmentPins[] = {6, 12, 2, 3, 4, 7, 8, 9};
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_ANODE;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
sevseg.setBrightness(90);
// Настройка пинов кнопок
pinMode(buttonUpPin, INPUT_PULLUP); // Включаем встроенный подтягивающий резистор для кнопки увеличения
pinMode(buttonDownPin, INPUT_PULLUP); // Включаем встроенный подтягивающий резистор для кнопки уменьшения
// Отображаем начальное число
sevseg.setNumber(currentNumber);
}
void loop() {
// Проверяем кнопку увеличения числа
if (digitalRead(buttonUpPin) == LOW) { // Если кнопка нажата
currentNumber++;
if (currentNumber > 9) currentNumber = 9; // Ограничиваем число до 9
sevseg.setNumber(currentNumber); // Обновляем отображаемое число
delay(200); // Задержка для устранения дребезга контактов
}
// Проверяем кнопку уменьшения числа
if (digitalRead(buttonDownPin) == LOW) { // Если кнопка нажата
currentNumber--;
if (currentNumber < 0) currentNumber = 0; // Ограничиваем число до 0
sevseg.setNumber(currentNumber); // Обновляем отображаемое число
delay(200); // Задержка для устранения дребезга контактов
}
// Обновляем дисплей
sevseg.refreshDisplay();
}