Arduino, Tutoriels

Comment utiliser HC-SR04 capteur ultrason avec Arduino

Hc-Sr04 Capteur Ultrason Avec Arduino

Capteur ultrason HC-SR04

HC-SR04 capteur ultrasonique est principalement utilisé pour la mesure de distance. En émettant des ondes ultrasoniques et en mesurant le temps pris par ces ondes pour rebondir après avoir frappé un objet, le HC-SR04 peut déterminer avec précision la distance à laquelle cet objet se trouve.

De par son coût abordable et sa facilité d’intégration avec des plateformes telles qu’Arduino, le HC-SR04 est devenu un choix prisé parmi les amateurs de bricolage et les professionnels, notamment au sein des communautés où les projets basés sur Arduino sont en hausse.

Comment Utiliser Hc-Sr04 Capteur Ultrason Avec Arduino
HC-SR04

Capteur ultrason hc-sr04 fonctionnement

Le fonctionnement de l’HC-SR04 est assez simple. Il comporte deux éléments principaux : un émetteur ultrasonique et un récepteur ultrasonique. Voici les étapes clés du fonctionnement du capteur :

  1. Lorsque le capteur est alimenté, l’émetteur envoie une impulsion ultrasonique à une fréquence spécifique (généralement de 40 kHz).
  2. Lorsque cette impulsion sonore atteint un objet, elle rebondit et est renvoyée vers le récepteur ultrasonique comme un écho.
  3. Le récepteur mesure le temps entre le moment où l’impulsion a été émise et celui où l’écho a été reçu.
  4. En utilisant la vitesse connue du son dans l’air (environ 343 m/s ou 34,3 cm/µs) et la durée de l’écho mesurée, le capteur calcule la distance jusqu’à l’objet en utilisant la formule : distance = (durée de l’écho / 2) * vitesse du son.
  5. Le résultat est ensuite converti en une distance numérique et envoyé au Arduino via une sortie numérique.

Domaine d’utilisation

  • Robots d’évitement d’obstacles : Ces robots utilisent le HC-SR04 pour détecter les obstacles sur leur chemin et les contourner. En interférant le capteur avec un arduino nano hc-sr04 par exemple, les créateurs peuvent construire des robots compacts dotés de capacités de détection d’obstacles efficaces.
  • Capteurs de stationnement : Les systèmes de stationnement DIY utilisent le HC-SR04 pour déterminer à quelle distance une voiture est des objets, aidant ainsi les conducteurs à se garer en toute sécurité.
  • Mesure du niveau de liquide : En plaçant le capteur HC-SR04 au-dessus d’un réservoir ou d’un conteneur, il est possible de mesurer le niveau de liquide à l’intérieur, en envoyant les données à un Arduino pour traitement et affichage.
  • Installations artistiques interactives : Dans le domaine de l’art interactif, la combinaison HC-SR04 et Arduino a été utilisée pour créer des installations qui réagissent à la proximité des spectateurs.

Que vous soyez au Maroc, explorant les projets arduino maroc, ou n’importe où ailleurs dans le monde, HC-SR04 Arduino offre plusieurs possibilités d’applications créatives et pratiques.

Plage de distances que le capteur HC-SR04 peut mesurer

HC-SR04 capteur ultrasonique est conçu pour mesurer des distances allant d’environ 2 centimètres à 400 centimètres. Cette plage polyvalente en fait un composant idéal pour une variété de projets, en particulier lorsqu’il est combiné avec des cartes de développements telles qu’Arduino.

Spécifications techniques du HC-SR04 capteur ultrason Arduino

Hc-Sr04 Capteur Ultrason Avec Arduino
  1. Tension de fonctionnement : 5V DC, compatible avec la plupart des carte, y compris Arduino.
  2. Courant statique : Typiquement inférieur à 2mA, garantissant une faible consommation d’énergie en veille.
  3. Signal de sortie : Signal numérique avec une largeur d’impulsion proportionnelle à la distance mesurée.
  4. Fréquence de fonctionnement : 40 kHz, fréquence à laquelle les ondes ultrasoniques sont émises.
  5. Plage mesurable : De 2 cm à 400 cm.
  6. Résolution : Jusqu’à 0,3 cm.
  7. Angle d’efficacité : Environ 15 degrés, permettant un cône de mesure ciblé.
  8. Signal d’entrée de déclenchement : Impulsion TTL de 10µs.
  9. Signal de sortie d’écho : Impulsion TTL de sortie dont la largeur est proportionnelle à la distance mesurée.
  10. Température de fonctionnement : De -20°C à 70°C, garantissant une fonctionnalité dans diverses conditions environnementales.
  11. Dimensions : Typiquement environ 45 mm x 20 mm x 15 mm, bien que cela puisse varier légèrement selon le fabricant.

