Velocidad de apertura y cierre rele (SOLUCIONADO)

Hola a todos, lo primero presentarme, soy novato en esto del arduino y para colmo mis conocimientos de electrónica son bastantes limitados, pero me gusta trastear cuando llego a casa.

Necesito de vuestra ayuda, quiero medir la velocidad de funcionamiento de un modulo relé SRD-05vcd mediante la función pulseIn.

En un arduino genero un pulso de 500ms HIGH y 1000ms LOW, simplemente con el Blink de los ejemplos y el relé funciona correctamente.

En otro arduino conecto +5 a un borne del rele y el otro borne a una resistencia 4.7k y posteriormente al pin 8. Le cargo el sketch:

int pin = 8;
unsigned long dur;

void setup() {
 
  Serial.begin(9600);

  pinMode(pin, INPUT);
}


void loop() {
dur = pulseIn(pin,LOW);
  Serial.println(dur);
}

El caso es que no consigo ninguna lectura en el monitor únicamente 0.

He probado a unir el pin 13 del primero, el que genera el pulso a la resistencia directamente y las masas de ambos arduino y las lecturas son correctas.

¿será por el ruido y los microcontactos del relé?

Muchas gracias compañeros.

En otro arduino conecto +5 a un borne del rele y el otro borne a una resistencia 4.7k y posteriormente al pin 8

Eso esta mal conectado.
Usa la conexión PULL UP o sea, resistencia a 5V y responderá a tu código (el switch equivale a los contactos de tu rele).

Has usado

dur = pulseIn(pin,LOW);

Entonces arrancas con LOW y esperas HIGH para terminar la medición, es decir, esperas leer 1000 mseg.

Ademas ,segun esto: https://www.arduino.cc/en/Reference/PulseIn el timeout por defecto de pulseIn() es de justamente un segundo ,por lo que no se si es demasiado justo ,podrias probar incrementar un poco el timeout a mas de un segundo ademas de lo que te comenta el compañero.

Muchas gracias por vuestra ayuda, he probado con la resistencia PULL-UP y correcto, como os comente mi electrónica es muy simple y siempre tiendo a cerrar el circuito.

Las lecturas mas o menos correctas, contando con los microcortes al rebotar el rele, pero bueno lo quiero para cortar un tiristor en conducción por lo que no me importan estos rebotes.

Lo dicho mil gracias.

hay soluciones para eso pero deberías determinar cual es el mínimo tiempo a medir.
Si el mínimo es 500 mseg entonces todo lo que entregue por debajo de ese tiempo lo rechazas.
Te sugeriría otro código para medir si te interesa.