#define R_OUT 10
#define G_OUT 9
#define B_OUT 8
#define R_IN 7
#define G_IN 6
#define B_IN 5
bool r, g, b, _r, _g, _b;
void setup() {
Serial.begin(9600);
pinMode(R_OUT, OUTPUT);
pinMode(G_OUT, OUTPUT);
pinMode(B_OUT, OUTPUT);
pinMode(R_IN, INPUT);
pinMode(G_IN, INPUT);
pinMode(G_IN, INPUT);
r = false;
g = false;
b = false;
Serial.println("SETUP OVER");
}
void loop() {
getColor();
setColor();
if (_r != r || _g != g || _b != b) {
Serial.print("RGB : ");
Serial.print(r ? "1" : "0");
Serial.print(g ? "1" : "0");
Serial.print(b ? "1" : "0");
Serial.println();
delay(250);
}
}
void getColor() {
_r = r;
_g = g;
_b = b;
r = digitalRead(R_IN) == HIGH ? !r : r;
g = digitalRead(G_IN) == HIGH ? !g : g;
b = digitalRead(B_IN) == HIGH ? !b : b;
}
void setColor() {
digitalWrite(R_OUT, r);
digitalWrite(G_OUT, g);
digitalWrite(B_OUT, b);
}