
Video
Skema rangkaian

Kode sumber
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED Berjalan
4// ─────────────────────────────────────────
5// 6 LED menyala satu per satu masing-masing 150 ms, sehingga cahaya
6// berjalan di sepanjang barisan. Menunjukkan kontrol banyak pin dengan
7// array dan loop for.
8//
9// Pin:
10// D2, D3, D4, D5, D6, D7 -> 6 LED (berurutan)
11// Setiap LED dengan resistor 330 ohm
12
13int ledPins[] = {2, 3, 4, 5, 6, 7}; // Pin LED sesuai urutan nyala
14
15void setup() {
16 // Atur semua pin LED sebagai output
17 for(int i = 0; i < 6; i++) {
18 pinMode(ledPins[i], OUTPUT);
19 }
20}
21
22void loop() {
23 // Nyalakan tiap LED bergantian selama 150 ms
24 for(int i = 0; i < 6; i++) {
25 digitalWrite(ledPins[i], HIGH);
26 delay(150);
27 digitalWrite(ledPins[i], LOW);
28 }
29}
30
FAQ
Kenapa memakai array lebih baik?
Jika nomor pin disimpan di array, kamu bisa memakai loop for untuk menelusuri semua LED dengan satu baris kode. Untuk mengubah jumlah LED di kode ini, kamu harus memperbarui array ledPins sekaligus batas loop i < 6 di setup() dan loop(); kamu tidak perlu menulis baris terpisah untuk setiap LED.
Jika 6 LED menyala bersamaan, apakah Arduino akan rusak?
Dengan anggapan sekitar 10 mA per LED, enam LED menarik sekitar 60 mA. Batas atas yang disarankan untuk satu pin adalah 20 mA; batas arus per pin maupun per kelompok pin harus diperhatikan. Rating maksimum mutlak 200 mA yang disebutkan untuk pin VCC/GND ATmega328P bukan target kerja normal dan bukan anggaran arus yang khusus tersedia untuk I/O.
Bagaimana cara membalik arah jalannya?
Susun loop `for` dengan urutan terbalik: `for (int i = 5; i >= 0; i--)`. Dengan begitu cahayanya bergerak ke arah sebaliknya. Jika kedua loop ditaruh berurutan, kamu akan mendapat efek bolak-balik ala Knight Rider.
Salah satu LED tidak menyala, apa kemungkinan penyebabnya?
LED mungkin terpasang terbalik, kakinya mungkin tidak tertancap dengan baik di breadboard, atau resistornya ada di baris yang berbeda. Kamu bisa mengetahui apakah LED-nya rusak atau sambungannya bermasalah dengan menggantinya dengan LED yang berfungsi.
