/*
Color and "anti-color" mixer
Potentiometers R, G, B are seting LED brightness in range: 0..255
and sending values via serial port
*/
const int Red1 = 9;
int Green1 = 10;
int Blue1 = 11;
int Red2 = 3;
int Green2 = 5;
int Blue2 = 6; // the pin that the LED is attached to
byte R_brightness;
byte G_brightness;
byte B_brightness;
byte R2_brightness;
byte G2_brightness;
byte B2_brightness;
void setup() {
// initialize the serial communication:
Serial.begin(9600);
// initialize the led pins as an outputs:
pinMode( Red1, OUTPUT);
pinMode( Green1, OUTPUT);
pinMode( Blue1, OUTPUT);
pinMode( Red2, OUTPUT);
pinMode( Green2, OUTPUT);
pinMode( Blue2, OUTPUT);
}
void loop() {
// reading potentiometers values
R_brightness = analogRead(A0);
G_brightness = analogRead(A1);
B_brightness = analogRead(A2);
// kreacja wartosci przeciwnej do odczytu potencjometru
R2_brightness = 255/2-(R_brightness - 128);
G2_brightness = 255/2-(G_brightness - 128);
B2_brightness = 255/2-(B_brightness - 128);
// setting brightness of specific LEDs
analogWrite(Red1, R_brightness);
analogWrite(Green1, G_brightness);
analogWrite(Blue1, B_brightness);
analogWrite(Red2, R2_brightness);
analogWrite(Green2, G2_brightness);
analogWrite(Blue2, B2_brightness);
// sending brightness values via serial port
Serial.print("\t R:");
Serial.print(R_brightness);
Serial.print("\t G:");
Serial.print(G_brightness);
Serial.print("\t B:");
Serial.print(B_brightness);
Serial.print("\t\t\tR:");
Serial.print(R2_brightness);
Serial.print("\t G:");
Serial.print(G2_brightness);
Serial.print("\t B:");
Serial.println(B2_brightness);
}