Railroader:
Quoting: "2 diodes on all valves at once". That makes no sense. I'm afraid it was not done the right way.
Electronic noise does not care if You space or not. Not negotiable... Follow my suggestion. Do it on. let's say w few valves and only run those valves in the code.
Code..... Is it a secret and You can't post it?
totally not a secret but i wanted to spare you some boring code
Anyways... below on your request..
I would say that nothing can go wrong here... 
#define poort1 30
#define poort2 31
#define poort3 32
#define poort4 33
#define poort5 34
#define poort6 35
#define poort7 36
#define poort8 37
#define poort9 30
#define poort10 31
#define poort11 32
#define poort12 33
#define poort13 34
#define poort14 35
#define poort15 36
#define poort16 37
#define time1 2000
#define time2 2000
#define time3 2000
#define time4 2000
#define time5 2000
#define time6 2000
#define time7 2000
#define time8 2000
#define time9 2000
#define time10 2000
#define time11 2000
#define time12 2000
#define time13 2000
#define time14 2000
#define time15 2000
#define time16 2000
void setup() {
// put your setup code here, to run once:
pinMode(poort1, OUTPUT);
pinMode(poort2, OUTPUT);
pinMode(poort3, OUTPUT);
pinMode(poort4, OUTPUT);
pinMode(poort5, OUTPUT);
pinMode(poort6, OUTPUT);
pinMode(poort7, OUTPUT);
pinMode(poort8, OUTPUT);
pinMode(poort9, OUTPUT);
pinMode(poort10, OUTPUT);
pinMode(poort11, OUTPUT);
pinMode(poort12, OUTPUT);
pinMode(poort13, OUTPUT);
pinMode(poort14, OUTPUT);
pinMode(poort15, OUTPUT);
pinMode(poort16, OUTPUT);
digitalWrite(poort1, HIGH);
digitalWrite(poort2, HIGH);
digitalWrite(poort3, HIGH);
digitalWrite(poort4, HIGH);
digitalWrite(poort5, HIGH);
digitalWrite(poort6, HIGH);
digitalWrite(poort7, HIGH);
digitalWrite(poort8, HIGH);
digitalWrite(poort9, HIGH);
digitalWrite(poort10, HIGH);
digitalWrite(poort11, HIGH);
digitalWrite(poort12, HIGH);
digitalWrite(poort13, HIGH);
digitalWrite(poort14, HIGH);
digitalWrite(poort15, HIGH);
digitalWrite(poort16, HIGH);
}
void loop() {
//Serial.begin(9600);
// put your main code here, to run repeatedly:
digitalWrite(poort1, LOW);
delay(time1);
digitalWrite(poort1, HIGH);
delay(1000);
digitalWrite(poort2, LOW);
delay(time2);
digitalWrite(poort2, HIGH);
delay(1000);
digitalWrite(poort3, LOW);
delay(time3);
digitalWrite(poort3, HIGH);
delay(1000);
digitalWrite(poort4, LOW);
delay(time4);
digitalWrite(poort4, HIGH);
delay(1000);
digitalWrite(poort5, LOW);
delay(time5);
digitalWrite(poort5, HIGH);
delay(1000);
digitalWrite(poort6, LOW);
delay(time6);
digitalWrite(poort6, HIGH);
delay(1000);
digitalWrite(poort7, LOW);
delay(time7);
digitalWrite(poort7, HIGH);
delay(1000);
digitalWrite(poort8, LOW);
delay(time8);
digitalWrite(poort8, HIGH);
delay(1000);
digitalWrite(poort9, LOW);
delay(time9);
digitalWrite(poort9, HIGH);
delay(1000);
digitalWrite(poort10, LOW);
delay(time10);
digitalWrite(poort10, HIGH);
delay(1000);
digitalWrite(poort11, LOW);
delay(time11);
digitalWrite(poort11, HIGH);
delay(1000);
digitalWrite(poort12, LOW);
delay(time12);
digitalWrite(poort12, HIGH);
delay(1000);
digitalWrite(poort13, LOW);
delay(time13);
digitalWrite(poort13, HIGH);
delay(1000);
digitalWrite(poort14, LOW);
delay(time14);
digitalWrite(poort14, HIGH);
delay(1000);
digitalWrite(poort15, LOW);
delay(time15);
digitalWrite(poort15, HIGH);
delay(1000);
digitalWrite(poort16, LOW);
delay(time16);
digitalWrite(poort16, HIGH);
}