l'errore è quì:
digitalWrite(led_blue, brightness);
la digitalWrire (come dice il nome "digital") può scrivere solo uno e zero. Il trucco per il fade è accendere e spegnere le uscite abbastanaza in fretta da simulare un valore intermedio, semplicemente ingannando l'occhio umano.
Questo sistema è detto PWM, e si usa attraverso un'analogWrite, oppure puoi persino simulartela da solo usando il loop e cambiando lo stato della digitalWrite ogni tot loop o ogni tot tempo (dove tot è la luminosità che vuoi ottenere)