Lembar Tugas: Variasi LED Arduino
Lembar Tugas Siswa
No Nama Percobaan Potongan Program Pola Nyala LED Kesimpulan
yang Digunakan (Deskripsi
Pengamatan)
1 LED Berkedip Halus analogWrite(LED, Menyala lampu menyala
(Terang–Redup) val) bersamaan bersama
dengan
perlahan.
2 LED Acak (Random) pin = random(4); Menyala secara Lampu menyala
acak,tidak acak dengan
beraturan cepat.
3 LED Menyala Berurutan for(int LED = 2; Menyala satu Lampu menyala
LED <= 5; LED++) per satu dan secara
kembali ke bergantian dan
awal urut dari awal
mulainya.
4 LED Menyala Bergantian for (int LED = Menyala Lampu menyala
(Running LED) Bolak– 5; LED >= 2; bergantian bergantian dan
Balik LED--) dengan cepat bolak balik
dari kanan-kiri dengan cepat.
sebaliknya
Tugas Kreativitas
Buat satu variasi LED baru dengan ketentuan:
- Menggunakan minimal 4 LED.
- Memiliki pola nyala unik (bisa acak cepat, gelombang, atau kombinasi dua pola).
- Tambahkan komentar di dalam program untuk menjelaskan logika yang digunakan.
Laporan tugas tambahan berisi:
- Nama percobaan baru
- Potongan kode program
- Deskripsi pola nyala LED
- Dokumentasi hasil (foto/video)
Format Pengumpulan
- Format laporan: .docx atau .pdf
- Sertakan identitas kelompok (nama anggota dan kelas)
1. LED wave, 5 detik, pin 6-7-8-9
// Percobaan 1: LED Wave (pin 6-9, durasi 5 detik)
int led[] = {6, 7, 8, 9};
int jumlahLED = 4;
void setup() {
for (int i = 0; i < jumlahLED; i++) {
pinMode(led[i], OUTPUT);
void loop() {
unsigned long startTime = millis(); // waktu mulai
while (millis() - startTime < 5000) { // jalankan selama 5 detik
// arah kiri ke kanan
for (int i = 0; i < jumlahLED; i++) {
digitalWrite(led[i], HIGH);
delay(150);
digitalWrite(led[i], LOW);
// arah kanan ke kiri
for (int i = jumlahLED - 2; i > 0; i--) {
digitalWrite(led[i], HIGH);
delay(150);
digitalWrite(led[i], LOW);
2. LED acak dan cepat,
// Percobaan 2: LED Random Blink (pin 9-6-7-8, acak cepat)
int led[] = {9, 6, 7, 8}; // urutan dimulai dari 9 lalu 6, 7, 8
int jumlahLED = 4;
void setup() {
for (int i = 0; i < jumlahLED; i++) {
pinMode(led[i], OUTPUT);
randomSeed(analogRead(0)); // inisialisasi random
void loop() {
// acak cepat selama 5 detik
unsigned long startTime = millis();
while (millis() - startTime < 5000) {
int acak = random(0, jumlahLED);
digitalWrite(led[acak], HIGH);
delay(100);
digitalWrite(led[acak], LOW);
3. LED kombinasi keduanya
// Percobaan 3: LED Wave–Random Combo (pin 6–9)
// Kombinasi gelombang 5 detik lalu acak cepat 5 detik
int led[] = {6, 7, 8, 9};
int jumlahLED = 4;
void setup() {
for (int i = 0; i < jumlahLED; i++) {
pinMode(led[i], OUTPUT);
randomSeed(analogRead(0)); // Inisialisasi random untuk pola acak
void loop() {
// --- Pola 1: [Link] 5 detik ---
unsigned long startWave = millis();
while (millis() - startWave < 5000) {
// arah kiri ke kanan
for (int i = 0; i < jumlahLED; i++) {
digitalWrite(led[i], HIGH);
delay(150);
digitalWrite(led[i], LOW);
// arah kanan ke kiri
for (int i = jumlahLED - 2; i > 0; i--) {
digitalWrite(led[i], HIGH);
delay(150);
digitalWrite(led[i], LOW);
// --- Pola 2: ACAK CEPAT (urutan dimulai dari 9–6–7–8) ---
int urutan[] = {9, 6, 7, 8}; // urutan pin untuk pola acak
unsigned long startRandom = millis();
while (millis() - startRandom < 5000) {
// pilih acak dari urutan yang sudah ditentukan
int acakIndex = random(0, 4);
int pinAcak = urutan[acakIndex];
digitalWrite(pinAcak, HIGH);
delay(100);
digitalWrite(pinAcak, LOW);
}
// Setelah selesai, loop akan mengulang kembali dari gelombang