Description
Module Ultrasonique Détection de Distance HY-SRF05
Le module HY-SRF05 est un capteur de distance à ultrasons qui utilise des ondes sonores pour mesurer la distance à un objet. Ce capteur offre une mesure de distance précise de 2 cm à 450 cm avec une précision d’environ 3 mm, et est capable de surmonter de nombreuses faiblesses des capteurs à infrarouges pour des applications variées.
Caractéristiques détaillées
- Tension de fonctionnement: 5V DC
- Courant de fonctionnement: 10 à 40mA
- Fréquence de fonctionnement: 40 kHz
- Angle de détection: 15 degrés
- Distance de mesure: 2 cm à 450 cm
- Précision: ± 3 mm
- Dimensions: 45 x 20 x 15 mm
Fonctionnement
Le capteur HY-SRF05 fonctionne en envoyant une impulsion ultrasonique via un émetteur, et en mesurant le temps que met cette impulsion pour être réfléchie par un objet et revenir au récepteur. Le temps de retour est alors utilisé pour calculer la distance à l’objet.
Applications
- Robotique: Évitement d’obstacles
- Systèmes de sécurité: Détection de présence
- Projets de bricolage: Mesure de distance et surveillance
- Automatisation industrielle: Contrôle et détection d’objets
Utilisation avec Arduino Uno
Composants nécessaires (Code de base)
- 1 x Capteur HY-SRF05
- 1 x Arduino Uno
- Fils de connexion
- Breadboard
Exemple de code (Code de base)
#define TRIG_PIN 2
#define ECHO_PIN 3
long duration;
int distance;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration / 29 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}
Explication détaillée du code (Code de base)
- Initialisation des pins: Les broches
TRIG_PIN
etECHO_PIN
sont configurées respectivement comme sortie et entrée. - Envoi du signal ultrasonique: Une impulsion de 10 µs est envoyée sur la broche
TRIG_PIN
pour déclencher l’émission d’ultrasons. - Mesure du temps: Le temps de retour de l’écho est mesuré sur la broche
ECHO_PIN
. - Calcul de la distance: La distance est calculée en divisant la durée par 29 puis par 2 pour obtenir la distance en centimètres.
Brochage (Code de base)
- Trig: Connecté à la broche 2 de l’Arduino
- Echo: Connecté à la broche 3 de l’Arduino
- VCC: Connecté à la broche 5V de l’Arduino
- GND: Connecté à la broche GND de l’Arduino
Composants nécessaires (Code avancé)
- 1 x Capteur HY-SRF05
- 1 x Arduino Uno
- 1 x Écran LCD I2C 1602
- Fils de connexion
- Breadboard
Exemple de code (Code avancé avec écran LCD I2C 1602)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define TRIG_PIN 2
#define ECHO_PIN 3
long duration;
int distance;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
lcd.begin();
lcd.backlight();
Serial.begin(9600);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration / 29 / 2;
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm");
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}
Explication détaillée du code (Code avancé)
- Initialisation des bibliothèques: Utilisation des bibliothèques
Wire
etLiquidCrystal_I2C
pour l’écran LCD. - Initialisation des pins et de l’écran: Configuration des pins et initialisation de l’écran LCD.
- Boucle principale: Mesure de la distance et affichage des résultats sur l’écran LCD et le moniteur série.
Brochage (Code avancé)
- Trig: Connecté à la broche 2 de l’Arduino
- Echo: Connecté à la broche 3 de l’Arduino
- VCC: Connecté à la broche 5V de l’Arduino
- GND: Connecté à la broche GND de l’Arduino
- SDA (LCD): Connecté à la broche A4 de l’Arduino
- SCL (LCD): Connecté à la broche A5 de l’Arduino
Installation de Drivers/bibliothèques (Codes de base et avancé)
- Bibliothèque LiquidCrystal_I2C:
- Ouvrez l’IDE Arduino.
- Allez dans le menu Sketch > Include Library > Manage Libraries.
- Recherchez “LiquidCrystal_I2C” et installez la bibliothèque développée par Frank de Brabander.
Différences entre SR04 et SRF05:
- Distance de Mesure:
- HC-SR04 : Mesure des distances entre 2 cm et 400 cm.
- HY-SRF05 : Mesure des distances entre 2 cm et 450 cm. Il a une portée légèrement supérieure au HC-SR04.
- Précision:
- Les deux capteurs offrent une précision similaire d’environ ±3 mm.
- Brochage:
- HC-SR04 : Possède 4 broches (VCC, GND, TRIG, ECHO).
- HY-SRF05 : Possède 5 broches (VCC, GND, TRIG, ECHO, OUT). La broche supplémentaire (OUT) peut être utilisée pour simplifier les connexions dans certains cas, mais elle n’est pas toujours utilisée dans les applications basiques.
- Consommation de Courant:
- HC-SR04 : Consomme généralement environ 15 mA.
- HY-SRF05 : Consomme entre 10 et 40 mA, en fonction de l’utilisation et des conditions de fonctionnement.
- Modes de Fonctionnement:
- HY-SRF05 : Peut fonctionner en mode de déclenchement simple comme le HC-SR04, mais offre également un mode d’opération continu où il génère automatiquement des impulsions ultrasoniques sans nécessiter de signal de déclenchement externe. Cette fonctionnalité n’est pas présente dans le HC-SR04.
- Compatibilité et Utilisation:
- Les deux capteurs sont largement compatibles avec les plateformes de développement comme Arduino et Raspberry Pi. Cependant, le HY-SRF05 peut offrir des options supplémentaires pour des applications plus complexes ou spécifiques en raison de sa broche supplémentaire et de ses modes de fonctionnement étendus.
En résumé, le HY-SRF05 offre une portée légèrement supérieure, une flexibilité d’utilisation accrue avec une broche supplémentaire et des modes de fonctionnement supplémentaires par rapport au HC-SR04, qui reste un capteur fiable et plus simple pour des applications basiques de mesure de distance.
Mots clés: ultrasonic, ranging, range, sr04, srf05, sensor, sonar.