HC-SR04

HC-SR04 : Télémètre à ultrasons

Facebooktwitterredditpinterestlinkedinmail

Un télémètre à ultra-sons repose sur le principe des sonars, des radars, ou des lidars; qui consiste à envoyer un signal et à mesurer le temps qu’il met à revenir en fonction de sa propagation dans le milieu considéré. Le principe du ping en informatique en est très proche.

  • Le sonar le fait à l’aide d’un signal sonore, généralement dans la bande des ultrasons afin qu’il ne soit pas audible.
  • Le radar le fait à l’aide d’un signal radio.
  • Le lidar le fait à l’aide d’un signal lumineux, généralement dans la bande des infrarouges afin qu’il ne soit pas visible.

L’usage de base consiste en l’envoi d’un signal composé d’ondes électromagnétiques (son, radio, lumière). Ce signal va cheminer en ligne droite (en réalité conique, sans lentille de Fresnel, mais faisons simple), et se réfléchir sur les obstacles qu’il va rencontrer sur sa route. Connaissant la vitesse de propagation de l’onde électromagnétique dans le milieu considéré, on sait mesurer la distance qui nous sépare de l’objet. C’est le principe du « radar » de recul d’une voiture (en réalité, c’est un sonar), que l’on trouve aussi sous certains avions ou drônes pour mesurer la distance cellule / sol.

Si l’on utilise un moteur pour orienter le sonar, ou bien une batterie de capteurs (ce qui revient au même sur le plan physique), on obtient une cartographie (en 2D ou en 3D selon le nombre d’axes de l’ensemble), des objets et de leurs distances. C’est le principe du radar météo, du radar aéronautique ou du sonar maritime. Il me semble, mais c’est à confirmer, que c’est aussi le principe du radiotéléscope.

Un autre phénomène intéressant peut être aussi pris en compte: L’effet Doppler. Une onde électromagnétique voit sa fréquence légèrement modifiée selon la vitesse de l’objet ou de l’observateur. Ce phénomène est utilisé par les radars de vitesse utilisés par les forces de l’ordre pour <del>voler plus d’argent au contribuable</del> sécuriser les routes. Ce phénomène est connus de tous et facilement observable. C’est grâce à lui que l’on sait instantanément en entendant un véhicule si celui-ci s’approche (son plus aigu) ou s’éloigne (son plus grave). Le cas est assez flagrant avec un véhicule équipé d’une sirène, ou avec les avions. Le même phénomène est utilisé en astronomie. En effet, une étoile qui se rapproche de notre position (ou dont nous nous approchons) voit sa couleur légèrement tendre vers le rouge, ou le bleu en cas d’éloignement.

Le module HC-SR04 est un télémètre à ultrasons. Nous allons voir comment l’utiliser avec un Raspberry Pi. Nous allons mettre en oeuvre le premier des trois cas suscités, le plus simple. Nous savons que le son se propage à 343 mètres par seconde dans l’air. En envoyant un signal à cette vitesse, et en calculant le temps qu’il met pour faire l’aller-retour entre notre capteur et sa cible, nous pourrons déterminer sa distance, grâce à la formule :

Vitesse = Distance / Durée

Note: La durée que nous allons mesurer est la durée de l’aller-retour du signal. Nous devrons donc la diviser par deux pour obtenir la distance entre notre capteur et sa cible.

Le télémètre dispose de 4 broches. Lorsqu’on le regarde du côté des transducteurs, quartz en haut et connecteur en bas, on trouve :

  1. Vcc, l’alimentation en 5 volts,
  2. Trig, la broche d’envoi du signal,
  3. Echo, la broche de retour du signal,
  4. Gnd, la masse.

Attention: Le signal Echo arrive en 5 volts, alors que notre RaspberryPi attend du 3,3 volts. Nous allons devoir mettre en place un diviseur de tension à l’aide de deux résistances.

Le principe de fonctionnement est le suivant :

  • On applique un signal haut de 10 µs sur la broche 2, Trig.
  • On se met en écoute de la broche 3, Echo.
  • Le télémètre va envoyer un signal ultrason, et nous retourner une impulsion propre sur la broche 3 (Echo) de la durée de l’aller-retour du signal.
  • On converti la durée de l’impulsion en microsecondes en distance en cm.

Mise en pratique 1: Outil en C

Note: La compilation de ces codes sources nécessite l’installation de WiringPi.

Voir le code source.

On peut compiler ce source avec la commande :

Exemple de retour :

Note: Cet article n’est pas terminé, merci de visiter cette page à nouveau dans quelque temps.

Références

Facebooktwitterredditpinterestlinkedinmail

2 commentaires

Laisser un commentaire

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