Programador de riego

Respondiendo:

  1. no necesita respuesta.

  2. Ya te respondí pero cuando digo retardo no hablo de delay(mseg) que se entienda porque eso te detiene el Arduino.

  3. no necesita respuesta.

  4. Lo que te indiqué hacer con un transistor lo haces con un RELE.

Positivo Batería de 9V, contacto común del RELE al positivo de la electroválvula. Común del Relé al Negativo de la electroválvula a negativo de Bateria de 9V. Eso es simple electricidad. Un interruptor que controla un solenoide.

el programa es como te indique usando millis() y una máquina de estado para que pueda seguir haciendo otras cosas. Y si los retardos son cortos puedes usar delay() porque no alterará demasiado el resto de las cosas.
Ahora en tu link de la electroválvula no dice o no encontré que es un pulso corto o largo en mseg asi que no puedo ayudarte mas.