Descrição

Lê um pulso (tanto HIGH como LOW) em um pino. Por exemplo, se valor for HIGH, pulseIn() espera que o pino vá para HIGH, inicia a cronometragem, e então espera que o pino vá para LOW e para a cronometragem. Retorna a duração do pulso em microsegundos. Desiste e retorna 0 se nenhum pulso iniciar dentro de um tempo especificado.

O tempo desta função foi determinado empiricamente e provavelmente dará erro em pulsos longos. Funciona com pulsos entre 10 microsegundos e 3 minutos.

Syntaxe

pulseIn(pino, valor)
pulseIn(pino, valor, tempo)

Parameters

pino: o número do pino no qual você deseja ler o pulso. (int)

valor: tipo de pulso a ler: tanto HIGH como LOW. (int)

tempo (opcional): o número de microsegundos a esperar para que o pulso comece; o padrão é um segundo (unsigned long)

Returno

a duração do pulso (em microsegundos) ou 0 se nehum pulso iniciar antes do tempo especificado (unsigned long)

Exemplo

 

int pin = 7;
unsigned long duration;

void setup()
{
pinMode(pin, INPUT);
}

void loop()
{
duration = pulseIn(pin, HIGH);
}

Página de início da referência

Correções, sugestões, e nova documentação devem ser enviadas ao Forum.

O texto de referência do Arduino está baixo uma Licença Creative Commons Attribution-ShareAlike 3.0. Amostras de código utilizadas na referência foram deixados  ao domínio público.

 

O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.

Esta obra está sob uma Licença Creative Commons.

Creative Commons License