Connexion à la carte Arduino
Ce capteur se compose d'un émetteur d'ultrasons de fréquence 40 kHz, donc inaudibles pour l'oreille humaine. Il peut être utilisé comme élément principal d'un télémètre.
Le brochage est le suivant :
VCC : +5V de la platine.
GND : Masse.
Trig : borne de déclenchement de la mesure, connectée à un PIN numérique de l'Arduino.
Echo : borne de récupération du signal de mesure, connectée à un PIN numérique de l'Arduino.
Fonctionnement
La mesure s'effectue en deux temps :
Le pin E/S connecté à la broche Trig doit être configuré en mode Sortie (OUTPUT). Il est utilisé pour déclencher la mesure en appliquant une impulsion (état haut) d'une durée au moins égale à \(10 \mu s\).
Le pin E/S connecté à la broche Echo doit être configuré en mode Entrée (INPUT) de façon à recueillir le signal. Ce signal reste à l'état Haut pendant une durée qui est proportionnelle à la distance entre l'obstacle et l'émetteur/récepteur.
Le diagramme ci-contre résume ce fonctionnement.
Méthode : Calcul de la distance
D'après la fiche technique du module, la durée de l'impulsion Echo back est liée à la distance par la relation \(D(cm)=\dfrac{t_{impulsion}(\mu s)}{58}\)
Le langage de programmation de l'Arduino comporte une instruction qui permet de mesurer la durée d'une impulsion : pulseIn().
La syntaxe est la suivante pour stocker cette durée dans une variable temps.
temps = pulseIn(Pin,État,TimeOut);
Pin est le numéro de l'entrée/sortie connectée à la borne Echo du module.
État est soit HIGH (1) ou LOW (0) selon qu'on mesure la durée d'un état haut ou bas de la sortie numérique.
TimeOut est optionnel, c'est la durée en microsecondes au-delà de laquelle la mesure cesse.
pulseIn() renvoie la durée en microsecondes. Au-delà de la durée définie par la valeur de TimeOut, et en tout état de cause après 38 ms, la valeur renvoyée est 0.