CAPTEUR : HC-SR04

Accueil/News/CAPTEUR : HC-SR04

CAPTEUR : HC-SR04

 

 

Ce tuto nous a été envoyé par le généreux Benjamin Striebig.
Nous allons dans ce tutoriel, vous parler de capteur, et plus précisément de capteurs Ultra-sons. Ce tuto vous apprendra les bases de l’utilisation du capteur HC-SR04, disponible sur de nombreux site web ( env4€ ).

Nous réaliserons un « radar » de sorte à apprendre la base de l’utilisation de ce capteur. Vous pourrez donc par la suite donner libre cours a votre imagination, rajouter par-exemple un écran LCD afin d’afficher la distance d’un objet 🙂 .

 

Ce qu’il vous faut

-Une carte Arduino.

Ici, nous utiliserons cette jolie Mega 2560 mais, bien entendu cela fonctionne pour n’importe quelle carte !

-Deux led, je vous laisse choisir la couleur que vous voulez. Personnellement je prendrais une rouge et une verte..

-Deux résistance ( 180-560homs )

-Notre fameux HC-SR04

-Des fils ( M-F, M-M )

-Une Breadboard

 

Le montage

Au niveau des branchement on a « en gros » :

-Le capteur, relié au plus (VCC) et au moins (GND) ainsi que le Trig sur le pin 13 et le Echo sur le pin 12.

Les deux led relié au GND, sont alimenté sur les pin 10 et 11 ( Quand le radar ne capte rien c’est le pin 10 qui est en signal haut )

CAPTEUR : HC-SR04

Programmer tout ça !


/* 
[HC-SR04 Capteur de distance]

Drafted and tested by Benjamin ((Binary01))for TUTOARDUINO

More info at: /

*/

#define trigPin 13 // On définis chaque Pin#define echoPin 12
 // Arduino va communiquer via echo et trig #define led 11#define led2 10

void setup() 
{
 Serial.begin (9600); // On établis la liaison a 9600 Bauds  pinMode(trigPin, OUTPUT);
 // On définis les entrées et sorties
 pinMode(echoPin, INPUT); 
 pinMode(led, OUTPUT);
 pinMode(led2, OUTPUT);}

void loop() {  long duration, distance;  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
 /* On envoi une "salve" pendant une durée déterminé qui sera par la suite calculée */

 distance = (duration/2) / 29.1; // On calcule
 if (distance < 15) {
 /* ici « 15 » définis le fait qu'on ne signalera
 pas l'objet avant qu'il soit à 15cm du capteur */

 digitalWrite(led,HIGH);  /* On fixe alors des conditions pour
 allumer la led 1 ou la led 2 en fonction de la distance calculée */

digitalWrite(led2,LOW);} 

else {    
    digitalWrite(led,LOW);
    digitalWrite(led2,HIGH);  
}
  if (distance >= 200 || distance <= 0){
 /* là on dit que si la distance de l'objet
 dépasse 200cm on affichera "Hors de portée" sur le port série */

Serial.println("Hors de portee");
  }
else 
{   
 Serial.print(distance);  
 Serial.println(" cm");
  }  delay(100);
}
 

Résultat :

On peut donc non seulement allumer une del selon la distance d’un objet ( pour ma part j’ai changer la led rouge par un buzzer, sa fessai plus « radar » .

VIDEO

Mais on peut aussi afficher la distance exacte de l’objet en question sur le moniteur série, et pourquoi pas sur une ecrant LCD ?!

Moniteur-serie_Binary01

Good game 😀

2016-12-20T11:38:22+00:00 28 septembre, 2013|Categories: News|

12 Commentaires

  1. Vince 30 septembre 2013 à 11 h 41 min␣- Répondre

    Merci beaucoup pour votre super job !
    Par contre le code ci-dessus est coupé, pourriez vous le mettre en entier svp ??
    Merci d’avance
    +

    • arnaud39 30 septembre 2013 à 11 h 42 min␣- Répondre

      un bug graphique en effet, je vais m’en occuper 😉
      EDIT : c’est bon 😀

  2. Binary01 30 septembre 2013 à 18 h 57 min␣- Répondre

    Derien, il faut bien partager ses connaissances avec les autres ! ;P

    • ludo 6 avril 2016 à 11 h 22 min␣- Répondre

      bonjour , j’ai trouver la meme chose , sa bloc sur le echoPin , que dois je faire ??? merci

  3. Débutant 23 octobre 2013 à 19 h 48 min␣- Répondre

    Bonjour,
    Je souhaiterais savoir pourquoi sur le schéma du montage, les résistances de chacune des LEDs se situent sur la cathode et non pas sur l’anode. Y a t-il une raison particulière de ce montage ?
    Merci d’avance

  4. piero 23 novembre 2013 à 20 h 09 min␣- Répondre

    Super tutoriel,
    Cependant, il y a une erreur d’alignement : les pin echoPin, led et led2 sont mal définis, ils se trouvent dans les commentaires (5ème et 6ème ligne du programme).

    • ludo 6 avril 2016 à 10 h 34 min␣- Répondre

      bonjour , j’ai trouver la meme chose , sa bloc sur le echoPin , que dois je faire ??? merci

  5. ght 4 juin 2014 à 14 h 35 min␣- Répondre

    les images ont été supprimé.
    est-ce normal ??????????????

    • arnaud9212 4 juin 2014 à 15 h 58 min␣- Répondre

      Non, ce n’est pas normal, on a fait un transfère du site et certaines images ont disparus, on travaille au rétablissement de celles-ci.

  6. helio 15 novembre 2016 à 17 h 10 min␣- Répondre

    à la fin c’est marqué « ça fessai » lol
    sinon c’est un bon tuto
    merci maggle

  7. C Guine 19 novembre 2016 à 14 h 11 min␣- Répondre

    il manque la définition des pin 12, led et led2
    #define echoPin 12
    #define led 5
    #define led2 6
    sinon le reste devrait marcher

  8. C Guine 19 novembre 2016 à 14 h 16 min␣- Répondre

    Pardon
    #define echoPin 12
    #define led 10
    #define led2 11
    pour être conforme au texte

Laisser un commentaire