// แยกที่ 1
int G1 = 32;
int Y1 = 33;
int R1 = 25;
// แยกที่ 2
int G2 = 27;
int Y2 = 14;
int R2 = 12;
// แยกที่ 3
int G3 = 4;
int Y3 = 16;
int R3 = 17;
// แยกที่ 4
int G4 = 19;
int Y4 = 18;
int R4 = 5;
void setup() {
pinMode(G1, OUTPUT);
pinMode(Y1, OUTPUT);
pinMode(R1, OUTPUT);
pinMode(G2, OUTPUT);
pinMode(Y2, OUTPUT);
pinMode(R2, OUTPUT);
pinMode(G3, OUTPUT);
pinMode(Y3, OUTPUT);
pinMode(R3, OUTPUT);
pinMode(G4, OUTPUT);
pinMode(Y4, OUTPUT);
pinMode(R4, OUTPUT);
}
void loop() {
/*
เริ่มขั้นตอนที่ 1 แยกที่ 1 ไฟเขียว แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, HIGH);
digitalWrite(Y1, LOW);
digitalWrite(R1, LOW);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
/*
เริ่มขั้นตอนที่ 2 แยกที่ 1 ไฟเหลือง แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, HIGH);
digitalWrite(R1, LOW);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(2000);
/*
เริ่มขั้นตอนที่ 3 แยกที่ 1, 3, 4 ไฟแดง แยกที่ 2 ไฟเขียว
*/
//แยกที่ 2 ไฟเขียว
digitalWrite(G2, HIGH);
digitalWrite(Y2, LOW);
digitalWrite(R2, LOW);
//แยกที่ 1, 3, 4 ไฟแดง
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
/*
เริ่มขั้นตอนที่ 1 แยกที่ 2 ไฟเขียว แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, HIGH);
digitalWrite(Y2, LOW);
digitalWrite(R2, LOW);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
/*
เริ่มขั้นตอนที่ 2 แยกที่ 2 ไฟเหลือง แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, HIGH);
digitalWrite(R2, LOW);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(2000);
/*
เริ่มขั้นตอนที่ 3 แยกที่ 1, 3, 4 ไฟแดง แยกที่ 3 ไฟเขียว
*/
//แยกที่ 2 ไฟเขียว
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
//แยกที่ 1, 3, 4 ไฟแดง
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
digitalWrite(G3, HIGH);
digitalWrite(Y3, LOW);
digitalWrite(R3, LOW);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
/*
เริ่มขั้นตอนที่ 1 แยกที่ 3 ไฟเขียว แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, HIGH);
digitalWrite(Y3, LOW);
digitalWrite(R3, LOW);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
/*
เริ่มขั้นตอนที่ 2 แยกที่ 2 ไฟเหลือง แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, HIGH);
digitalWrite(R3, LOW);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(2000);
/*
เริ่มขั้นตอนที่ 3 แยกที่ 1, 3, 4 ไฟแดง แยกที่ 3 ไฟเขียว
*/
//แยกที่ 2 ไฟเขียว
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
//แยกที่ 1, 3, 4 ไฟแดง
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, HIGH);
digitalWrite(Y4, LOW);
digitalWrite(R4, LOW);
delay(3000);
/*
เริ่มขั้นตอนที่ 1 แยกที่ 3 ไฟเขียว แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, HIGH);
digitalWrite(Y4, LOW);
digitalWrite(R4, LOW);
delay(3000);
/*
เริ่มขั้นตอนที่ 2 แยกที่ 2 ไฟเหลือง แยกที่เหลือไฟแดง
*/
//แยกที่ 1 ไฟเขียว
digitalWrite(G1, LOW);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
//แยกที่ 2 - 4 ไฟแดง
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, HIGH);
digitalWrite(R4, LOW);
delay(2000);
/*
เริ่มขั้นตอนที่ 3 แยกที่ 1, 3, 4 ไฟแดง แยกที่ 3 ไฟเขียว
*/
//แยกที่ 2 ไฟเขียว
digitalWrite(G2, LOW);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
//แยกที่ 1, 3, 4 ไฟแดง
digitalWrite(G1, HIGH);
digitalWrite(Y1, LOW);
digitalWrite(R1, LOW);
digitalWrite(G3, LOW);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
digitalWrite(G4, LOW);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
delay(3000);
}
/*
ไฟเขียว 3 วิ
ไฟเหลือง 2 วิ
ไฟแดง 3 วิ
*/