Comando elettrovalvole, Reflex e Flash (Dropsduino)

ho un problema in questa parte di codice che mi comanda le valvole

ovvero ho dovuto commentare gli if che mi controllano lo stato delle valvole 2 e 3 se sono uguali a 0 significa che sono spente e deve uscire, se sono uguali a 1 deve entrare nell'if e far aprire le valvole, ma niente da fare parte solo la prima

se tolgo gli if le valvole si aprono, se metto dentro all'if le condizioni ==0 || ==1 che sono gli unici due valori possibili che può assumere non si aprono.

void elettrovalvolastart(){ 
  digitalWrite(PINS_VALVE1,HIGH);           //Apro l'elettrovalvola n°1
  delay(duratagoccia1);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE1,LOW);            //Chiudo l'elettrovalvola n°1
  
  if(statogoccia2==1){
  delay(int_goccia1_2);                     //Tempo di ritardo dalla prossima goccia o dallo scatto o dal Flash
    digitalWrite(PINS_VALVE2,HIGH);         //Apro l'elettrovalvola n°2
  delay(duratagoccia2);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE2,LOW);            //Chiudo l'elettrovalvola n°2
  }
  
  if(statogoccia3==0 || statogoccia3==1){
  delay(int_goccia2_3);                     //Tempo di ritardo dalla prossima goccia o dallo scatto o dal Flash
    digitalWrite(PINS_VALVE3,HIGH);         //Apro l'elettrovalvola n°3
  delay(duratagoccia3);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE3,LOW);            //Chiudo l'elettrovalvola n°3
  }
  
  delay(ritardoreflex);                     //Tempo di ritardo dallo scatto o dal Flash
   
}

idee su qualche altra prova da effettuare?