int pinR = 8; int pinG = 9; int pinB = 5; #define DELAYVAL 50 // Time (in milliseconds) to pause between pixels void setup() { pinMode(pinR,OUTPUT); pinMode(pinG,OUTPUT); pinMode(pinB,OUTPUT); Serial.begin(9600); //start serial communication @9600 bps } void loop() { if(Serial.available()){ //id data is available to read char val = Serial.read(); if(val == 'r'){ //if r received analogWrite(pinR, 255); analogWrite(pinG, 0); analogWrite(pinB, 0); delay(DELAYVAL); } if(val == 'g'){ //if g received analogWrite(pinR, 0); analogWrite(pinG, 255); analogWrite(pinB, 0); delay(DELAYVAL); } if(val == 'b'){ //if b received analogWrite(pinR, 0); analogWrite(pinG, 0); analogWrite(pinB, 255); delay(DELAYVAL); } if(val == 'w'){ //if y received analogWrite(pinR, 255); analogWrite(pinG, 255); analogWrite(pinB, 255); delay(DELAYVAL); } if(val == 'y'){ //if y received analogWrite(pinR, 255); analogWrite(pinG, 238); analogWrite(pinB, 0); delay(DELAYVAL); } if(val == 'o'){ //if y received analogWrite(pinR, 255); analogWrite(pinG, 136); analogWrite(pinB, 0); delay(DELAYVAL); } if(val == 'p'){ //if y received analogWrite(pinR, 255); analogWrite(pinG, 0); analogWrite(pinB, 242); delay(DELAYVAL); } if(val == 'f'){ //if f received analogWrite(pinR, 0); analogWrite(pinG, 0); analogWrite(pinB, 0); delay(DELAYVAL); } } }