Cet article est un guide sur le capteur ultrason Arduino 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 pour mieux l’intégrer à vos projets à vous. Nous fournissons un diagramme schématique sur la façon de câbler le capteur à ultrasons et un exemple de croquis avec l’Arduino.
Description du capteur ultrason Arduino
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 est bon pour la plupart des projets amateurs. De plus, ce module particulier est livré avec des modules émetteur et récepteur à ultrasons.
L’image suivante montre le capteur à ultrasons HC-SR04.
La photo suivante montre l’autre côté du capteur.
Caractéristiques du capteur ultrason Arduino
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
- Erreur de précision : 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 entre lui et un objet. Voici ce qui se passe en réalité :
- L’émetteur à ultrasons (trig pin) émet un son à haute fréquence (40 kHz).
- Le son se propage dans l’air. S’il trouve un objet, il rebondit vers le module.
- Le récepteur à ultrasons (broche d’écho) reçoit le son réfléchi (écho).
Le temps entre l’émission et la réception du signal nous permet de calculer la distance à un objet. Ceci est possible car nous connaissons la vitesse du son dans l’air. Voici la formule :
distance jusqu'à l'objet = ((vitesse du son dans l'air)*temps)/2
- vitesse du son dans l’air à 20ºC (68ºF) = 343m/s
Brochage du capteur à ultrasons HC-SR04
Voici le brochage du capteur à ultrasons HC-SR04.
VCC | Alimente le capteur (5V) |
Trig | Broche d’entrée de déclenchement |
Écho | Broche de sortie d’écho |
GND | Masse commune |
Où acheter?
Vous pouvez consulter le capteur Ultrasonic Sensor HC-SR04 sur Amazon pour trouver le meilleur prix :
Branchement Arduino & capteur ultrason HC-SR04
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 vous rendre directement sur Amazon pour trouver toutes les pièces de vos projets au meilleur prix !
Câblage Arduino avec capteur HC-SR04
Suivez le diagramme schématique suivant pour câbler le capteur à ultrasons HC-SR04 à l’Arduino.
Le tableau suivant indique les connexions que vous devez effectuer :
Capteur à ultrasons HC-SR04 | Arduino |
VCC | 5V |
Trig | Broche 11 |
Écho | Broche 12 |
GND | GND |
Code
Téléchargez le code suivant dans votre IDE Arduino.
int trigPin = 11; // Trigger
int echoPin = 12; // Echo
long durée, cm, pouces;
void setup() {
//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Le capteur est déclenché par une impulsion HIGH de 10 microsecondes ou plus.
// Donnez une courte impulsion BAS au préalable pour garantir une impulsion HAUT propre :
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lire le signal du capteur : une impulsion HAUT dont la durée
// dont la durée est le temps (en microsecondes) qui s'écoule entre l'envoi
// de l'envoi du ping à la réception de son écho sur un objet.
pinMode(echoPin, INPUT);
durée = pulseIn(echoPin, HIGH);
// Convert the time into a distance
cm = (durée/2) / 29.1; // Diviser par 29,1 ou multiplier par 0,0343
pouces = (durée/2) / 74; // Diviser par 74 ou multiplier par 0,0135
Serial.print(pouces);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(250);
}
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 échoPin, respectivement. La broche de déclenchement est connectée au numérique pin11, et la broche d’écho est connectée à pin12 :
int trigPin = 11;
int echoPin = 12;
Vous créez également trois variables de type long : durée et pouces. La variable « durée » permet de gagner du temps entre l’émission et la réception du signal. La variable « cm » enregistrera la distance en centimètres, et la variable « pouces » enregistrera la distance en pouces.
long durée, cm, pouces;
Dans le setup(), initialisez le port série à un débit en bauds de 9600 et définissez la broche de déclenchement comme OUTPUT et la broche d’écho comme INPUT.
//Serial Port begin
Serial.begin (9600);
//Définir les entrées et les sorties
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Dans le Loop(), déclenchez le capteur en envoyant une impulsion HIGH de 10 microsecondes. Mais, avant cela, donnez une courte impulsion LOW pour vous assurer d’obtenir une bonne impulsion HIGH:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Nous utilisons la fonction pulseIn() pour obtenir le temps de parcours de l’onde sonore :
durée = pulseIn(echoPin, HIGH);
La fonction pulseIn() lit une impulsion HIGH ou LOW sur une broche. Il accepte comme arguments la broche et l’état de l’impulsion (soit HIGH soit LOW). Il renvoie la durée de l’impulsion en microsecondes. La durée de l’impulsion correspond au temps mis pour se rendre à l’objet plus le temps parcouru au retour.
distance = (temps de trajet/2) x vitesse du son La vitesse du son est : 343m/s = 0,0343 cm/uS = 1/29,1 cm/uS Ou en pouces : 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 frappé l’objet, puis est revenue au capteur.
cm = (durée/2) / 29.1;
pouces = (durée/2) / 74;
Enfin, nous imprimons les résultats dans le Serial Monitor :
Serial.print(pouces);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
Résultat
Téléchargez le code sur votre carte Arduino. Ensuite, ouvrez le moniteur série.
La distance à l’objet le plus proche est imprimée dans la fenêtre Serial Monitor.
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 avec l’Arduino, nous vous recommandons de suivre notre mini-cours Arduino qui vous aidera à démarrer rapidement avec cette incroyable carte.
Vous pouvez trouver tous nos projets et tutoriels Arduino ici .
Laisser un commentaire