#include #define RED0 3 #define GREEN0 5 #define BLU0 4 #define RED1 6 #define GREEN1 9 #define BLU1 7 RGBLed led0(RED0, GREEN0, BLU0, RGBLed::COMMON_ANODE); RGBLed led1(RED1, GREEN1, BLU1, RGBLed::COMMON_ANODE); char c; void pulsed_state (void); void serialFlush(void); void setup() { // put your setup code here, to run once: Serial.begin(9600); led0.setColor(RGBLed::RED); led1.off(); } void loop() { // put your main code here, to run repeatedly: loop_start: delay(1000); if(!Serial.available()) goto loop_start; c = Serial.read(); serialFlush(); led0.brightness(100); led1.brightness(100); switch (c){ case '0': led0.off(); led1.off(); break; case 'a': led0.setColor(RGBLed::RED); led1.off(); break; case 'b': led0.setColor(RGBLed::YELLOW); led1.off(); break; case 'c': led0.setColor(RGBLed::GREEN); led1.off(); break; case 'd': pulsed_state(); break; case 'e': led0.setColor(RGBLed::RED); led1.setColor(150, 255, 0); //led1.setColor(RGBLed::YELLOW); break; case 'f': led0.setColor(RGBLed::RED); led1.setColor(RGBLed::GREEN); break; case 'g': pulsed_state(); break; case 'h': led0.setColor(RGBLed::YELLOW); led1.setColor(150, 255, 0); //led1.setColor(RGBLed::YELLOW); break; case 'i': led0.setColor(RGBLed::YELLOW); led1.setColor(RGBLed::GREEN); break; case 'j': pulsed_state(); break; case 'k': pulsed_state(); break; } } void pulsed_state (void){ do { led0.brightness(100); led1.brightness(100); switch (c){ case 'd': led0.setColor(RGBLed::YELLOW); led1.off(); break; case 'g': led0.setColor(RGBLed::RED); led1.setColor(150, 255, 0); break; case 'j': led0.setColor(RGBLed::YELLOW); led1.setColor(RGBLed::GREEN); break; case 'k': led0.setColor(RGBLed::YELLOW); led1.brightness(RGBLed::GREEN, 10); break; } delay(1000); led0.brightness(100); led1.brightness(100); switch (c){ case 'd': led0.brightness(RGBLed::YELLOW, 10); led1.off(); break; case 'g': led0.setColor(RGBLed::RED); led1.brightness(150, 255, 0, 10); break; case 'j': led0.brightness(RGBLed::YELLOW, 10); led1.brightness(RGBLed::GREEN, 10); break; case 'k': led0.brightness(RGBLed::YELLOW, 10); led1.setColor(RGBLed::GREEN); break; } delay(1000); } while (!Serial.available()); } void serialFlush(void){ while(Serial.available() > 0) { char t = Serial.read(); } }