Skip to main content
schéma câblage hc-sr04

Tuto-Arduino Utiliser un module ultrason HC-SR04

Dans ce tutoriel nous allons voir comment utiliser un module de détection nous utiliserons pour notre exemple un module HC-SR04 .

Celui-ci va nous permettre de mesurer une distance et d’allumer une LED lorsque nous l’aurons décidé.

Niveau de difficulté : Débutant

Matériel nécessaire :

Câblage module HC-SR04 :

Nous allons donc raccorder comme ceci:

Les broches TRIG et ECHO sont définies dans notre programme celles-ci peuvent évidemment être modifiées à souhait.

Arduino → HC-SR04

  • 5V sur VCC
  • GND sur gnd
  • D5 sur TRIG
  • D4 sur ECHO

Câblage de notre LED :

Une fois que notre module sera raccordé il nous faudra bien évidemment mettre en place notre témoin lumineux si nous souhaitons l’utiliser ainsi il serait tout à fait possible de contrôler un relais par exemple.

Pour ce faire nous allons donc procéder ainsi :

Arduino → LED

  • D13 sur LED

La broche 13 est ici utilisée pour la led par facilité en effet celle présente sur les carte Arduino (« L »)  fonctionne avec cette broche ainsi il n’est donc même pas nécessaire d’en raccorder une à la broche 13 afin de voir le résultat.

Notre montage devrait donc ressembler à ça :

schéma câblage hc-sr04

Le programme :

Maintenant que nous disposons du matériel nécessaire et que celui-ci est convenablement raccordé, il va falloir passer à la programmation de notre Arduino !

Transfert :

Pour le transfert du code sur l’Arduino, la procédure est relativement simple mais si vous ne l’avez jamais fait, je vous invite à jeter un coup d’œil par ici :

https://www.memorandum.ovh/utiliser-le-logiciel-arduino/

Toutes les informations concernant le réglage ainsi que les différents paramètres pour notre module se trouveront dans le code.

/* sketch Arduino utilisation d'un module hc-sr04
Autheur : Guillaume FLOCH
site web : www.osdclic.fr
tuto : www.memorandum.ovh
membre de : www.goldorhack.org
*/

#define trigPin 5      //Trig 
#define echoPin 4      //Echo 
#define avertisseur 13 //Led
int mindist = 5; //On indique la distance en dessous de laquelle nous souhaitons voir la led s'allumer

void setup() {
  Serial.begin (9600);  
  pinMode(trigPin, OUTPUT);  //On défini Trig comme une sortie
  pinMode(echoPin, INPUT);   //On défini Echo comme une entrée
  pinMode(avertisseur, OUTPUT); //On défini la led comme une sortie
}

void loop() {
  long duree, distance;
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); //Trig envois pendant 10ms 
  digitalWrite(trigPin, LOW);
  
  // On calcul le temps pour l'aller retour du signal
  duree = pulseIn(echoPin, HIGH);
  distance = duree*340/(2*10000);  
   
  if (distance < mindist) {  // On allume la led si on est moins loin que "mindist", mindist étant défini en début de programme
     digitalWrite(avertisseur,HIGH);
}
  else {   //sinon on éteind la led
    digitalWrite(avertisseur,LOW);
  }
  //Pour le moniteur série
  if ( distance <= 0){  
    Serial.println("Hors de portee");
  }
  else {
    Serial.print(distance);
    Serial.print(" cm ");
    Serial.print(duree);
    Serial.println(" ms");
  }
  delay(100);
}

Paramètres et réglages :

Maintenant que notre montage est terminé et que le programme a bien été envoyé à l’Arduino nous allons pouvoir détailler un peu tout ça.

Moniteur série :

La procédure est la suivante dans le programme Arduino, cliquer sur Outils puis Moniteur série.

Cette manipulation peut aussi être faite via les touches du clavier Ctrl + Maj +M.

Il faudra évidemment que notre Arduino soit relié au PC si nous voulons que cela fonctionne, nous devrions ainsi avoir quelque chose ressemblant à l’image ci-dessous.

Nous pouvons voir ici que nous affichons deux valeurs la distance et la durée. La durée représente le temps de parcours de notre signal entre le moment ou celui-ci est émis par « trigPin » et celui où il est reçu par « echoPin ». Nous utilisons une formule dans notre programme qui nous permet de transformer tout ça en distance (vitesse du son théorique).

Formule actuelle : distance = duree*340/(2*10000) nous obtenons ainsi une distance en cm.

Formule millimètre distance = duree*340/(2*1000) notre distance sera donc affichée en millimètre et plus en cm, si vous faites ce choix n’oubliez pas de modifier la ligne Serial.print( » cm ») afin que vos valeurs soient cohérentes.

Modification du programme :

Dans le programme le seul paramètre nécessitant des modifications se trouve à la ligne 11 « mindist » ce paramètre va nous permettre de définir la distance à partir de laquelle nous souhaitons que notre led s’allume. Dans notre exemple si la distance est inférieure à 5 centimètres la led sera allumée.

Dans le cas contraire nous l’éteindrons tout simplement.

J’espère que cet article vous aura plu, n’hésitez pas à le partager.

2 réponses à “Tuto-Arduino Utiliser un module ultrason HC-SR04

Laisser un commentaire

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