struct rgbLED {
int R, G, B;
void init(int r, int g, int b) {
R = r; G = g; B = b;
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void setColor(bool r, bool g, bool b) {
digitalWrite(R, r);
digitalWrite(G, g);
digitalWrite(B, b);
}
void setCustomColor(int r, int g, int b) {
analogWrite(R, r);
analogWrite(G, g);
analogWrite(B, b);
}
};
rgbLED LEDs[4];
void setup() {
LEDs[0].init(4, 3, 2);
LEDs[1].init(7, 6, 5);
LEDs[2].init(10, 9, 8);
LEDs[3].init(13, 12, 11);
}
void loop() {
/*
LEDs[0].setColor(1, 0, 0);
LEDs[1].setColor(0, 1, 0);
LEDs[2].setColor(0, 0, 1);
LEDs[3].setColor(1, 1, 1);
*/
/*
for(int i = 0; i < 4; i++){
int r = rand() % 2;
int g = rand() % 2;
int b = rand() % 2;
LEDs[i].setColor(r, g, b);
delay(50);
}
*/
int r = rand() % 2;
int g = rand() % 2;
int b = rand() % 2;
for (int i = 0; i < 4; i++) {
LEDs[i].setColor(r, g, b);
delay(150);
}
for (int i = 3; i >= 0; i--) {
LEDs[i].setColor(0, 0, 0);
delay(150);
}
}