unsigned long startTime = 0;  // Boshlanish vaqtini saqlash uchun o'zgaruvchi
unsigned long elapsedTime = 0;  // O'tgan vaqtni saqlash uchun o'zgaruvchi
boolean isRunning = false;  // Sekundomer ishlash holatini saqlash uchun o'zgaruvchi

// Knopka pin raqamlari
const int button1Pin = 2;  // Birinchi knopkani kiritish uchun pin raqami
const int button2Pin = 3;  // Ikkinchi knopkani kiritish uchun pin raqami

void setup() {
  pinMode(button1Pin, INPUT);  // Birinchi knopkani kiritish uchun pin raqamini kirish sifatida sozlash
  pinMode(button2Pin, INPUT);  // Ikkinchi knopkani kiritish uchun pin raqamini kirish sifatida sozlash
  Serial.begin(9600);  // Serial monitor orqali ma'lumotlarni ko'rish uchun boshlash
}

void loop() {
  // Birinchi knopkani tekshirish
  if (digitalRead(button1Pin) == HIGH) {
    if (isRunning) {
      stopTimer();  // Agar sekundomer ishga tushgan bo'lsa, uni to'xtatish
    }
  }

  // Ikkinchi knopkani tekshirish
  if (digitalRead(button2Pin) == HIGH) {
    if (!isRunning) {
      startTimer();  // Agar sekundomer to'xtagan bo'lsa, uni ishga tushurish
    }
  }

  // Sekundomer ishlashini boshqarish
  if (isRunning) {
    updateTimer();  // Agar sekundomer ishga tushgan bo'lsa, uni yangilash
  }
}

// Sekundomer ishga tushishi
void startTimer() {
  startTime = millis();  // Ish boshlanish vaqti
  isRunning = true;  // Sekundomer ishga tushgan
  Serial.println("Sekundomer ishga tushdi.");
}

// Sekundomer to'xtatishi
void stopTimer() {
  elapsedTime = 0;  // O'tgan vaqtni nolga qaytarish
  isRunning = false;  // Sekundomer to'xtagan
  Serial.println("Sekundomer to'xtadi.");
}

// Sekundomeri yangilash
void updateTimer() {
  elapsedTime = millis() - startTime;  // O'tgan vaqtni hisoblash
  Serial.print("O'tgan vaqt: ");
  Serial.print(elapsedTime / 1000);  // Sekundlarda hisoblash
  Serial.println(" s");
}