pulseIn()

Descrição

Captura a duração de um pulso em um pino (que pode ser

HIGH
ou
LOW
). Por exemplo, se o valor
HIGH
é passado para a função, a função
pulseIn()
espera o pino ir para do estado LOW para
HIGH
, começa a temporizar, então espera o pino ir para o estado
LOW
e para de temporizar. Retorna o tamanho do pulso em microssegundos ou desiste e retorna 0 se não receber nenhum pulso dentro de um tempo máximo de espera especificado.

A temporização dessa função foi determinada empiricamente e irá provavelmente mostrar erros em pulsos mais longos. funciona em pulsos de 10 microssegundos a 3 minutos de duração.

Sintaxe

  • pulseIn(pino, valor)
  • pulseIn(pino, valor, tempo_de_espera)

Parâmetros

  • pino
    : o número do pino no Arduino no qual se quer capturar a duração de um pulso. (int)
  • valor
    : tipo de pulso a ser lido: pode ser
    HIGH
    ou
    LOW
    . (int)
  • tempo_de_espera
    (opcional): o número de microssegundos a se esperar pelo começo do pulso; o padrão é um segundo. (unsigned long)

Retorna

A duração do pulso (em microssegundos) ou 0 se nenhum pulso começar antes de se esgotar o tempo de espera (unsigned long).

Código de Exemplo

O exemplo abaixo imprime a duração de um pulso no pino 7.

1int pino = 7; //pino para a entrada do pulso
2 unsigned long duracao; //variável para guardar a duração do pulso
3
4 void setup()
5 {
6 Serial.begin(9600);
7 pinMode(pino, INPUT);
8 }
9
10 void loop()
11 {
12 duracao = pulseIn(pino, HIGH);
13 Serial.println(duracao);
14 }

Ver Também

Suggest changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.

License

The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.