pulseIn()
Descripción
Lee un pulso (HIGHo LOW) en un pin. Por ejemplo, si el valor es alto, pulseIn() espera a que el pin pase a nivel HIGH, se inicia el tiempo, espera a que el pin pase a nivel LOW y para el cronómetro. Devuelve la longitud del impulso en microsegundos o 0 si no se recibe un pulso completo dentro del tiempo de espera.
La temporización de esta función se ha determinado empíricamente y probablemente mostrará errores en los pulsos más cortos. Funciona en pulsos de 10 microsegundos a 3 minutos de duración. Tenga en cuenta también que si el pin ya está a nivel HIGH cuando la función es llamada, se espera que el pin pase a nivel LOW y luego a nivel HIGH antes de que empiece a contar. Esta rutina se puede utilizar sólo si se activan las interrupciones. Por otra parte la resolución más alta se obtiene con intervalos cortos.
Sintaxis
pulseIn (pin, value)
pulseIn (pin, value, timeout)
Parámetros
- pin: el número de pin en el que desea leer el pulso. (int)
- timeout: (opcional) el número de microsegundos que espera a que el pulso se complete: la función devuelve 0 si el pulso completo no se recibe dentro del tiempo de espera. Por defecto es de un segundo (unsigned long). timeout, si se usa, es recomendable que sea, al menos, 1,3 veces sueperior a la duración del pulso a medir. Por ejemplo, si se mide un pulso de duración 0,01 segundo, timeout deber ser al menos 13000.
Retornos
- La longitud del pulso (en microsegundos) o 0 si el pulso no se completa dentro del tiempo de espera (long sin signo)
Ejemplo
Este ejemplo muestra en el monitor serie la duración del impulso aplicado a la entrada 2 del Arduino. A partir de la duración del impulso se calcula la frecuencia y el número de pulsos por segundo.
El pulso puede provenir de un generador de pulsos en general o también se puede generar con otra placa Arduino mediante un sketch que simule un tren de pulsos.
Another example, the pulseIn() is used to capture the echo pulse from Ultrasonic Sensor. See Arduino - Ultrasonic Sensor for more detail.
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |