|

pulseIn()


Description :

Lit une impulsion (HIGH ou LOW) sur une broche. Par exemple, si la valeur est haute, pulseIn() attend que la broche passe de basse à haute, démarre le chronométrage, puis attend que la broche passe à basse 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 durée de cette fonction a été déterminée empiriquement et affichera probablement des erreurs pour les impulsions plus longues. Fonctionne sur des impulsions de 10 microsecondes à 3 minutes.

L’utilisation du paramètre optionnel timeout accélère l’exécution du code.

Syntaxe :

Utilisez les fonctions suivantes pour mesurer une longueur d’impulsion sur une broche spécifique :

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

Paramètres :

La fonction admet les paramètres suivants :

  • pin : le numéro de la broche Arduino sur laquelle vous souhaitez lire l’impulsion. Types de données autorisés : int.
  • value : type d’impulsion à lire : HIGH ou LOW. Types de données autorisés : int.
  • timeout (facultatif) : le nombre de microsecondes à attendre avant le début de l’impulsion ; la valeur par défaut est d’une seconde. Types de données autorisés : unsigned long.

Retours :

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

Exemple de code :

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

int pin = D1;
unsigned long duration;

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

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


Source : https://docs.arduino.cc/language-reference/en/functions/advanced-io/pulseIn/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *