Led Uhr

hi,

Du bist mit:

1=00111000
2=00110100
3=00101100
4=01011000
5=01010100
6=01001100
7=10011000
8=10010100
9=10001100

der lösung schon recht nah.
wenn Du Dir ein byte-array erstellst:

byte seks[9] = {B00111000, B00110100, B00101100, B01011000, B01010100,
B01001100, B10011000, B10010100, B10001100};

und dann, wenn die RTC sekunde=0 meldet, einfach seks[sekunde] an Dein schieberegister sendest, hast Du einen anfang.
Du brauchst dazu natürlich keine if-abfragen, die library von der RTC sendet Dir ja den sekunden-wert schon in einer variablen, also sie sagt Dir zb.
hr=3
mn=15
sc=3
also schickst Du ans schieberegister seks[sc]

Du solltest auch nur ans schieberegister senden, wenn sich der sekunden-wert ändert, sonst schickst Du tausende male jede sekunde, aber das ist ein zweiter schritt.
wo Dein problem mit der 10-sekunden-verzögerung usw liegt, kann ich nicht sagen, dazu mußt Du ein schaltbild und den sketch herzeigen.

gruß stefan