Vous êtes sur la page 1sur 7

Capteur Ultrason HC-SR04 :

Schéma de câblage et code Arduino

4 éme Génie Electromécanique

Laroussi Hammouda
laroussi.hmd@gmail.com

2019_ 2020
2
Chapitre V. Les capteurs et leurs utilisations avec Arduino

Fonctionnement du capteur ultrason


 Pour déclencher une mesure il faut appliquer une impulsion d’au moins
10 µs sur l’entrée Trig.

 Le module envoie alors 8 impulsions sonores

 On obtient en sortie (Echo) une impulsion dont la longueur correspond


au temps que mettent les 8 impulsions pour faire l’aller/retour Il est
préférable d’attendre 60 ms avant de demander une nouvelle mesure.
3
Chapitre V. Les capteurs et leurs utilisations avec Arduino

 Application1:
Donner un programme Arduino qui permet de déterminer la distance qui
sépare un capteur ultrason à un obstacle puis d’afficher cette distance.
4
Chapitre V. Les capteurs et leurs utilisations avec Arduino

Code Arduino
int trigPin = 3 ; // Trigger sur Pin 3
float T= pulseIn (echoPin , HIGH); // durée en
int echoPin = 2 ; // Echo sur Pin 2 microsecondes
float Ts =T/1000000 ; // conversion en secondes
void setup() {
float distance =( Ts*340) / 2 ; // distance en mètres
Serial.begin (9600);
Serial.print ( ‘’l’obstacle est distant de: ‘’)
pinMode( trigPin , OUTPUT);
pinMode( echoPin , INPUT); Serial.print ( distance)
digitalWrite( trigPin , LOW); Serial.println (‘’ m ‘’)
} delay(100);
void loop() { }

digitalWrite(trigPin , HIGH);

delayMicroseconds (10); // envoie d’une impulsion de durée 10µs

digitalWrite( trigPin , LOW);


5
Chapitre V. Les capteurs et leurs utilisations avec Arduino

Application 2:
 On branche trois capteurs ultrasons sur un robot (en avant, à droite et à
gauche).
 Ecrire un programme arduino qui permet de:

 Afficher le message « obstacle en avant» si le premier capteur détecte


un obstacle devant lui (distance inférieure à 50 cm par exemple).

 Afficher le message « obstacle à droite » si le deuxième capteur


détecte un obstacle à droite (distance inférieure à 50 cm).

 Afficher le message « obstacle à gauche » si le troisième capteur


détecte un obstacle à gauche (distance inférieure à 50 cm)
6
Chapitre V. Les capteurs et leurs utilisations avec Arduino
Code Arduino
int trigPin [ ] = {2 , 4 , 6} ; ; // tableau
if distance [0] < 0.50 {
int echoPin [ ] = {3 , 5 , 7} ;
Serial.println( “il y a un obstacle devant vous”);
float duree [3] // tableau vide de taille 3 }
float distance [3] ; else {
void setup() { Serial.println( “ aucun obstacle devant vous”);
Serial.begin (9600) ; }
if distance [1] < 0.50 {
for( int i=0; i<3; i++) {
Serial.println( “ il y a un obstacle à droite”);
pinMode( trigPin [ i ] , OUTPUT) ; }
pinMode( echoPin[ i ] , INPUT) ; else {
digitalWrite( trigPin [ i ] , LOW) ; } Serial.println( “ aucun obstacle à droite”);
} }
if distance [2] < 0.50 {
void loop() {
Serial.println( “ il y a un obstacle à gauche”);
for( int i=0; i<3; i++) { }
digitalWrite(trigPin [ i ] , HIGH) ; else {
delayMicroseconds (10) ; // impulsion de 10µs Serial.println( “ aucun obstacle à gauche”);
digitalWrite( trigPin [ i ], LOW) ; }
}
duree [ i ] = pulseIn (echoPin , HIGH) ;
duree [ i ] = duree [ i ] /1000000 ; // en secondes
distance [ i ] =(durée [ i ] *340) / 2; // en métres
}
7
Chapitre V. Les capteurs et leurs utilisations avec Arduino

Remarque: Les tableaux avec Arduino


 L’utilisation des tableaux simplifie la programmation.

 Un tableau est une liste de valeurs de même type.

 La taille d’un tableau correspond au nombre d’éléments qu’il contient.

 Pour accéder à la valeur d’un élément du tableau, on utilise son index.

NB: Le premier élément du tableau a pour index 0 (zéro) et non pas 1. Le


second a pour index 1 et ainsi de suite.

 On peut déclarer un tableau avec les valeurs qu’il contient:


 int tab [ ] = {1 , 2 , 7 ,0 ,4 , 9} ; (le tableau tab est rempli par 6 valeurs)

 On peut déclarer un tableau vide en précisant sa taille:


 int pro [4]; (le tableau pro est vide: on peut le remplir par 4 valeurs)