int potPin = A0;
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
void setup() {
// put your setup code here, to run once:
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int potValue = analogRead(potPin); // Baca nilai potensio (0 - 1023)
// Ubah skala potensio (0-1023) menjadi nilai PWM (0-255)
int val = map(potValue, 0, 1023, 0, 255);
// Mengubah warna berdasarkan putaran potensiometer (Color Mixer)
if (val >= 0 && val < 42) {
setColor(255, val * 6, 0); // Merah ke Kuning
} else if (val >= 42 && val < 85) {
setColor(255 - (val - 42) * 6, 255, 0); // Kuning ke Hijau
} else if (val >= 85 && val < 128) {
setColor(0, 255, (val - 85) * 6); // Hijau ke Cyan
} else if (val >= 128 && val < 170) {
setColor(0, 255 - (val - 128) * 6, 255); // Cyan ke Biru
} else if (val >= 170 && val < 213) {
setColor((val - 170) * 6, 0, 255); // Biru ke Ungu
} else if (val >= 213 && val <= 255) {
setColor(255, 0, 255 - (val - 213) * 6); // Ungu ke Merah kembali
}
}
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}