Eine alte Idee von Ron, meine Umsetzung basiert auf dem Stimmungslicht.
Würde halt auch super mit 'nem kleinen Arduino wie dem Nano in 'nem kleinen Gehäuse funktionieren. Tentenziell so klein, daß man's an einer Kette um den Hals befestigen kann, und das Gehäuse rund, mit der LED in der Mitte und den sieben Knöpfen rundherum. Als Variation könnte man es auch um einen weiteren Knopf erweitern, so daß Chaosmagier ihre 8 Richtungen haben.
// Define Pins #define BlueLED 3 #define GreenLED 5 #define RedLED 6 #define MarsButton 7 #define MercuryButton 8 #define SunButton 9 #define VenusButton 10 #define JupiterButton 11 #define SaturnButton 12 #define MoonButton 13 int RGBLEDValue[3]={0, 0, 0}; void setup() { // put your setup code here, to run once: pinMode(RedLED, OUTPUT); pinMode(GreenLED, OUTPUT); pinMode(BlueLED, OUTPUT); pinMode(MarsButton, INPUT_PULLUP); pinMode(MercuryButton, INPUT_PULLUP); pinMode(SunButton, INPUT_PULLUP); pinMode(VenusButton, INPUT_PULLUP); pinMode(JupiterButton, INPUT_PULLUP); pinMode(SaturnButton, INPUT_PULLUP); pinMode(MoonButton, INPUT_PULLUP); analogWrite(RedLED, RGBLEDValue[0]); analogWrite(GreenLED, RGBLEDValue[1]); analogWrite(BlueLED, RGBLEDValue[2]); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: if (digitalRead(MarsButton) == LOW) { RGBLEDValue[0]=255; RGBLEDValue[1]=0; RGBLEDValue[2]=0; Serial.println("Mars"); } else if (digitalRead(MercuryButton) == LOW) { RGBLEDValue[0]=255; RGBLEDValue[1]=32; RGBLEDValue[2]=0; Serial.println("Mercury"); } else if (digitalRead(SunButton) == LOW) { RGBLEDValue[0]=255; RGBLEDValue[1]=128; RGBLEDValue[2]=0; Serial.println("Sun"); } else if (digitalRead(VenusButton) == LOW) { RGBLEDValue[0]=0; RGBLEDValue[1]=255; RGBLEDValue[2]=0; Serial.println("Venus"); } else if (digitalRead(JupiterButton) == LOW) { RGBLEDValue[0]=0; RGBLEDValue[1]=0; RGBLEDValue[2]=255; Serial.println("Jupiter"); } else if (digitalRead(SaturnButton) == LOW) { RGBLEDValue[0]=96; RGBLEDValue[1]=0; RGBLEDValue[2]=128; Serial.println("Saturn"); } else if (digitalRead(MoonButton) == LOW) { RGBLEDValue[0]=255; RGBLEDValue[1]=255; RGBLEDValue[2]=255; Serial.println("Moon"); } analogWrite(RedLED, RGBLEDValue[0]); analogWrite(GreenLED, RGBLEDValue[1]); analogWrite(BlueLED, RGBLEDValue[2]); }