Schéma de connexion et code d'exemple pour Arduino du capteur de distance HC-SR04 :

Matériaux nécessaires:

  1. Connectez le GND du capteur de distance en utilisant un fil de raccordement sur la broche GND de l'Arduino.
  2. Connectez le VCC du capteur de distance en utilisant un fil de raccordement sur le 5V de l'Arduino.
  3. Connectez la broche TRIG du capteur de distance à la broche 9 de l'Arduino en utilisant un fil de raccordement.
  4. Connectez la broche ECHO à la broche 10 de l'Arduino en utilisant un fil de raccordement. Téléversez le code sur l'Arduino.
  5. Ouvrez le moniteur série en appuyant sur la combinaison de touches: CTRL + SHIFT + M.
  6. Réglez le bouton du milieu en bas à droite sur une vitesse de transmission de 9600 bauds.

Vous verrez maintenant la distance du capteur au premier objet devant le capteur dans le moniteur série. Ceci fonctionne parce que le capteur émet des ondes ultrasonores. Ces ondes se déplacent dans l'air et lorsqu'elles frappent un objet, elles sont renvoyées par l'objet. Le capteur capte ensuite ces ondes et mesure le temps entre l'émission et la réception de ces ondes. Le capteur peut le faire rapidement car les ondes se déplacent à une vitesse de 343 mètres par seconde dans l'air.

Schéma de connexion

Code d'exemple pour Arduino


Code d'exemple pour Arduino

// Définir les broches pour le HC-SR04
const int trigPin = 9; // définit la broche sur laquelle la gâchette du capteur est connectée
const int echoPin = 10; // définit la broche sur laquelle l'écho du capteur est connecté

// Définir les variables
long duration; // variable pour le temps nécessaire à l'écho du capteur pour revenir
int distance; // variable pour la distance que nous allons mesurer

void setup() {
// Allumer le moniteur série
Serial.begin(9600); // démarre la communication série avec un débit de 9600 bauds

// Définir les broches en entrée ou en sortie
pinMode(trigPin, OUTPUT); // configure la broche de déclenchement en sortie
pinMode(echoPin, INPUT); // configure la broche d'écho en entrée
}

void loop() {
// Envoyer un signal à la broche de déclenchement
digitalWrite(trigPin, LOW); // éteint la broche de déclenchement
delayMicroseconds(2); // attendre 2 microsecondes
digitalWrite(trigPin, HIGH); // envoie un signal à la broche de déclenchement, une onde est émise
delayMicroseconds(10); // attendre 10 microsecondes
digitalWrite(trigPin, LOW); // éteint la broche de déclenchement

duration = pulseIn(echoPin, HIGH);// Mesurer le temps entre l'envoi et la réception du signal

distance = duration * 0.034 / 2; // calculer la distance en centimètres avec la formule : distance = (temps * vitesse du son) / 2

Serial.print("Distance : "); // afficher le texte "Distance :" sur le moniteur série
Serial.print(distance); // afficher la distance calculée sur le moniteur série
Serial.println(" cm"); // afficher le texte "cm" sur le moniteur série et passer à la ligne suivante

delay(500); // attendre 500 millisecondes avant de recommencer la mesure
}