[TUTORIEL] Module à ultrasons HC-SR04

Informations et questions sur les composants tiers de la boutique (émetteur/récepteur RF, capteurs...)

[TUTORIEL] Module à ultrasons HC-SR04

Message non lude Laetitia » Mer 29 Aoû 2012 14:16

[MAJ le 11.02.2016] Changement de librairie + ajout de quelques explications

Bonjour,

Voici un petit exemple de mise en oeuvre du module à ultrasons HC-SR04.
Nous allons brancher le module ainsi que 3 LEDs à l'Arduino pour faire un détecteur de présence : les différentes LEDS clignoteront de plus en plus rapidement au fur et à mesure que l'objet se rapprochera du capteur, passant de la verte pour un objet lointain à la rouge pour un objet très proche.

- MATÉRIEL -

- Arduino Uno (x1)
- Module HC-SR04 (x1)
- LEDs 10 mm (x3)
- Résistances 150 Ohms (x3)

- Librairie Ultrasonic

- SCHÉMA DU MONTAGE -

Schéma_HC-SR04_final.jpg
Schéma_HC-SR04_final.jpg (184.24 Kio) Vu 9973 fois

- EXPLICATIONS -

Le capteur à ultrasons fonctionne de la manière suivante :

  • L'Arduino met la broche Trig du capteur à l'état haut pendant 10 µs,
  • Dès qu'elle repasse à l'état bas l'émetteur (un transducteur rond situé sur la face avant) diffuse un signal à 40KHz ,
  • Lorsque le son est réfléchi par un obstacle et arrive sur le récepteur (le second transducteur), la broche Echo passe à l'état haut, pendant une durée proportionnelle à la distance de l'objet,
  • En mesurant la durée du signal d'écho, la librairie Ultrasonic permet de déterminer la distance parcourue par le signal sonore, et donc celle entre l'objet et le capteur.

- CODE -

Code: Tout sélectionner
/* 
 * Détecteur de proximité - HC-SR04 + 3LEDs
 * Librairie Ultrasonic : https://github.com/JRodrigoTech/Ultrasonic-HC-SR04/archive/master.zip
 * Arduino IDE v1.6.6
*/

#include <Ultrasonic.h>

#define Trig 3     // pin "Trig" du HC-SR04 connectée à pin 3 de l'Arduino
#define Echo 2     // pin "Echo" du HC-SR04 connectée à pin 2 de l'Arduino

#define green 10   // LEDs reliées aux pins de l'Arduino via une résistance
#define yellow 11  // de 150 Ohms.
#define red 12

unsigned long cm;   // stockage de la distance de l'objet en cm

Ultrasonic HCSR04(Trig,Echo);

void setup()
{
  pinMode(green, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(red, OUTPUT);
}

void loop()
{
  // On récupère la distance directement en cm
  cm = HCSR04.Ranging(CM);
 
  if(cm > 0 && cm < 10)          // objet très proche
  {
    blink(cm, red);
  }
  else if(cm >= 10 && cm < 30)  // distance moyenne
  {
    blink(cm, yellow);
  }
  else if(cm >= 30)             // objet lointain
  {
    blink(cm, green);
  }
}

// La fonction ci-dessous fait clignoter la LED correspondant à la distance.
// Le clignotement est de plus en plus rapide à mesure que l'objet se rapproche.

void blink(int pause, int ledPin)
{
  pause = cm * 10;
  digitalWrite(ledPin, HIGH);
  delay(10);
  digitalWrite(ledPin, LOW);
  delay(pause);
}

La librairie Ultrasonic est susceptible d'évoluer au cours du temps, faites attention à toujours avoir la dernière version !

J'espère que ce petit tutoriel (mon tout premier !) vous aura plu, et bonne bidouille en attendant le prochain !
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 289
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: [TUTORIEL] Module à ultrasons HC-SR04

Message non lude kurisu » Sam 26 Avr 2014 11:33

J'ai testé ce système, ça marche très bien, merci !
Mais c'était une mauvaise idée de tester en faisant passer mon rat devant... Il a dû entendre les ultrasons et il a paniqué en se mettant à bondir partout dans la pièce... :shock:
kurisu
 
Messages: 3
Inscription: Mer 22 Jan 2014 12:48

Re: [TUTORIEL] Module à ultrasons HC-SR04

Message non lude dese » Jeu 29 Sep 2016 23:27

bonjour,
je voudrais réaliser ce projet, mais à la place des LED ça serait un afficheur matrix 8x8 max7219, avec un smiley que change d'état selon la distance.
merci de votre aide pour le code.
dese
 
Messages: 1
Inscription: Jeu 29 Sep 2016 23:19

Re: [TUTORIEL] Module à ultrasons HC-SR04

Message non lude Florian » Jeu 13 Oct 2016 11:40

Bonjour,

Afin de vous apporter une aide, il faudrait nous fournir votre code, ou au moins votre algorithme, pour que nous puissions voir où vous êtes et vous aider en vous redirigeant sur la bonne piste.
Florian
 
Messages: 70
Inscription: Mer 24 Juil 2013 17:36


Retourner vers Composants tiers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités