Generell: Das ist kein Schönes Beispiel. OK um grob die Grundlagen zu sehen, aber das wars dann auch. Zum Erweitern maximal unglücklich.
Erstes Problem: das Pinwackeln soll weitergehen, auch wenn der Webbrowser gerade nicht verbunden ist (das ist er die meiste Zeit nicht).
Also muss der "digitalWrite&Delay"-Block Aus dem "if (client)" Block raus.
Nächstes Problem: Das Pinwackeln darf den Webserver nicht blockieren. Also: Statt "while (flag)" nur ein "if (flag)", und das wiederholen der Sequenz erledigt die loop().
Drittes Problem: Dadurch sind deine Puls- und Pausenzeiten ungenau, "jitter".
Viertes Problem: Nur ganz außen in der Loop reicht auch nicht, weil in der loop noch eine "while (client.connected())"-Schleife ist.
Fünftes Problem: Es wird nur eine Connection gleichzeitig unterstützt
usw.
Lösungsideen (Keine Komplettlösung, versuch das selber zu erarbeiten und frag bei Bedarf nochmal nach, so lernst du mehr)
-> Signal per Hardware erzeugen (PWM/Timer). Gibt evtl. auch eine Arduino-Lib dafür
-> Signal in einem Timer-Interrupt erzeugen. Auch hier gibt's eine Lib.
-> "echte" Webserver-Lib verwenden, die asynchron arbeitet