#include <TM1637Display.h>
#define LED 7
#define START_STOP_BUTTON 4 // Pin untuk tombol START/STOP
#define RESET_BUTTON 5 // Pin untuk tombol RESET
#define START digitalRead(START_STOP_BUTTON)
#define RESET digitalRead(RESET_BUTTON)
#define CLK 0
#define DIO 2
unsigned int angka = 100;
bool timerBerjalan = false;
TM1637Display display(CLK,DIO);
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
pinMode(START_STOP_BUTTON, INPUT_PULLUP); // Aktifkan pullup resistor internal
pinMode(RESET_BUTTON, INPUT_PULLUP);
display.setBrightness(1);
display.clear();
display.showNumberDec(angka);
}
void loop() {
display.showNumberDec(angka);
if(START == LOW){
if(timerBerjalan){
timerBerjalan = false;
digitalWrite(LED, LOW);
} else {
timerBerjalan = true;
digitalWrite(LED, HIGH);
}
delay(500);
}
if(RESET == LOW){
angka = 100;
timerBerjalan = false;
digitalWrite(LED, LOW);
}
if(timerBerjalan){
// Jika angka lebih dari 0
if (angka > 0){
// Angka dikurangi 1
timerBerjalan = true;
digitalWrite(LED, HIGH);
delay(1000);
angka--;
} else {
timerBerjalan = false;
digitalWrite(LED, LOW);
}
}
}