Les broches du HC-SR04 capteur ultrason Arduino

Alimentation 12V 3A 90
BrocheDescription
VCCIl s’agit de la broche d’alimentation. Elle nécessite généralement une entrée de 5V DC, la rendant compatible avec des cartes comme Arduino.
Trig (Déclenchement)Cette broche est utilisée pour initier le capteur à émettre une onde ultrasonique. En envoyant une impulsion haute d’au moins 10µs à cette broche, le HC-SR04 émettra une série de 8 cycles de son ultrasonique à 40 kHz.
EchoUne fois l’onde ultrasonique émise et qu’elle rebondit après avoir frappé un objet, la broche Echo fournit une impulsion de sortie. La largeur de cette impulsion est proportionnelle à la distance de l’objet par rapport au capteur.
En mesurant la durée de cette impulsion, Arduino peut déterminer la distance jusqu’à l’objet.
GND (Masse)Cette broche est connectée à la masse du circuit.

Le montage

Pour connecter le capteur HC-SR04 à une carte Arduino, suivez ces étapes :

  1. Connectez la broche VCC du HC-SR04 à la broche 5V sur la carte arduino uno. Cela assure que le capteur reçoit la puissance nécessaire pour son fonctionnement.
  2. Reliez la broche GND (Masse) du HC-SR04 à l’une des broches de masse (GND) d’ Arduino. Cela établit une masse électrique commune entre le capteur et arduino.
  3. Connectez la broche Trig du HC-SR04 à une broche numérique d’Arduino, par exemple, la broche D12. Cette broche est responsable de l’envoi d’un signal pour déclencher le capteur afin qu’il émette son onde ultrasonique.
  4. Reliez la broche Echo du HC-SR04 à une autre numérique sur l’Arduino, comme la broche D11. Cette broche détecte l’onde ultrasonique de retour une fois qu’elle se réfléchit sur un objet.

Pour ceux qui utilisent des modèles spécifiques d’Arduino comme arduino nano hc-sr04, le processus de connexion reste largement le même, garantissant la compatibilité entre les différentes cartes Arduino.

Hc-Sr04&Nbsp;Capteur Ultrason Avec Arduino

Le code HC-SR04 capteur ultrason

// defines pins numbers 

const int trigPin = 12; 

const int echoPin = 11; // defines variables 

long duration; 

int distance; 

void setup() 

{

 pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output 

pinMode(echoPin, INPUT); // Sets the echoPin as an Input 

Serial.begin(9600); // Starts the serial communication

 } 

void loop() 

{ 

// Clears the trigPin 

digitalWrite(trigPin, LOW); 

delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds 

digitalWrite(trigPin, HIGH); 

delayMicroseconds(10); 

digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds 

duration = pulseIn(echoPin, HIGH); // Calculating the distance 

distance = duration * 0.034 / 2; // Prints the distance on the Serial Monitor 

Serial.print("Distance: "); 

Serial.println(distance); 

}

Explication programme arduino capteur ultrason hc-sr04

Le code ci-dessus est un exemple de programme Arduino qui utilise le capteur HC-SR04 pour mesurer les distances. Il utilise des fonctions intégrées d’Arduino pour envoyer et recevoir des signaux, ainsi que pour effectuer des calculs simples.

// définition des numéros de broches 

const int trigPin = 9; 

const int echoPin = 10;

Ici, les broches auxquelles les broches Trig et Echo du HC-SR04 sont connectées sur la carte Arduino sont définies. Ces broches sont réglées sur 9 et 10 respectivement, mais elles peuvent être ajustées en fonction de la configuration de l’utilisateur.

// définition des variables

 long duration; 

int distance;

