If I key in 218, the values '2', '1', '8' will be sent to the Arduino.
The Arduino will read 3 values ('2', '1', and '8'). The usbvariable variable will contain 50, 49, and 56 (the ascii equivalent of the characters sent).
if(50 % 3 == 0) as a method for determining whether to turn the red LED on, or not, makes no sense to me. Perhaps it does to you, and you could explain it to me.
I would think that you would want to send 3 values in the range 0 to 255 (as character strings), along with start and stop markers (something like "<128,217,18>"), then read the entire string, and parse that string to get "128", "217", and "18", then convert those strings to integers, and use digitalWrite on PWM pins to set the red, green, and blue LEDs intensity.
Perhaps not.
Could you explain what you were trying to do?