pulseIn()

Description :

Lit une impulsion (soit HIGH ou LOW ) sur une broche. Par exemple, si value est HIGHpulseIn() attend que l’épingle passe de LOW à HIGH , démarre le chronométrage, puis attend que l’épingle aille LOW et arrête le chronométrage. Renvoie la durée de l’impulsion en microsecondes ou abandonne et renvoie 0 si aucune impulsion complète n’a été reçue dans le délai imparti.

La synchronisation de cette fonction a été déterminée empiriquement et montrera probablement des erreurs dans des impulsions plus longues. Fonctionne sur des impulsions de 10 microsecondes à 3 minutes.

Noter : si le délai d’attente utilisé est facultatif , le code s’exécutera plus rapidement.

Syntaxe :

pulseIn(pin, value)
pulseIn(pin, value, timeout)

Paramètres :

pin : le numéro de la broche Arduino sur laquelle vous souhaitez lire le pouls. Types de données autorisés : int.
value : type d’impulsion à lire : soit HAUT, soit BAS . Types de données autorisés : int .
timeout (optionnel) : le nombre de microsecondes à attendre pour que l’impulsion démarre ; la valeur par défaut est une seconde. Types de données autorisés : unsigned long.

Retour :

La durée de l’impulsion (en microsecondes) ou 0 si aucune impulsion n’a démarré avant la temporisation. Type de données : unsigned long.

Exemple de code :

L’exemple imprime la durée d’une impulsion sur la broche 7.

int pin = 7;
unsigned long duration;

void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT);
}

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

 

Source : https://www.arduino.cc/reference/en/language/functions/advanced-io/pulsein/

 

Laisser un commentaire