Le capteur de distance (aussi appelé capteur ultrason) permet de réaliser des mesures de distance. Il permet d’estimer une distance allant de 2 cm à 400 cm avec une précision de 3mm. C’est le capteur de distance le plus utilisé et le moins cher. Il en existe des bien plus précis mais aussi bien plus chers.
Vous pouvez vous en procurer ici ou bien le trouver dans ce kit.
Pour mesurer la distance le capteur ultrason utilise un signal envoyé depuis la borne Trigger (Trig) et reçu par la borne Echo. Le temps que met la borne Echo à recevoir le signal permet de connaître la distance entre le capteur et l’objet.
Voici le calcul de la distance faite par le capteur ultrason : Distance = (signal reçu * vitesse du son) /2
Avec la vitesse du son dans l’air qui vaut 340 m/s.
Nous allons voir plusieurs exemples courants dans lesquels le capteur d’ultrason HC-SR04 est utilisé.
Voici un premier programme permettant de mesurer la distance grâce au capteur :
Voici un schéma du câblage du capteur :
Voici le résultat que l’on peut voir sur le moniteur série
Il est possible de faire fonctionner le capteur à ultra son sans utiliser de librairie. Pour cela on va devoir nous-même calculer la durée de l’écho, c’est-à-dire le temps que met le capteur à ultrason à recevoir le faisceau. Puis nous calculerons la distance entre le capteur et l’objet.
Pour pouvoir se passer de la librairie, il y faut ajouter certains éléments dans votre programme.
Tout d’abord vous allez devoir démarrer un faisceau de 10 microsecondes sur la borne trig afin de démarrer le signal.
On peut voir ici que le signal est éteint puis allumé pendant 10 microsecondes puis éteint une deuxième fois.
On récupère le temps que met le signal à revenir au capteur : duree = pulseIn(echoPin, HIGH);
On calcule ensuite cette distance avec la formule donnée précédemment : Distance = (signal reçu * vitesse du son) /2
Vitesse du son dans l’air : 340 m/s
On a donc : distance = durée*0.034/2 ;
Voici le même code qui n’utilise pas la librairie cette fois-ci :
Dans le programme si dessous l’intensité de la led va changer en fonction de la distance de l’obstacle.
Son intensité est exprimée en pourcentage dans le tableau ci-dessous :
| 0% | 1 mètre < Distance |
| 50 % | 30 centimètres < Distance < 1 mètre |
| 75 % | 15 centimètres < Distance < 30 centimètres |
| 100 % | 0 centimètre < Distance < 15 centimètres |
Voici le programme avec la librairie :
Voici le même code sans librairie :
Voici le programme avec la librairie :
Voici le même programme associé au projet sans librairie :
Pour pouvoir faire des schémas sur fritzing avec le capteur hc-sr04, vous devez l’importer vous-même. Pour cela vous devez télécharger le fichier .fzz sur ce lien.
Pour en savoir plus n’hésiter pas à consulter notre cours sur Fritzing.
Puis en vous rendant sur Fritzing, vous choisissez le capteur à partir des composants mine, en cliquant sur import :
Vous pouvez ensuite utiliser le capteur.
Il existe d’autres capteur pour mesurer la distance notamment le capteur de distance Tof qui mesure grâce à laser jusqu’à deux mètres.
De plus, il est possible de mesurer une distance dans l’eau avec un capteur ultrason étanche.