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.

Laisser un commentaire

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