Don´t know if anyone is still trying to put this trigger to work, but I think I have a clue about setting the valves delay when using multiple valves.
void FireOneValve()
{
for(int i=0; i < ValueArray[7]; i++)
{
digitalWrite(ValveATrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveATrigger, LOW);
if(i < (ValueArray[7] - 1))
{
delay(ValueArray[1]);
}
}
}
void FireTwoValves()
{
for(int i=0; i < ValueArray[7]; i++)
{
digitalWrite(ValveATrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveATrigger, LOW);
delay(ValueArray[12])
digitalWrite(ValveBTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveBTrigger, LOW);
if(i < (ValueArray[7] - 1))
{
delay(ValueArray[1]);
}
}
}
void FireThreeValves()
{
for(int i=0; i < ValueArray[7]; i++)
{
digitalWrite(ValveATrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveATrigger, LOW);
delay(ValueArray[12])
digitalWrite(ValveBTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveBTrigger, LOW);
delay(ValueArray[13])
digitalWrite(ValveCTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveCTrigger, LOW);
if(i < (ValueArray[7] - 1))
{
delay(ValueArray[1]);
}
}
}
void FireFourValves()
{
for(int i=0; i < ValueArray[7]; i++)
{
digitalWrite(ValveATrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveATrigger, LOW);
delay(ValueArray[12])
digitalWrite(ValveBTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveBTrigger, LOW);
delay(ValueArray[13])
digitalWrite(ValveCTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveCTrigger, LOW);
delay(ValueArray[14])
digitalWrite(ValveDTrigger, HIGH);
delay(ValueArray[2]);
digitalWrite(ValveDTrigger, LOW);
if(i < (ValueArray[7] - 1))
{
delay(ValueArray[1]);
}
}
}
Gotta test it tough, I´m still building my unit.