Berikut adalah contoh kode dan cara merangkai 3 LED (merah, kuning, hijau) untuk simulasi lampu lalu lintas sederhana menggunakan Arduino Uno.
### Rangkaian:
1. **LED Merah**:
- Hubungkan anoda (kaki panjang) LED merah ke pin digital 8 pada Arduino.
- Hubungkan katoda (kaki pendek) LED merah ke resistor 220 ohm, lalu ke ground (GND) Arduino.
2. **LED Kuning**:
- Hubungkan anoda LED kuning ke pin digital 9.
- Hubungkan katoda LED kuning ke resistor 220 ohm, lalu ke ground.
3. **LED Hijau**:
- Hubungkan anoda LED hijau ke pin digital 10.
- Hubungkan katoda LED hijau ke resistor 220 ohm, lalu ke ground.
4. **Resistor**: Gunakan resistor 220 ohm pada setiap LED untuk mencegah kelebihan arus.
### Diagram Koneksi:
```
+---[220Ω]--|>|--GND (Merah, Kuning, Hijau)
| | |
Pin 8 Pin 9 Pin 10 (Arduino Uno)
```
### Kode Arduino:
```cpp
// Inisialisasi pin LED
int ledMerah = 8;
int ledKuning = 9;
int ledHijau = 10;
void setup() {
// Set pin LED sebagai output
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
void loop() {
// Nyalakan LED Hijau selama 5 detik
digitalWrite(ledHijau, HIGH);
delay(5000);
digitalWrite(ledHijau, LOW);
// Nyalakan LED Kuning selama 2 detik
digitalWrite(ledKuning, HIGH);
delay(2000);
digitalWrite(ledKuning, LOW);
// Nyalakan LED Merah selama 5 detik
digitalWrite(ledMerah, HIGH);
delay(5000);
digitalWrite(ledMerah, LOW);
}
```
### Penjelasan Kode:
1. **Deklarasi Pin**: Pin 8 untuk LED merah, pin 9 untuk LED kuning, dan pin 10 untuk LED hijau.
2. **`pinMode()`**: Mengatur pin-pin LED sebagai output.
3. **`digitalWrite()`**: Mengontrol kapan LED menyala atau mati. `HIGH` untuk menyalakan, `LOW` untuk mematikan.
4. **`delay()`**: Menunda eksekusi program untuk beberapa waktu dalam milidetik (misal: 5000 ms = 5 detik).
### Cara Kerja:
- LED hijau akan menyala selama 5 detik, kemudian mati.
- LED kuning akan menyala selama 2 detik, kemudian mati.
- LED merah akan menyala selama 5 detik, kemudian mati.
- Siklus akan terus berulang seperti lampu lalu lintas.
Jika Anda memiliki pertanyaan lebih lanjut tentang rangkaian atau kode, silakan tanyakan!