#include <GyverTM1637.h>
// Подключение модуля TM1637
#define CLK 2
#define DIO 3
// Пины для кнопок
#define PLUS_BUTTON_PIN 4
#define MINUS_BUTTON_PIN 5
// Текущее значение счетчика
int count = 0;
// Флаг для отслеживания состояния кнопок
bool plusButtonPressed = false;
bool minusButtonPressed = false;
GyverTM1637 disp(CLK, DIO);
void setup() {
// Инициализация модуля TM1637
disp.brightness(6);
// Настройка пинов кнопок
pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP);
pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP);
disp.displayInt(count);
}
void loop() {
// Отображение текущего значения счетчика на экране
//disp.displayInt(count);
// Проверка состояния кнопки "+1"
if (digitalRead(PLUS_BUTTON_PIN) == LOW && !plusButtonPressed) {
// Инкремент значения счетчика
count++;
disp.displayInt(count);
plusButtonPressed = true;
} else if (digitalRead(PLUS_BUTTON_PIN) == HIGH && plusButtonPressed) {
plusButtonPressed = false;
}
// Проверка состояния кнопки "-1"
if (digitalRead(MINUS_BUTTON_PIN) == LOW && !minusButtonPressed) {
// Декремент значения счетчика
count--;
disp.displayInt(count);
minusButtonPressed = true;
} else if (digitalRead(MINUS_BUTTON_PIN) == HIGH && minusButtonPressed) {
minusButtonPressed = false;
}
// Задержка для стабилизации работы
delay(10);
}