Prima di tutto TUTTE le variabili usate in una ISR devono essere dichiarete "volatile", poi, ne dichiari una che chiami miaFlag e la metti a valore "false".
Quando entri nella ISR, fai il minimo di cose indispensabili e, prima di uscire, metti miaFlag a "true".
Nel loop(), che gira sempre, controlli il valore di miaFlag ... se lo trovi "true" vuol dire che la ISR è partita e ci sono cose che puoi stampare, rimetti la miaFlag a "false" (così al prossimo interrupt te ne accorgi) e stampi quello che devi stampare. E' il modo "corretto" di gestire le cose in una ISR ... farla la più breve possibile e fare fuori tutto quello che può essere fatto fuori. La seriale poi NON va proprio usata per un problema di "interrupts" che, anche essa, usa.
Per i colori, ora va bene, visto che hai tolto i tag CODE ![]()
Guglielmo