Ja dann bau Dir einen Timer der von mir aus alle 10 mS überläuft.
In der ISR fragst Du die Pins ab und setzt entsprechend die Ausgänge.
Gleichzeitig machst Du noch Dein geblinke(wenn PD3 gedrückt wird)
Die Lösung mit den Schleifen ist irgendwie Käse, weil man nicht genau weiß
wie lange sie durchlaufen.
Dann ist die Lösung von Reeper mit der delay Bibliothek besser, aber Timerlösung
ist die beste.

Gruß Sebastian