Đèn giao thông có nút bấm cho người đi bộ

Bởi nguyentruongphi (14/09/2025) 0 Bình luận

Chúng ta đã xây dựng một hệ thống đèn giao thông cơ bản với ba màu Đỏ – Vàng – Xanh để điều khiển luồng xe cộ. Đây chính là mô hình đơn giản nhất giống như ngoài đời thực.

Bây giờ, chúng ta sẽ thêm một yếu tố tương tác mới: nút bấm cho người đi bộ.

  • Khi người đi bộ nhấn nút, hệ thống đèn giao thông sẽ ưu tiên dừng xe bằng đèn Đỏ và bật đèn Xanh cho người đi bộ.
  • Tính năng này giúp mô hình gần gũi hơn với thực tế, nơi luôn tồn tại sự phối hợp giữa làn đường xe cộlối đi bộ.

File code:

void setup() {

    pinMode(3, OUTPUT);  // khai báo chân 3 (đèn xanh) là OUTPUT

    pinMode(4, OUTPUT);  // khai báo chân 4 (đèn vàng) là OUTPUT

    pinMode(5, OUTPUT);  // khai báo chân 5 (đèn đỏ) là OUTPUT

    pinMode(8, INPUT);   // khai báo chân 8 (nút nhấn) là INPUT

}

void loop() {

    // Nếu nút chưa được nhấn (LOW)

    if (digitalRead(8) == LOW) {

        digitalWrite(3, HIGH);  // bật đèn xanh

        digitalWrite(4, LOW);   // tắt đèn vàng

        digitalWrite(5, LOW);   // tắt đèn đỏ

        delay(10000);           // giữ 10 giây

        digitalWrite(3, LOW);   // tắt đèn xanh

        digitalWrite(4, HIGH);  // bật đèn vàng

        digitalWrite(5, LOW);   // tắt đèn đỏ

        delay(3000);            // giữ 3 giây

 

        digitalWrite(3, LOW);   // tắt đèn xanh

        digitalWrite(4, LOW);   // tắt đèn vàng

        digitalWrite(5, HIGH);  // bật đèn đỏ

        delay(10000);           // giữ 10 giây

    }

    // Nếu nút được nhấn (HIGH)

    if (digitalRead(8) == HIGH) {

        digitalWrite(3, HIGH);  // bật đèn xanh

        digitalWrite(4, LOW);   // tắt đèn vàng

        digitalWrite(5, LOW);   // tắt đèn đỏ

        delay(500);             // chờ 0.5 giây

        digitalWrite(3, LOW);   // tắt đèn xanh

        delay(500);             // chờ 0.5 giây

    }

}

Đóng góp ý kiến

Hotline 0938379351