Introduction

La mesure de distance est une fonction essentielle dans de nombreux projets électroniques et robotiques. Parmi les capteurs les plus utilisés pour cette tâche, on retrouve principalement le capteur infrarouge de proximité et le télémètre à ultrasons. Bien qu’ils aient un objectif similaire, leur principe de fonctionnement et leurs performances diffèrent, ce qui rend important le choix du capteur en fonction de l’application.

Le capteur infrarouge de proximité fonctionne à l’aide d’une source lumineuse infrarouge et d’un capteur de lumière. La distance est estimée en mesurant le temps de retour ou l’intensité de la lumière réfléchie par un objet. Toutefois, ce type de capteur présente une portée limitée et une précision relativement faible, notamment en fonction de la couleur et de la surface de l’objet détecté.

À l’inverse, le télémètre à ultrasons repose sur l’émission d’une onde sonore à haute fréquence, inaudible pour l’oreille humaine. Cette onde se propage dans l’air jusqu’à rencontrer un obstacle, puis revient vers le capteur sous forme d’écho. En mesurant le temps nécessaire au signal pour effectuer l’aller-retour, le capteur peut calculer avec précision la distance séparant l’objet de la source. Les télémètres à ultrasons offrent ainsi une meilleure précision et une portée plus importante que les capteurs infrarouges.


Dans ce projet, l’objectif est de mesurer précisément des distances à l’aide d’un télémètre à ultrasons MaxBotix LV-EZ0. Les modèles EZ0, EZ1, EZ2, EZ3 et EZ4 fonctionnent selon le même principe, mais se différencient par la largeur de leur faisceau, ce qui permet de choisir le modèle le mieux adapté aux besoins du projet. Ces capteurs nécessitent très peu d’ajustements et sont simples à intégrer dans un système électronique.

Le télémètre MaxBotix peut être connecté de trois manières différentes : par sortie analogique, par mesure de la largeur d’impulsion ou via une communication série. Dans ce projet, l’accent est mis sur la mesure de la largeur d’impulsion, méthode offrant une meilleure précision que la sortie analogique. Le principe consiste à mesurer la durée de l’impulsion générée par le capteur, puis à la convertir en distance à l’aide d’une relation mathématique appropriée. La communication série, bien que disponible, ne sera pas abordée dans cet exemple.

Ce projet permet ainsi de comprendre le fonctionnement d’un capteur sonar et d’acquérir les bases nécessaires à la mesure précise de distances dans des applications pratiques telles que la robotique, l’évitement d’obstacles ou les systèmes de détection.

Composants nécessaires :

  • Un Arduino Uno
  • Un télémètre à ultrasons LV-EZ0
  • Des fils de liaisons

Schéma du circuit

Les différentes connexions du télémètre sont clairement identifiées sur la face intérieure du circuit imprimé. Les broches 5 V et GND assurent l’alimentation du capteur et doivent être reliées respectivement aux bornes 5 V et GND de la carte Arduino.

La broche PW correspond à la sortie du signal en largeur d’impulsion ; elle doit être connectée à la broche numérique 7 de l’Arduino afin de permettre la lecture de la mesure. Il est essentiel de veiller à ce que le télémètre soit solidement fixé et correctement orienté dans la direction souhaitée afin de garantir des mesures fiables et précises.

Programme du circuit

const int pwPin = 6; // Broche numérique 6 pour lire la largeur de l’impulsion dans l’appareil MaxSonar.
long pulse, inches, cm; // Variables (trois sont déclarées sur la même ligne)

void setup() {
Serial.begin(9600); // Ouvre une connexion série pour montrer les résultats dans le PC
}

void loop() {
pinMode(pwPin, INPUT); // Lit l’impulsion envoyée par l’appareil MaxSonar.
pulse = pulseIn(pwPin, HIGH); // Représente la largeur de l’impulsion avec un facteur d’échelle de 147 uS par pouce.
inches = pulse/147; // 147uS par pouce
cm = inches * 2.54; // Convertit les pouces en centimètres
Serial.print(inches);
Serial.print(“ in,“);
Serial.print(cm);
Serial.print(“ cm”);
Serial.println();
delay(500);
}

La fonction pulseIn() mesure la durée pendant laquelle le signal reste à l’état HIGH. Cette durée correspond à la largeur de l’impulsion envoyée par le capteur, proportionnelle à la distance mesurée.
Pour le capteur MaxSonar, la largeur d’impulsion est de 147 microsecondes par pouce.