Hola no entiendo lo de no progresivamente, ¿ De golpe, de cero al maximo?. Por ejemplo para el canal rojo donde tienes
if (digitalRead(Pulsrojo) == LOW)
{
rojo ++;
if (rojo > 255) rojo = 0;
}
cambialo por
if (digitalRead(Pulsrojo) == LOW) {
if (rojo = 255) {
rojo = 0;
}
else {
rojo = 255;
}
Aunque no se si es eso lo que querias.