คำอธิบาย
ชุดทดลองควบคุมไฟจราจร ซีเควน Traffic Light Control/Sequencer เพื่อเรียนรู้การเขียนโปรแกรมควบคุมไฟจราจร / ซีเควนซ์ ด้วย Arduino อย่างง่าย
มีอะไรเตรียมไว้ให้ในชุด
- เสาไฟจราจร 4 เสา
- บอร์ด Arduino UNO Compatible
- สายต่อวงจร
ตัวอย่างโปรแกรมการควบคุมไฟจราจร Arduino Traffic Lights 4 เลน
- เรียนรู้การ กำหนดเลน 1, 2, 3, 4 การตั้งเวลาไฟแดง ไฟเขียว
- ตั้งเวลากระพริบไฟเหลือง
Arduino Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
// กำหนดไฟ เลน1 int RED1 = 1; // ขา Arduino Pin Digital D1 int YEL1 = 2; // ขา Arduino Pin Digital D2 int GRN1 = 3; // ขา Arduino Pin Digital D3 // กำหนดไฟ เลน2 int RED2 = 4; // ขา Arduino Pin Digital D4 int YEL2 = 5; // ขา Arduino Pin Digital D5 int GRN2 = 6; // ขา Arduino Pin Digital D6 // กำหนดไฟ เลน3 int RED3 = 7; // ขา Arduino Pin Digital D7 int YEL3 = 8; // ขา Arduino Pin Digital D8 int GRN3 = 9; // ขา Arduino Pin Digital D9 // กำหนดไฟ เลน4 int RED4 = 10; // ขา Arduino Pin Digital D10 int YEL4 = 11; // ขา Arduino Pin Digital D11 int GRN4 = 12; // ขา Arduino Pin Digital D12 int i = 0; void setup(){ pinMode(RED1, OUTPUT); //ไฟแดง เลน1 pinMode(YEL1, OUTPUT); //ไฟเหลือง เลน1 pinMode(GRN1, OUTPUT); //ไฟเขียว เลน1 pinMode(RED2, OUTPUT); //ไฟแดง เลน2 pinMode(YEL2, OUTPUT); //ไฟเหลือง เลน2 pinMode(GRN2, OUTPUT); //ไฟเขียว เลน2 pinMode(RED3, OUTPUT); //ไฟแดง เลน3 pinMode(YEL3, OUTPUT); //ไฟเหลือง เลน3 pinMode(GRN3, OUTPUT); //ไฟเขียว เลน3 pinMode(RED4, OUTPUT); //ไฟแดง เลน4 pinMode(YEL4, OUTPUT); //ไฟเหลือง เลน4 pinMode(GRN4, OUTPUT); //ไฟเขียว เลน4 } void loop(){ //******************* ไฟเขียว เลน 1 เวลา 10 วินาที ********************** for (i=0; i<=10;i++) { digitalWrite(RED1, LOW); digitalWrite(YEL1, LOW); digitalWrite(GRN1, HIGH); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); delay(1000); } //**************** กะพริบไฟเหลือง เลน 1 เวลา 3 วินาที ******************** for (i=0; i<=3;i++) { digitalWrite(RED1, LOW); digitalWrite(YEL1, HIGH); delay(500); digitalWrite(YEL1, LOW); delay(500); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); } //****************** ไฟเขียว เลน 2 เวลา 10 วินาที *********************** for (i=0; i<=10;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(YEL2, LOW); digitalWrite(GRN2, HIGH); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); delay(1000); } //**************** กะพริบไฟเหลือง เลน2 เวลา 3 วินาที ******************** for (i=0; i<=3;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(YEL2, HIGH); delay(500); digitalWrite(YEL2, LOW); delay(500); digitalWrite(GRN2, LOW); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); } //******************** ไฟเขียว เลน3 เวลา 10 วินาที ********************* for (i=0; i<=10;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, LOW); digitalWrite(YEL3, LOW); digitalWrite(GRN3, HIGH); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); delay(1000); } //***************** กะพริบไฟเหลือง เลน3 เวลา 3 วินาที ******************* for (i=0; i<=3;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, LOW); digitalWrite(YEL3, HIGH); delay(500); digitalWrite(YEL3, LOW); delay(500); digitalWrite(GRN3, LOW); digitalWrite(RED4, HIGH); digitalWrite(YEL4, LOW); digitalWrite(GRN4, LOW); } //******************* ไฟเขียว เลน4 เวลา 10 วินาที ********************** for (i=0; i<=10;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, LOW); digitalWrite(YEL4, LOW); digitalWrite(GRN4, HIGH); delay(1000); } //***************** กะพริบไฟเหลือง เลน4 เวลา 3 วินาที ******************* for (i=0; i<=3;i++) { digitalWrite(RED1, HIGH); digitalWrite(YEL1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(YEL2, LOW); digitalWrite(GRN2, LOW); digitalWrite(RED3, HIGH); digitalWrite(YEL3, LOW); digitalWrite(GRN3, LOW); digitalWrite(RED4, LOW); digitalWrite(YEL4, HIGH); delay(500); digitalWrite(YEL4, LOW); delay(500); digitalWrite(GRN4, LOW); } } |
รีวิว
ยังไม่มีบทวิจารณ์