control pins independently without delay()

eventtime1 = millis() + 500;

...
if ((millis() >= eventtime1) ...
...

Bzzzt - you just created two bugs. Cert, they appear only every 49 days, but the code will still fail. The way you wrote it, this will fail at the roll-over of the millis() counter.

If you want to do it correctly so that it won't fail use only:

if (millis() - starttime > 500) ....

Korman