// Status-LED
#define statusLedRed 9 // Pin für den roten Kanal
#define statusLedGreen 10 // Pin für den grünen Kanal
#define statusLedBlue 11 // Pin für den blauen Kanal
typedef enum LedColor {
RED,
GREEN,
BLUE,
YELLOW,
CYAN,
MAGENTA,
WHITE,
OFF
};
LedColor statusLedColor = OFF;
void setup() {
pinMode(statusLedRed, OUTPUT);
pinMode(statusLedGreen, OUTPUT);
pinMode(statusLedBlue, OUTPUT);
}
void loop() {
blinkStatusLed(MAGENTA);
}
void setStatusLed(LedColor color) {
switch (color) {
case RED:
setStatusLed(255, 0, 0);
break;
case GREEN:
setStatusLed(0, 255, 0);
break;
case BLUE:
setStatusLed(0, 0, 255);
break;
case YELLOW:
setStatusLed(255, 255, 0);
break;
case CYAN:
setStatusLed(0, 255, 255);
break;
case MAGENTA:
setStatusLed(255, 0, 255);
break;
case WHITE:
setStatusLed(255, 255, 255);
break;
case OFF:
setStatusLed(0, 0, 0);
break;
default:
setStatusLed(0, 0, 0);
break;
}
}
void setStatusLed(int red, int green, int blue) {
digitalWrite(statusLedRed, red);
digitalWrite(statusLedGreen, green);
digitalWrite(statusLedBlue, blue);
}
void blinkStatusLed(LedColor color) {
int blinkDuration = 500; // in ms
if(millis() % (blinkDuration*2) < blinkDuration) {
setStatusLed(color);
} else {
setStatusLed(OFF);
}
}