Guide complet du capteur à ultrasons HC-SR04 avec Arduino

Guide complet du capteur à ultrasons HC-SR04 avec Arduino

Cet article est un guide sur le capteur à ultrasons HC-SR04. Nous vous expliquerons son fonctionnement, vous montrerons certaines de ses fonctionnalités et partagerons un exemple de projet Arduino que vous pourrez suivre pour l’intégrer à vos projets. Nous fournissons un schéma de principe sur la façon de câbler le capteur à ultrasons et un exemple de croquis avec l’Arduino.

Guide complet du capteur à ultrasons HC-SR04 avec Arduino

La description

Le capteur à ultrasons HC-SR04 utilise un sonar pour déterminer la distance à un objet. Ce capteur lit de 2 cm à 400 cm (0,8 pouce à 157 pouces) avec une précision de 0,3 cm (0,1 pouce), ce qui convient à la plupart des projets amateurs. De plus, ce module particulier est livré avec des modules émetteurs et récepteurs à ultrasons.

L’image suivante montre le capteur à ultrasons HC-SR04.

HC-SR04 Module de capteur à ultrasons composant de mesure de distance avant

L’image suivante montre l’autre côté du capteur.

HC-SR04 Module de capteur à ultrasons Composant de mesure de distance Partie arrière

Caractéristiques

Voici une liste de certaines des caractéristiques et spécifications du capteur à ultrasons HC-SR04. Pour plus d’informations, vous devriez consulter la fiche technique du capteur :

  • Alimentation : +5V CC
  • Courant de repos : <2mA
  • Courant de travail : 15 mA
  • Angle effectif : <15°
  • Distance de portée : 2cm – 400 cm/1″ – 13ft
  • Résolution : 0.3cm
  • Angle de mesure : 30 degrés
  • Largeur d’impulsion d’entrée de déclenchement : impulsion TTL de 10 uS
  • Signal de sortie d’écho : impulsion TTL proportionnelle à la plage de distance
  • Dimensions : 45 mm x 20 mm x 15 mm

Comment ça marche?

Le capteur à ultrasons utilise un sonar pour déterminer la distance à un objet. Voici ce qui se passe :

  1. L’émetteur d’ultrasons (trig pin) émet un son à haute fréquence (40 kHz).
  2. Le son voyage dans l’air. S’il trouve un objet, il rebondit vers le module.
  3. Le récepteur d’ultrasons (broche d’écho) reçoit le son réfléchi (écho).
Comment fonctionne le capteur à ultrasons

Le temps entre l’émission et la réception du signal permet de calculer la distance à un objet. C’est possible parce que nous connaissons la vitesse du son dans l’air. Voici la formule :

distance to an object = ((speed of sound in the air)*time)/2
  • vitesse du son dans l’air à 20ºC (68ºF) = 343 m/s

Brochage du capteur à ultrasons HC-SR04

ultra

Voici le brochage du capteur à ultrasons HC-SR04.

VCC Alimente le capteur (5V)
Trigonométrie Broche d’entrée de déclenchement
Écho Broche de sortie d’écho
GND GND commun

Où acheter?

Vous pouvez consulter le capteur Ultrasonic Sensor HC-SR04 sur Maker Advisor pour trouver le meilleur prix :

Arduino avec capteur HC-SR04

Arduino UNO Board HC-SR04 Module de capteur à ultrasons Arduino

Ce capteur est très populaire parmi les bricoleurs Arduino. Nous fournissons donc ici un exemple d’utilisation du capteur à ultrasons HC-SR04 avec l’Arduino. Dans ce projet, le capteur à ultrasons lit et écrit la distance à un objet dans le moniteur série.

Le but de ce projet est de vous aider à comprendre le fonctionnement de ce capteur. Ensuite, vous devriez pouvoir utiliser cet exemple dans vos propres projets.

Pièces requises

Voici une liste des pièces nécessaires pour suivre le prochain tutoriel :

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

1640967126 256 Guide complet du capteur a ultrasons HC SR04 avec Arduino

Arduino avec câblage du capteur HC-SR04

Suivez le schéma suivant pour câbler le capteur à ultrasons HC-SR04 à l’Arduino.

1640967126 617 Guide complet du capteur a ultrasons HC SR04 avec Arduino

