Diferencia entre revisiones de «pulseIn()»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo)
(Vea tambien)
 
(No se muestran 5 ediciones intermedias del mismo usuario)
Línea 18: Línea 18:
  
 
== Retorna ==
 
== Retorna ==
Retorna la longitud del pulso en microsegundos o 0 si el pulso no se completa dentro del tiempo de espera determinado con "espera".
+
Retorna la longitud del pulso en microsegundos en [[unsigned long]] o 0 si el pulso no se completa dentro del tiempo de espera determinado con "espera".
  
 
== Advertencias ==
 
== Advertencias ==
Línea 34: Línea 34:
 
void loop(){
 
void loop(){
 
   duracion = pulseIn(7, LOW);
 
   duracion = pulseIn(7, LOW);
 +
  if (duracion){
 +
    Serial.print("Tiempo (us) = ");
 +
    Serial.prinln(duracion);
 +
  }
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Vea tambien ==
+
== Vea también ==
* [[tone()]]
+
<categorytree mode=all>Funciones tiempo</categorytree>
* [[noTone()]]
 
* [[pulselnLong()]]
 
* [[shiftIn()]]
 
* [[shiftOut()]]
 
* [[sizeof()]]
 
  
== Referencias ==
+
== Referencias externas ==
  
[[Category:Funciones]]
+
[[Category:Funciones tiempo]]

Revisión actual del 23:28 11 jun 2019

Descripción

Lee un pulso (HIGH o LOW) en un pin digital y retorna la duración del pulso en microsegundos o 0 si no se inicia ningún pulso dentro de un tiempo de espera especificado.

La función pulseIn() espera que el pin pase a HIGH, inicia el cronometraje, luego espera que el pin pase a LOW y detiene el cronometraje.

Nota: Funciona bien con pulsos desde 10 us a 3 min de duración.


Sintexis

pulseIn(pin, valor);
pulseIn(pin, valor, espera);

Parámetros

pin
numero de pin digital a examinar.
valor
es el tipo de pulso a identificar: HIGH o LOW.
espera
es el numero de us que espera el pulso. El predeterminado es 1 segundo.

Retorna

Retorna la longitud del pulso en microsegundos en unsigned long o 0 si el pulso no se completa dentro del tiempo de espera determinado con "espera".

Advertencias

Nada.

Ejemplo

Para este ejemplo conecta un pulsador entre el pin 7 y GND. Luego de pulsar y soltar, Arduino te dirá la duración del pulso en microsegundos.

unsigned long duracion = 0;
void setup(){
   Serial.begin(9600);
   pinMode(7, INPUT_PULLUP);
}
void loop(){
   duracion = pulseIn(7, LOW);
   if (duracion){
     Serial.print("Tiempo (us) = ");
     Serial.prinln(duracion);
   }
}

Vea también


Referencias externas