🚦 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:
- Urutan lampu setiap arah: Hijau → Kuning → Merah.
- Yang hijau hanya 1 arah dalam satu waktu (arah berlawanan tidak boleh sama-sama hijau).
- Durasi default: Hijau = 5 detik, Kuning = 2 detik, Merah = sesuai siklus.
- 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.
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
- Buka wokwi.com → New Project → Arduino Uno.
- Tambahkan 12 LED dan 12 resistor (3 per arah × 4 arah).
- Hubungkan LED sesuai skema pin di atas.
- Salin kode Arduino ke file sketch.ino.
- Klik Start Simulation → amati siklus: Utara (5s hijau) → kuning (2s) → merah → lalu Timur → Selatan → Barat → kembali Utara.
- Screenshot hasil simulasi dan beri penjelasan singkat.
🔎 Tugas Lanjutan (Level HOTS)
- Tambahkan fase all-red 1 detik sebelum setiap arah hijau (transisi aman).
- Tambahkan 4 tombol (masing-masing arah) sebagai tombol darurat polisi, yang bila ditekan memaksa arah itu hijau lebih cepat.
- Gunakan
Serial Monitor
untuk menampilkan arah mana yang hijau sekarang, dan hitungan mundur sisa detik. - Modifikasi menjadi sistem 2 arah berlawanan boleh hijau bersamaan (Utara–Selatan & Timur–Barat), lalu bandingkan logikanya.
No comments:
Post a Comment