Le tableau suivant indique les connexions que vous devez effectuer :

Capteur à ultrasons HC-SR04 Arduino
VCC 5V
Trigonométrie Broche 11
Écho Broche 12
GND GND

Code

Téléchargez le code suivant sur votre IDE Arduino.

/*
 * created by Rui Santos, https://www.raspberryme.com
 * 
 * Complete Guide for Ultrasonic Sensor HC-SR04
 *
    Ultrasonic sensor Pins:
        VCC: +5VDC
        Trig : Trigger (INPUT) - Pin11
        Echo: Echo (OUTPUT) - Pin 12
        GND: GND
 */
 
int trigPin = 11;    // Trigger
int echoPin = 12;    // Echo
long duration, cm, inches;
 
void setup() {
  //Serial Port begin
  Serial.begin (9600);
  //Define inputs and outputs
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
 
void loop() {
  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // Convert the time into a distance
  cm = (duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343
  inches = (duration/2) / 74;   // Divide by 74 or multiply by 0.0135
  
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(250);
}

Afficher le code brut

Comment fonctionne le code

Tout d’abord, vous créez des variables pour le déclencheur et la broche d’écho appelées trigPin et echoPin, respectivement. La goupille de déclenchement est connectée au numérique Broche 11, et la broche d’écho est connectée à Broche 12:

int trigPin = 11; 
int echoPin = 12;

Vous créez également trois variables de type long : durée et pouces. le durée variable permet de gagner du temps entre l’émission et la réception du signal. le cm variable enregistrera la distance en centimètres, et le pouces variable enregistrera la distance en pouces.

long duration, cm, inches;

Dans le mettre en place(), initialisez le port série à un débit en bauds de 9600 et définissez la broche de déclenchement comme SORTIR et la broche d’écho comme un SAISIR.

//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

Dans le boucler(), déclencher le capteur en envoyant un HAUT impulsion de 10 microsecondes. Mais, avant cela, donnez un bref MEUGLER pulser pour vous assurer d’obtenir un nettoyage HAUT impulsion:

digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

Nous utilisons le pulseIn() fonction pour obtenir le temps de trajet de l’onde sonore :

duration = pulseIn(echoPin, HIGH);

le pulseIn() La fonction lit une impulsion HAUT ou BAS sur une broche. Il accepte comme arguments la broche et l’état de l’impulsion (soit HAUT, soit BAS). Il renvoie la durée de l’impulsion en microsecondes. La durée d’impulsion correspond au temps qu’il a fallu pour se rendre à l’objet plus le temps qu’il a fallu pour revenir.

Ensuite, nous calculons la distance à un objet, en tenant compte de la vitesse du son.

distance = (traveltime/2) x speed of sound

The speed of sound is: 343m/s = 0.0343 cm/uS = 1/29.1 cm/uS

Or in inches: 13503.9in/s = 0.0135in/uS = 1/74in/uS

Nous devons diviser le temps de trajet par 2 car nous devons considérer que l’onde a été envoyée, a heurté l’objet, puis est retournée au capteur.

cm = (duration/2) / 29.1;
inches = (duration/2) / 74;

Enfin, nous imprimons les résultats dans le Serial Monitor :

Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();

Code source avec la bibliothèque NewPing

Vous pouvez également utiliser la bibliothèque NewPing. Télécharger la bibliothèque ici.

Après avoir installé la bibliothèque NewPing, vous pouvez télécharger le code fourni ci-dessous.

/*
 * Posted on https://www.raspberryme.com
 * created by http://playground.arduino.cc/Code/NewPing
*/

#include <NewPing.h>
 
#define TRIGGER_PIN 11
#define ECHO_PIN 12
#define MAX_DISTANCE 200

// NewPing setup of pins and maximum distance
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); 
 
void setup() {
   Serial.begin(9600);
}
 
void loop() {
   delay(50);
   unsigned int distance = sonar.ping_cm();
   Serial.print(distance);
   Serial.println("cm");
}

Afficher le code brut

Comment fonctionne le code

Obtenir la distance à un objet à l’aide de la bibliothèque NewPing est beaucoup plus simple.

Vous commencez par inclure la bibliothèque NewPing :

#include <NewPing.h>

Ensuite, définissez le déclencheur et la broche d’écho. La broche de déclenchement est connectée à l’Arduino numérique Broche 11 et l’écho à Broche 12. Vous devez également définir le MAX_DISTANCE variable pour pouvoir utiliser la bibliothèque.

#define TRIGGER_PIN 11
#define ECHO_PIN 12
#define MAX_DISTANCE 200

Ensuite, vous créez un NouveauPing instance appelée sonar:

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

Dans le mettre en place(), vous initialisez la communication série à un débit en bauds de 9600.

Serial.begin(9600);

Enfin, dans le boucler(), il vous suffit d’utiliser le ping_cm() méthode sur le sonar objet pour obtenir la distance en centimètres.

unsigned int distance = sonar.ping_cm();

Si vous voulez obtenir la distance en pouces, vous pouvez utiliser sonar.ping_in() plutôt.

Manifestation

Arduino UNO Board HC-SR04 Module de capteur à ultrasons Démonstration Arduino

Téléchargez le code sur votre carte Arduino. Ensuite, ouvrez le moniteur série à un débit en bauds de 115 200.

1640967126 523 Guide complet du capteur a ultrasons HC SR04 avec Arduino

La distance jusqu’à l’objet le plus proche est imprimée dans la fenêtre Serial Monitor.

Moniteur série de démonstration Arduino avec capteur à ultrasons

Conclusion

Dans cet article, nous vous avons montré comment fonctionne le capteur à ultrasons HC-SR04 et comment vous pouvez l’utiliser avec la carte Arduino. Pour un exemple de projet, vous pouvez construire un capteur de stationnement avec des LED et un buzzer.

Si vous êtes un débutant sur l’Arduino, nous vous recommandons de suivre notre mini-cours Arduino qui vous aidera à démarrer rapidement avec cette incroyable carte.

Si vous aimez Arduino, vous aimerez aussi :

Vous pouvez trouver tous nos projets et tutoriels Arduino ici.

Nous espérons que vous avez trouvé ce tutoriel utile. Merci d’avoir lu.

  • AZDelivery 3 x Capteur à Ultrasons Module Compatible avec HC-SR04 Télémètre Compatible avec Arduino et Raspberry Pi y Compris Un eBook
    ✅ Mesure de distance par ultrasons de 2 cm à 3 m jusqu'à une précision d'environ 3 mm. ✅ Dimensions: 45 x 20 x 19 mm (largeur avec broches env. 26 mm). ✅ Jusqu'à 50 mesures par seconde. ✅ Faible consommation d'énergie (env. 2 mA par mesure, max. 100 mA par seconde). ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • ELEGOO 5 pièces HC-SR04 Module Ultrason de Capteur de Distance pour Mega Nano Robet XBee Zigbee Ultrasonic Module Distance Sensor
    Capteur Ultrason de Mesure de Distance HC-SR04 (Ultrasonic Module Distance Sensor) Le HC-SR04 comprend un émetteur ultrason, un récepteur et un circuit de contrôle. Quand il est activé, il émet des séries d'impulsion ultrasonique à 40 kHz et reçoit l'écho d’un objet. La distance entre le capteur et l’objet est calculée en mesurant le temps de trajet des ondes sonores ( au moyen d’une base temps TTL ) entre l'émission et la réception de l'écho Alimentation: 5Volt continu; Courant de repos: moins de 5mA; Angle effectif: moins de 15° Distance mesurée:de 2 cm à 300 cm; Résolution:0,3 cm Contenu du Paquet: 5 x Module HC-SR04 avec un petit cadeau
  • ARCELI HC-SR04 Capteur de transducteur de mesure de distance de module ultrasonique de distance de 5PCS pour Arduino
    Utilisez le port IO TRIG pour déclencher la télémétrie. Il nous faut au moins 10 signaux haut niveau. Le module peut envoyer automatiquement 8 ondes carrées pro 40 kz et vérifiera si un signal est renvoyé. Si un signal est renvoyé, émettez un signal de niveau haut via le port IO ECHO. La durée du signal de niveau haut est le temps écoulé entre l'émetteur et la réception avec les ultrasons. Distance d'essai = durée du niveau haut * vitesse du son (340 m / s) / 2 Courant statique (max): 2mA; niveau de sortie électrique: 5V haut; Distance de détection: 2cm-450cm; Haute précision: 2mm