📄 HANDOUT PRAKTIKUM MIKROKONTROLER
Kontrol Gradasi Warna RGB LED Menggunakan Perulangan for()
🎯 Tujuan Pembelajaran
- Memahami karakteristik & pengabelan LED RGB tipe Common Cathode (Katoda Bersama).
- Memahami prinsip kerja sinyal Pulse Width Modulation (PWM) pada Arduino.
- Mengimplementasikan fungsi perulangan
for()dalam C++ untuk efek transisi warna (*fading*).
🛠️ Alat dan Bahan
| Komponen | Spesifikasi / Keterangan | Jumlah |
|---|---|---|
| Microcontroller | Arduino UNO R3 | 1 Unit |
| Output Utama | LED RGB Common Cathode | 1 Pcs |
| Komponen Pasif | Resistor 220 Ohm (1/4 Watt) | 3 Pcs |
| Penghubung | Breadboard MB102 & Kabel Jumper M-M | Secukupnya |
💡 Konsep Dasar & Pengabelan (Wiring)
Pada tipe Common Cathode (CC), kaki katoda (terpanjang) dihubungkan ke GND. Pin Red, Green, dan Blue dihubungkan ke pin PWM Arduino melalui resistor limitasi 220 Ω.
| Kaki LED RGB | Komponen Perantara | Pin Arduino UNO |
|---|---|---|
| Red (R) | Resistor 220 Ω | Pin 9 (PWM) |
| Katoda (Terpanjang) | Koneksi Langsung | GND |
| Green (G) | Resistor 220 Ω | Pin 10 (PWM) |
| Blue (B) | Resistor 220 Ω | Pin 11 (PWM) |
⚠️ Catatan Sinyal PWM:
Fungsi analogWrite(pin, nilai) menerima parameter nilai 0 s.d. 255. Nilai 0 berarti tegangan 0V (mati), dan 255 berarti 5V (terang maksimum).
💻 Kode Program C++
Klik tombol Copy Code untuk menyalin kode ke **Arduino IDE**:
Arduino_RGB_ForLoop.ino
/*
Handout Praktikum: RGB Fading dengan fungsi for()
Board: Arduino UNO R3
Jenis LED: Common Cathode
*/
// Deklarasi pin PWM
const int pinRed = 9;
const int pinGreen = 10;
const int pinBlue = 11;
void setup() {
// Konfigurasi pin sebagai OUTPUT
pinMode(pinRed, OUTPUT);
pinMode(pinGreen, OUTPUT);
pinMode(pinBlue, OUTPUT);
}
void loop() {
// -------------------------------------------------------------
// EFEK 1: Redup ke Terang & Terang ke Redup (Merah)
// -------------------------------------------------------------
for (int i = 0; i <= 255; i++) {
analogWrite(pinRed, i); // Kecerahan bertambah seiring nilai i
analogWrite(pinGreen, 0); // Warna lain mati
analogWrite(pinBlue, 0);
delay(10); // Kecepatan transisi (10ms)
}
for (int i = 255; i >= 0; i--) {
analogWrite(pinRed, i);
delay(10);
}
// -------------------------------------------------------------
// EFEK 2: Transisi Halus Warna Merah ke Hijau (Crossfade)
// -------------------------------------------------------------
for (int i = 0; i <= 255; i++) {
analogWrite(pinRed, 255 - i); // Merah perlahan mati (255 -> 0)
analogWrite(pinGreen, i); // Hijau perlahan menyala (0 -> 255)
analogWrite(pinBlue, 0);
delay(10);
}
// -------------------------------------------------------------
// EFEK 3: Transisi Halus Warna Hijau ke Biru
// -------------------------------------------------------------
for (int i = 0; i <= 255; i++) {
analogWrite(pinRed, 0);
analogWrite(pinGreen, 255 - i); // Hijau mati
analogWrite(pinBlue, i); // Biru menyala
delay(10);
}
// -------------------------------------------------------------
// EFEK 4: Transisi Halus Warna Biru kembali ke Merah
// -------------------------------------------------------------
for (int i = 0; i <= 255; i++) {
analogWrite(pinRed, i); // Merah menyala
analogWrite(pinGreen, 0);
analogWrite(pinBlue, 255 - i); // Biru mati
delay(10);
}
}
🔍 Analisis Logika Perulangan for()
for ( int i = 0 ; i <= 255 ; i++ )
int i = 0: Inisialisasi variabel counter awal (i = 0).i <= 255: Syarat perulangan tetap berjalan selama nilai i ≤ 255.i++: Nilai i bertambah 1 setiap kali siklus perulangan selesai.255 - i: Membalik nilai agar kecerahan meredup secara bertahap dari 255 ke 0.
🎨 Simulasi Interaktif
Klik tombol di bawah untuk melihat simulasi efek perulangan for() pada LED RGB secara *real-time*:
Status: Standby
📝 Tugas & Latihan Mandiri
- Uji Kecepatan: Ubah nilai
delay(10)menjadidelay(2)dandelay(50). Tuliskan perbedaannya! - Warna Kuning: Buatlah satu blok perulangan
for()baru yang memunculkan warna Kuning (kombinasi Merah + Hijau) secara bertahap! - Analisis: Apa yang akan terjadi jika nilai variabel
idinaikkan melebihi batas 255? Jelaskan alasannya!






0 Comments:
Post a Comment