#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // 1604 LCD
// LED pinlar
const int redLED = 12;
const int yellowLED = 11;
const int greenLED = 10;
void setup() {
lcd.begin(16, 2);
lcd.backlight();
pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);
lcd.setCursor(0, 0);
lcd.print(" Svetofor tizim");
delay(2000);
lcd.clear();
}
void loop() {
// Qizil yoqilsin
digitalWrite(redLED, HIGH);
lcd.setCursor(0, 0);
lcd.print(" TO'XTANG! ");
delay(3000);
// Sariq 3 marta miltillasin
blinkYellow(3);
// Yashil yoqilsin
digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
lcd.setCursor(0, 0);
lcd.print(" YURING! ");
delay(3000);
// Sariq 3 marta miltillasin
blinkYellow(3);
// Yashil o‘chib, qayta qizil yoqiladi
digitalWrite(greenLED, LOW);
}
// Sariq chiroq 3 marta miltillovchi funksiya
void blinkYellow(int times) {
for (int i = 0; i < times; i++) {
digitalWrite(yellowLED, HIGH);
lcd.setCursor(0, 0);
lcd.print(" DIQQAT! ");
delay(500);
digitalWrite(yellowLED, LOW);
delay(500);
}
}