Visualizer Warna & Audio

Eksplorasi pembuatan efek warna-warni yang dinamis dan visualisasi suara menggunakan LED RGB dan komponen audio.

90 Menit
Modul 3: Aktuator & Antarmuka Display
Pertemuan 7

TPTujuan Pembelajaran

  1. Peserta didik dapat mengontrol LED RGB untuk menghasilkan warna campuran menggunakan PWM
  2. Peserta didik dapat membuat efek warna dinamis (fade, rainbow cycle) dengan LED RGB
  3. Peserta didik dapat membuat sistem audio-visual yang menarik dengan LED RGB + buzzer
  4. Peserta didik dapat memahami model warna RGB dan pencampuran warna cahaya

Model Warna RGB

Pernahkah kalian melihat layar TV atau HP dari jarak yang sangat dekat? Kalian akan melihat bahwa gambar di layar terbentuk dari titik-titik kecil berwarna Merah, Hijau, dan Biru. Inilah yang disebut dengan Model Warna RGB (Red, Green, Blue).

Kontrol LED RGB via PWM

LED RGB sebenarnya adalah tiga LED (merah, hijau, biru) yang disatukan dalam satu komponen. Untuk membuat warna-warni yang berbeda, kita menggunakan trik PWM (Pulse Width Modulation) untuk mengatur seberapa terang masing-masing LED ini.

tes_rgb.ino
cpp
const int PIN_R = 9;
const int PIN_G = 10;
const int PIN_B = 11;

void setup() {
  pinMode(PIN_R, OUTPUT);
  pinMode(PIN_G, OUTPUT);
  pinMode(PIN_B, OUTPUT);
}

void loop() {
  // Warna Ungu (Merah + Biru)
  analogWrite(PIN_R, 150);
  analogWrite(PIN_G, 0);
  analogWrite(PIN_B, 255);
}

Efek Warna Dinamis

Dengan memanipulasi nilai PWM secara berulang menggunakan fungsi loop, kita bisa membuat warna yang berkedip, memudar (fade), atau berubah pelan-pelan seperti warna pelangi.

Siklus Transisi Warna Pelangi

Sinkronisasi Audio Visual

Untuk membuat alat kita semakin seru, kita bisa menggabungkan LED RGB dengan sebuah Buzzer. Bayangkan warna LED berubah seiring dengan nada lagu yang diputar!

Proyek: Rainbow Visualizer

Mari kita rangkai semua yang kita pelajari menjadi proyek Rainbow Visualizer.

rainbow_visualizer.ino
cpp
// LED RGB (Common Cathode)
const int PIN_R = 9;  // PWM
const int PIN_G = 10; // PWM  
const int PIN_B = 11; // PWM
const int BUZZER_PIN = 8;

void aturWarna(int r, int g, int b) {
  analogWrite(PIN_R, r);
  analogWrite(PIN_G, g);
  analogWrite(PIN_B, b);
}

void setup() {
  pinMode(PIN_R, OUTPUT);
  pinMode(PIN_G, OUTPUT);
  pinMode(PIN_B, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  Serial.begin(9600);
}

void rainbowCycle() {
  // Merah -> Kuning -> Hijau -> Cyan -> Biru -> Magenta -> Merah
  for (int i = 0; i <= 255; i++) { aturWarna(255, i, 0); delay(5); }     // R->Y
  for (int i = 255; i >= 0; i--) { aturWarna(i, 255, 0); delay(5); }     // Y->G
  for (int i = 0; i <= 255; i++) { aturWarna(0, 255, i); delay(5); }     // G->C
  for (int i = 255; i >= 0; i--) { aturWarna(0, i, 255); delay(5); }     // C->B
  for (int i = 0; i <= 255; i++) { aturWarna(i, 0, 255); delay(5); }     // B->M
  for (int i = 255; i >= 0; i--) { aturWarna(255, 0, i); delay(5); }     // M->R
}

void loop() {
  rainbowCycle();
}

Troubleshooting

Masalah:Warna yang muncul tidak sesuai (misal: harusnya merah tapi yang nyala hijau)

Solusi:Cek kembali kabel dari pin Arduino ke kaki LED RGB. Mungkin posisinya tertukar.


Masalah:LED tidak menyala sama sekali

Solusi:Pastikan kaki terpanjang LED RGB (Common Cathode) terhubung ke GND. Jika Anda menggunakan Common Anode, harus ke 5V.

Kuis

Jika pada LED RGB kita memberikan nilai PWM Merah=255, Hijau=255, dan Biru=0, warna apa yang akan menyala?

Sedang

Mengapa kita harus menggunakan pin bergelombang (~) di Arduino untuk mengontrol LED RGB?

Mudah

Latihan Praktik

Sirine Polisi

Tantangan: Buatlah efek seperti sirine polisi dengan LED RGB dan buzzer! 1. LED berkedip bergantian antara Merah dan Biru dengan cepat (delay 100ms). 2. Sinkronkan dengan bunyi buzzer nada tinggi saat Merah, dan nada rendah saat Biru.

Ringkasan

Kesimpulan Pertemuan 7
  • Model RGB memungkinkan kita membuat jutaan warna hanya dari 3 komponen cahaya: Merah, Hijau, Biru.
  • Pin PWM pada Arduino digunakan untuk mengatur tingkat kecerahan setiap warna dasar.
  • Melalui perulangan (for/while), kita dapat membuat transisi warna (fading).
  • Menggabungkan LED RGB dan komponen audio menghasilkan interaksi visual yang menarik.

RRefleksi

Luangkan 2–3 menit untuk menjawab pertanyaan di bawah secara jujur.

Kejutan & Penemuan

Apa yang paling mengejutkan atau menarik hari ini?

Apakah kamu kaget saat tahu campuran warna cahaya berbeda dengan campuran cat?

Masih Membingungkan

Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?

Bagian mana dari kode Rainbow Cycle yang paling sulit dipahami?

Rencana Selanjutnya

Apa yang ingin kamu coba atau pelajari minggu depan?

Kombinasi warna favorit apa yang ingin kamu buat selanjutnya?

Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.