
Video
Skema rangkaian

Kode sumber
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Lampu Lalu Lintas
4// ─────────────────────────────────────────
5// Siklus lampu lalu lintas dengan LED merah, kuning dan hijau: merah 2 s,
6// kuning 0.3 s, hijau 2 s, kuning 0.3 s, lalu mulai lagi.
7//
8// Pin:
9// D2 -> LED merah
10// D3 -> LED kuning
11// D4 -> LED hijau
12// Setiap LED dengan resistor 330 ohm
13
14void setup() {
15 pinMode(2,OUTPUT); // Merah
16 pinMode(3,OUTPUT); // Kuning
17 pinMode(4,OUTPUT); // Hijau
18}
19
20void loop() {
21 // Merah nyala, tunggu 2 s
22 digitalWrite(2,HIGH);
23 digitalWrite(3,LOW);
24 digitalWrite(4,LOW);
25 delay(2000);
26 // Kuning nyala, tunggu 0.3 s
27 digitalWrite(2,LOW);
28 digitalWrite(3,HIGH);
29 digitalWrite(4,LOW);
30 delay(300);
31 // Hijau nyala, tunggu 2 s
32 digitalWrite(2,LOW);
33 digitalWrite(3,LOW);
34 digitalWrite(4,HIGH);
35 delay(2000);
36 // Kuning nyala, lalu kembali ke merah
37 digitalWrite(2,LOW);
38 digitalWrite(3,HIGH);
39 digitalWrite(4,LOW);
40 delay(300);
41}
42
FAQ
Berapa lama lampu kuning sebaiknya menyala?
Di lampu lalu lintas sungguhan, lampu kuning biasanya menyala 3–4 detik. Di proyek ini, durasinya diatur dengan fungsi `delay()`; jika lampu merah dan hijau dibuat menyala lebih lama dan kuning lebih singkat, siklusnya akan sangat mirip dengan aslinya.
Kenapa memakai resistor 330 Ω, bukan 220 Ω?
Resistor 330 Ω sedikit menurunkan arus (menjadi sekitar 9–10 mA); LED tetap terlihat jelas, dan total arus yang ditarik dari pin lebih kecil. Dengan resistor 220 Ω juga bekerja; LED hanya sedikit lebih terang.
Bisakah aku menambahkan tombol penyeberangan?
Bisa. Kamu bisa menambahkan tombol tekan dan resistor pull-down 10 kΩ lalu membacanya dengan `digitalRead`. Ketika tombol ditekan, kamu bisa memindahkan siklus ke merah dan menyalakan LED hijau terpisah untuk pejalan kaki; memakai `millis()` alih-alih `delay` memastikan tombol langsung terdeteksi.
Urutan LED-nya kacau, apa yang harus aku lakukan?
Bandingkan definisi pin di kode (merah, kuning, hijau) dengan kabel di rangkaian satu per satu. Cara termudah adalah menyalakan setiap LED dengan kode uji terpisah dan memastikan ke pin mana LED itu tersambung.
