const int RED_LED = 6;
const int YELLOW_LED = 5;
const int GREEN_LED = 4;
void setup() {
pinMode(RED_LED, OUTPUT);
pinMode(YELLOW_LED, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
digitalWrite(RED_LED, LOW);
digitalWrite(YELLOW_LED, LOW);
digitalWrite(GREEN_LED, LOW);
}
// ฟังก์ชันกระพริบ LED สีเหลือง
// interval = เวลาสลับสถานะ (ms)
// duration = ระยะเวลารวม (ms)
void blinkYellow(int duration, int interval) {
int cycles = duration / (2 * interval);
for (int i = 0; i < cycles; i++) {
digitalWrite(YELLOW_LED, HIGH);
delay(interval);
digitalWrite(YELLOW_LED, LOW);
delay(interval);
}
}
void loop() {
// ขั้นตอนที่ 1: ไฟแดง 10 วินาที
digitalWrite(RED_LED, HIGH);
delay(10000);
digitalWrite(RED_LED, LOW);
// ขั้นตอนที่ 2: ไฟเหลืองกระพริบ 3 วินาที
blinkYellow(3000, 250);
// ขั้นตอนที่ 3: ไฟเขียว 5 วินาที
digitalWrite(GREEN_LED, HIGH);
delay(5000);
digitalWrite(GREEN_LED, LOW);
// ขั้นตอนที่ 4: ไฟเหลืองกระพริบ 2 วินาที
blinkYellow(2000, 250);
// ทำงานวนซ้ำโดยอัตโนมัติ
}