// RGB СВЕТОДИОД
#define R 11
#define G 10
#define B 9
void setup() {
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop() {
for (int i = 0; i <= 255; i++) {
setColor(i, 0, 0); // Красный
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(0, i, 0); // Зеленый
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(0, 0, i); // Синий
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(i, i, 0); // Желтый
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(i, 0, i); // Фиолетовый
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(0, i, i); // Аквамарин
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
for (int i = 0; i <= 255; i++) {
setColor(i, i, i); // Белый
delay(20);
}
setColor(0, 0, 0); // Все выключены
delay(500);
}
void setColor(int red, int green, int blue) {
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(R, red);
analogWrite(G, green);
analogWrite(B, blue);
}