Escolar Documentos
Profissional Documentos
Cultura Documentos
pulseIn()
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.
Reinaldo Silvestre
Parâmetros
pino: o número do pino 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).
Reinaldo Silvestre
Código de Exemplo
Reinaldo Silvestre
Entradas e Saídas Avançadas
pulseInLong()
Reinaldo Silvestre
Código de Exemplo
O exemplo abaixo imprime na porta serial a duração de um pulso no pino 7.
Reinaldo Silvestre
Entradas e Saídas Avançadas
pulseIn()
Reinaldo Silvestre
Detectando pulso PWM
Reinaldo Silvestre
Os pulsos foram gerados pelo seguinte código:
#define P_OUT 7
void setup()
{
pinMode(P_OUT,OUTPUT);
}
void loop()
{
digitalWrite(P_OUT,LOW);
delayMicroseconds(1000);
digitalWrite(P_OUT,HIGH);
delayMicroseconds(100);
}
8
Reinaldo Silvestre
Já na detecção foi usado o seguinte código:
#define P_IN 8
void setup()
{
pinMode(P_IN,INPUT);
Serial.begin(115200);
}
long t = 0;
int i = 0;
void loop()
{
t=pulseIn(P_IN,HIGH);
if(t==0)
return;
Serial.print(t-7);
Serial.print(' ');
i++;
if(i > 20)
{
Serial.println();
i=0; 9
}
Reinaldo Silvestre
}
Projeto de uma trena eletrônica para a implementação da função
pulseIn()
Reinaldo Silvestre
As figuras demonstram o valor do pulso em micro segundos, quanto maior a distancia maior
o seu tempo de retorno. A primeira figura foi programada para ler uma distancia de 5cm e a
segunda 22cm, ambas foram expressas no monitor serial.
11
Reinaldo Silvestre
Referências
Arduino descomplicado: Como Elaborar Projetos de Eletrônica
https://www.amazon.com.br/s/ref=dp_byline_sr_book_1?ie=UTF8&field-
author=Claudio+Luis+Vieira+Oliveira+e+Humberto+Augusto+Piovesana+Zanetti
&search-alias=books
https://www.arduino.cc/reference/pt/language/functions/advanced-io/pulsein/
https://www.arduino.cc/reference/pt/language/functions/advanced-io/pulseinlong/
http://automatobr.blogspot.com/2016/03/detectando-pulsos-com-o-arduino.html
12
Reinaldo Silvestre