pulseIn ne donne pas le temps entre deux impulsions, mais la durée de l'impulsion.
Pour avoir le temps entre deux impulsions (période), il faudrait ajouter la durée de l'impulsion HIGH et la durée de l'impulsion LOW.
long periode=pulseIn(pin,HIGH)+pulseIn(pin,LOW);
Le gros problème est que le deuxième pulseIn n'est pas fait sur la même période que le premier puisqu'il faut attendre le front descendant suivant.
Ceci a pour conséquence que la période mesurée est approximative (peut peu-être être négligé si la période est assez stable) et surtout qu'on ne peut faire une mesure que toutes les 3 périodes.
De plus le programme est bloqué durant la mesure.