Arduino Mega: Wie genau sind Zyklen möglich?

Ich denke schon, dass die Genauigkeit ausreichen wird. Kannst du noch kurz beschreiben, wie du die Daten für den Zyklus auf den Mikrocontroller bringen willst? Werden das festgelegte Zeiten oder sollen sie in irgendeiner Form durch ein User Interface (Display, Taster o.ä.) manuell gesetzt werden?
Ob es gelingen wird 40 Ausgänge zu schalten, hängt im Wesentlichen von der Qualität der Programmierung ab. Wir geben dazu gern Hilfestellung. Grundlegend solltest du dir das Beispiel BlinkWithoutDelay ansehen, das bietet eine gute Basis für einen einzelnen Ausgang. Bei weiteren Ausgängen kann man den Sketch dann um Arrays erweitern, das Array enthält die Daten der einzelnen zu schaltenden Pins.