Deux variables, duration et distance, sont déclarées. duration stockera le temps (en microsecondes) nécessaire pour que l’impulsion ultrasonique se rende à un objet et revienne. distance stockera la distance calculée jusqu’à l’objet.

void setup() {

 pinMode(trigPin, OUTPUT); // Définit le trigPin comme sortie 

pinMode(echoPin, INPUT); // Définit le echoPin comme entrée

 Serial.begin(9600); // Commence la communication série 
}

Dans la fonction setup(), le mode des broches est défini. Le trigPin est défini comme OUTPUT car il envoie l’impulsion ultrasonique. Le echoPin est défini comme INPUT car il lit l’impulsion de retour. La communication série est également démarrée avec un débit de 9600 pour afficher les résultats.

void loop() { // Efface le trigPin 
digitalWrite(trigPin, LOW); 
delayMicroseconds(2); // Met le trigPin à l'état HIGH pendant 10 microsecondes 
digitalWrite(trigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(trigPin, LOW); // Lit le echoPin, renvoie le temps de trajet de l'onde sonore en microsecondes 
duration = pulseIn(echoPin, HIGH); // Calcul de la distance 
distance = duration * 0.034 / 2; // La vitesse du son est d'environ 0.034 cm par microseconde 
// Affiche la distance sur le moniteur série 
Serial.print("Distance: "); 
Serial.println(distance); 
} 

La fonction loop() contient la logique principale du programme :

  • Une impulsion ultrasonique est envoyée depuis le trigPin.
  • Le echoPin écoute l’impulsion de retour.
  • Le temps pris pour l’impulsion à voyager est stocké dans duration.
  • La distance est calculée en fonction de la vitesse du son dans l’air.
  • La distance calculée est affichée sur le moniteur série de l’Arduino.

Affichage des lectures du capteur ultrasonique sur un afficheur LCD 16×2 avec I2C

Hc-Sr04 Capteur Ultrason Avec Arduino

Améliorer vos projets Arduino avec un retour visuel peut offrir une expérience plus interactive. Une façon d’y parvenir est d’afficher les lectures du capteur ultrasonique HC-SR04 directement sur un LCD. Dans ce segment, nous allons explorer comment vous pouvez montrer les mesures de distance sur un LCD I2C.

Connexions :

Avant de plonger dans le code, il est essentiel de s’assurer que vos composants sont correctement connectés :

  • Capteur ultrasonique HC-SR04, comme précédemment décrit.
  • Pour le LCD I2C, connectez la broche SDA à la broche A4 de l’Arduino et la broche SCL à la broche A5 de l’Arduino. Assurez-vous également de connecter le VCC à 5V et GND à la masse.
Hc-Sr04 Capteur Ultrason Avec Arduino
Comment Utiliser Hc-Sr04 Capteur Ultrason Avec Arduino 12

Code Arduino avec intégration d’afficheur LCD avec I2C :

Pour faciliter l’affichage des mesures de distance sur le LCD, nous utiliserons la bibliothèque LiquidCrystal_I2C. Si vous ne connaissez pas la configuration d’un LCD I2C avec Arduino, de nombreux tutoriels sont disponibles pour vous guider à travers le processus.

#include <Wire.h> 

#include <LiquidCrystal_I2C.h> // Inclure la bibliothèque LiquidCrystal_I2C 

LiquidCrystal_I2C lcd(0x27, 16, 2); // Définissez l'adresse I2C du LCD à 0x27 pour un affichage de 16 caractères et 2 lignes 

const int trigPin = 9; 

const int echoPin = 10; 

long duration; 

int distanceCm, distanceInch; 

void setup() 

{ 

lcd.init(); // Initialise le LCD 

lcd.backlight(); // Allume le rétroéclairage pinMode(trigPin, OUTPUT); 

pinMode(echoPin, INPUT); 

} 

void loop() 

{ 

digitalWrite(trigPin, LOW); 

delayMicroseconds(2); 

digitalWrite(trigPin, HIGH); 

delayMicroseconds(10); 

digitalWrite(trigPin, LOW); 

duration = pulseIn(echoPin, HIGH); 

distanceCm = duration * 0.034 / 2;

 distanceInch = duration * 0.0133 / 2;

 lcd.setCursor(0, 0);

 lcd.print("Dist: ");

 lcd.print(distanceCm);

 lcd.print(" cm"); 

lcd.setCursor(0, 1);

 lcd.print("Dist: ");

 lcd.print(distanceInch);

 lcd.print(" pouce"); 

delay(500); // Taux de rafraîchissement de 500ms 

}

Avec ce code, les mesures du capteur HC-SR04 sont élégamment affichées en centimètres et en pouces sur le LCD. Cette représentation visuelle offre une manière intuitive de comprendre les données, améliorant l’expérience utilisateur globale de votre projet « hc-sr04 arduino ».

Amélioration de la précision du capteur de distance HC-SR04 avec la compensation de la température et de l’humidité DHT22

Hc-Sr04 Capteur Ultrason Avec Arduino

L’une des caractéristiques intrigantes de la configuration HC-SR04 Arduino est sa capacité à fournir des mesures de distance relativement précises. Cependant, la précision de ces mesures peut varier en fonction des conditions environnementales. Le principe derrière le capteur HC-SR04 repose sur la vitesse du son, qui peut fluctuer en fonction de la température et de l’humidité ambiantes.

À une température standard de 20°C, le son se déplace à environ 340m/s. En revanche, lorsque la température chute à -20°C, la vitesse diminue à environ 315m/s. De plus, la vitesse est également légèrement affectée par l’humidité relative de l’environnement. Pour ceux qui cherchent à déployer la configuration « arduino nano hc-sr04 » dans divers climats ou conditions, il devient essentiel de tenir compte de ces variations.

Pour obtenir une mesure plus raffinée et cohérente, nous pouvons incorporer des données d’un capteur DHT22, réputé pour ses lectures précises de température et d’humidité. En ajustant la vitesse du son en fonction des données environnementales en temps réel, nous pouvons améliorer la précision de nos mesures de distance ultrasonique.

La relation entre la vitesse du son, la température et l’humidité peut être représentée par :

\text{Vitesse} = 331,4 + 0,6 \times \text{Température} + 0,0124 \times \text{Humidité_Relative}

Implémentation avec Arduino

Dans cette approche, nous allons combiner les capacités du capteur ultrasonique HC-SR04 et du capteur DHT22.

Le DHT22 fournira les données essentielles de température et d’humidité, nous permettant d’ajuster efficacement nos mesures de distance.

Code Arduino

#include <NewPing.h>
#include "dht.h"

#define TRIGGER_PIN  9
#define ECHO_PIN     10
#define MAX_DISTANCE 400
#define dht22 5 // Broche du capteur DHT22

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
dht DHT;

int readDHT, temp, hum;
float speedOfSound, distance, duration;

void setup() {
  Serial.begin(9600);
}

void loop() {
  delay(100);

  // Acquisition des données de température et d'humidité du DHT22
  readDHT = DHT.read22(dht22);
  temp = DHT.temperature;
  hum = DHT.humidity;

  // Ajustement de la vitesse du son en fonction des conditions environnementales
  speedOfSound = 331.4 + (0.6 * temp) + (0.0124 * hum);

  duration = sonar.ping_median(10) / 1000000; // Conversion en secondes
  distance = (speedOfSound * duration) / 2 * 100; // Conversion de mètres à centimètres

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println("cm");
}

Ce code récupère d’abord les valeurs de température et d’humidité du DHT22. À l’aide de ces valeurs, il recalcule la vitesse du son. La vitesse ajustée est ensuite utilisée pour obtenir des mesures de distance précises, fournissant des résultats plus cohérents et précis pour vos projets « hc-sr04 arduino »,

Video explicatif

Liens outilles

  1. Téléchargement de l’Arduino IDE : https://www.arduino.cc/en/software
  2. GitHub Arduino Repository : https://github.com/arduino/Arduino/

Pour découvrir plus de tutoriel, vous pouvez consulter notre bloc https://www.moussasoft.com/tutoriels-electroniques

One thought on “Comment utiliser HC-SR04 capteur ultrason avec Arduino

  1. Lys dit :

    Merci beaucoup pour plus d’explication
    J’ai besoin de savoir comment fonctionne une barrière routière en ayant un capteur ou un détecteur ultrasons. Merci

Laisser un commentaire