/**
* Proyek Belajar Teori Warna RGB Interaktif
* Membaca 3 potensiometer untuk mengontrol warna LED RGB.
*/
// Pin untuk potensiometer (slider)
const int POT_MERAH_PIN = A0;
const int POT_HIJAU_PIN = A1;
const int POT_BIRU_PIN = A2;
// Pin untuk LED RGB (harus pin PWM ~)
const int LED_MERAH_PIN = 9;
const int LED_HIJAU_PIN = 10;
const int LED_BIRU_PIN = 11;
void setup() {
// Atur semua pin LED sebagai OUTPUT
pinMode(LED_MERAH_PIN, OUTPUT);
pinMode(LED_HIJAU_PIN, OUTPUT);
pinMode(LED_BIRU_PIN, OUTPUT);
// Mulai Serial Monitor untuk melihat nilai (opsional)
Serial.begin(9600);
}
void loop() {
// 1. Baca nilai dari setiap potensiometer (hasilnya 0-1023)
int nilaiMerah = analogRead(POT_MERAH_PIN);
int nilaiHijau = analogRead(POT_HIJAU_PIN);
int nilaiBiru = analogRead(POT_BIRU_PIN);
// 2. Ubah rentang nilai dari 0-1023 menjadi 0-255 untuk LED
int pwmMerah = map(nilaiMerah, 0, 1023, 0, 255);
int pwmHijau = map(nilaiHijau, 0, 1023, 0, 255);
int pwmBiru = map(nilaiBiru, 0, 1023, 0, 255);
// 3. Kirim nilai akhir ke setiap pin LED untuk mengatur kecerahan
analogWrite(LED_MERAH_PIN, pwmMerah);
analogWrite(LED_HIJAU_PIN, pwmHijau);
analogWrite(LED_BIRU_PIN, pwmBiru);
// (Opsional) Tampilkan nilai RGB di Serial Monitor
Serial.print("RGB(");
Serial.print(pwmMerah);
Serial.print(", ");
Serial.print(pwmHijau);
Serial.print(", ");
Serial.print(pwmBiru);
Serial.println(")");
delay(100); // Jeda singkat
}