Thursday, September 11, 2025

🚦 Soal Latihan Arduino — Lampu Lalu Lintas 4 Arah

🚦 Soal Latihan Arduino — Lampu Lalu Lintas 4 Arah

(Soal cerita, panduan Wokwi, kode Arduino, dan tugas lanjutan — level lebih tinggi, 4 arah penuh)

📝 Soal Cerita

Kota Besar mulai menggunakan sistem lampu lalu lintas 4 arah (Utara, Selatan, Timur, Barat). Setiap arah memiliki tiga lampu: merah, kuning, hijau. Tantangan: Anda diminta membuat sistem lampu lalu lintas dengan aturan berikut:

  1. Urutan lampu setiap arah: Hijau → Kuning → Merah.
  2. Yang hijau hanya 1 arah dalam satu waktu (arah berlawanan tidak boleh sama-sama hijau).
  3. Durasi default: Hijau = 5 detik, Kuning = 2 detik, Merah = sesuai siklus.
  4. Urutan jalan: Utara → Timur → Selatan → Barat → kembali ke Utara.

Tugas Anda: Buat rangkaian di Wokwi (atau breadboard nyata), tulis program Arduino yang menjalankan aturan di atas, lalu screenshot hasil simulasi beserta penjelasan (10–15 baris).

📦 Komponen

  • 1 × Arduino Uno
  • 12 × LED (4 arah × 3 warna: merah, kuning, hijau)
  • 12 × Resistor 220Ω
  • Breadboard & kabel jumper
  • USB kabel / power supply 5V

🔌 Skema Singkat (teks)

Utara: Hijau → Pin 2, Kuning → Pin 3, Merah → Pin 4
Timur: Hijau → Pin 5, Kuning → Pin 6, Merah → Pin 7
Selatan: Hijau → Pin 8, Kuning → Pin 9, Merah → Pin 10
Barat: Hijau → Pin 11, Kuning → Pin 12, Merah → Pin 13

Semua katoda LED → GND Arduino.

💻 Kode Arduino (Copy → Paste ke Wokwi / Arduino IDE)

// Lampu Lalu Lintas 4 Arah (Utara, Timur, Selatan, Barat)

// Pin Assignment
int U_h = 2, U_k = 3, U_m = 4;
int T_h = 5, T_k = 6, T_m = 7;
int S_h = 8, S_k = 9, S_m = 10;
int B_h = 11, B_k = 12, B_m = 13;

// Durasi (ms)
unsigned long t_hijau = 5000;   // 5 detik
unsigned long t_kuning = 2000;  // 2 detik

void setup() {
  // Set semua pin output
  for (int i = 2; i <= 13; i++) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  // Semua awal: Merah
  digitalWrite(U_m, HIGH);
  digitalWrite(T_m, HIGH);
  digitalWrite(S_m, HIGH);
  digitalWrite(B_m, HIGH);
}

void loop() {
  jalurHijau(U_h, U_k, U_m); // Utara
  jalurHijau(T_h, T_k, T_m); // Timur
  jalurHijau(S_h, S_k, S_m); // Selatan
  jalurHijau(B_h, B_k, B_m); // Barat
}

// Fungsi: 1 jalur menyala
void jalurHijau(int hijau, int kuning, int merah) {
  // Hijau ON
  digitalWrite(merah, LOW);
  digitalWrite(hijau, HIGH);
  delay(t_hijau);

  // Kuning ON
  digitalWrite(hijau, LOW);
  digitalWrite(kuning, HIGH);
  delay(t_kuning);

  // Kembali Merah
  digitalWrite(kuning, LOW);
  digitalWrite(merah, HIGH);
}
    

Catatan: Semua arah dimulai merah, lalu bergantian 1 arah hijau → kuning → merah.

🧭 Langkah Pengerjaan di Wokwi

  1. Buka wokwi.comNew Project → Arduino Uno.
  2. Tambahkan 12 LED dan 12 resistor (3 per arah × 4 arah).
  3. Hubungkan LED sesuai skema pin di atas.
  4. Salin kode Arduino ke file sketch.ino.
  5. Klik Start Simulation → amati siklus: Utara (5s hijau) → kuning (2s) → merah → lalu Timur → Selatan → Barat → kembali Utara.
  6. Screenshot hasil simulasi dan beri penjelasan singkat.

🔎 Tugas Lanjutan (Level HOTS)

  1. Tambahkan fase all-red 1 detik sebelum setiap arah hijau (transisi aman).
  2. Tambahkan 4 tombol (masing-masing arah) sebagai tombol darurat polisi, yang bila ditekan memaksa arah itu hijau lebih cepat.
  3. Gunakan Serial Monitor untuk menampilkan arah mana yang hijau sekarang, dan hitungan mundur sisa detik.
  4. Modifikasi menjadi sistem 2 arah berlawanan boleh hijau bersamaan (Utara–Selatan & Timur–Barat), lalu bandingkan logikanya.

No comments:

Post a Comment

🚦 Soal Latihan Arduino — Lampu Lalu Lintas 4 Arah

🚦 Soal Latihan Arduino — Lampu Lalu Lintas 4 Arah (Soal cerita, panduan Wokwi, kode Arduino, dan tugas lanjutan — level lebih...