// Soat imitatsiyasi uchun o'zgaruvchilar
int hours = 12; // Soatning soati
int minutes = 0; // Soatning minutlari
boolean isRunning = false; // Soat ishga tushganmi yoki to'xtaganmi
const int button1Pin = 2; // Birinchi knopka pin raqami
const int button2Pin = 3; // Ikkinchi knopka 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) {
stopClock(); // Agar soat ishga tushgan bo'lsa, uni to'xtatish
}
}
// Ikkinchi knopkani tekshirish
if (digitalRead(button2Pin) == HIGH) {
if (!isRunning) {
startClock(); // Agar soat to'xtagan bo'lsa, uni ishga tushurish
}
}
// Soat ishlashini boshqarish
if (isRunning) {
updateClock(); // Agar soat ishga tushgan bo'lsa, uni yangilash
}
}
// Soatni ishga tushirish
void startClock() {
isRunning = true; // Soat ishga tushgan
Serial.println("Soat ishga tushdi.");
}
// Soatni to'xtatish
void stopClock() {
isRunning = false; // Soat to'xtagan
Serial.println("Soat to'xtadi.");
}
// Soatni yangilash
void updateClock() {
minutes++; // Bir minut o'tib ketadi
if (minutes == 60) {
minutes = 0; // 60 minutdan so'ng, minutlarni nolga qaytarish
hours++; // Bir soat o'tib ketadi
if (hours == 13) {
hours = 1; // 12 so'atdan so'ng, soatni boshidan boshlash
}
}
Serial.print("Soat: ");
Serial.print(hours);
Serial.print(":");
Serial.print(minutes);
Serial.println();
delay(1000); // Bir soniya intizorni saqlash
}