Starte mit dem Nulldurchgang einen Timer, der z.B. in 9ms überläuft. In
der Timerinterruptroutine zündest Du den Triac mit einem Impuls, damit
er im nächsten Nulldurchgang selber wieder ausgeht. So leitet der Triac
für 1ms. Wenn Du den Timer nach 8,7,6.. ms überlaufen lässt, leitet der
Triac länger und die Lastspannung wird größer -> das Licht wird heller.
Wichtig ist halt, das der Triac immer nur mit einem kurzen Impuls
gezündet wird, oder zumindestens vor dem nächsten Nulldurchgang
abgeschaltet wird, damit er im Nulldurchgang verlöschen kann. Wenn Du
nur die positiven Halbwellen durch Deine Nullspannungsschaltung
auswertest, fehlt Dir immer die negative Halbwelle. Du könntest im
Nulldurchgang einen zweiten Timer mit 10ms starten. Wenn der überläuft
hast Du ziemlich genau den Nulldurchgang zur nächsten Halbwelle und Du
kannst Deinen Verzögerungstimer starten.
HTH, Gruß Stefan