programacion monedero y valvula ayuda urgente

Buenas tarde, no tiene mucho que inicie con arduino, tengo un proyecto un dispensador de agua, pero mi problema es que cuando ya todo esta conectado y con el codigo en mi placa, todo se queda un bucle, acepta la ficha enciende y apaga la valvula, y se vuelve a repetir sin que se ingrese una moneda. me ayudan! otra cosa quitando el rele de 5V que me activa la valvula todo funciona, el problema es cuando tiene conectado el rele pero no se solucionarlo.

este es el codigo que tengo hasta el momento. uso arduino mega

const int coinInt = 0; 

volatile float coinsValue = 0.00;
int coinsChange = 0;   
int relay = 13;   
            
void setup()
{
  Serial.begin(9600);      
  pinMode(relay, OUTPUT);           

  attachInterrupt(coinInt, coinInserted, RISING);   
}

void coinInserted()    
{
  coinsValue = 1;  
  coinsChange = 1;                           
}

void loop()
{
  if(coinsChange == 1)          

  {
    coinsChange = 0;              
  
    Serial.print("Credit: Q");
    Serial.println(coinsValue);    
    delay(1000);
    digitalWrite(relay,LOW);
    Serial.println("Relay Accionado");
    delay(5000);

    digitalWrite(relay,HIGH);
    Serial.println("Relay  NO Accionado");
    delay(5000);

    return;

  }else{
    
    
     Serial.println(0); 
    }
}

Por favor, lee las normas del foro, edita tu mensaje y colocale etiquetas de código para que luzca como todos los hilos de este foro en Español.
Gracias y eres bienvenido