Schéma de connexion et code d'exemple pour Arduino du capteur de distance HC-SR04 et SR04M-2 :
Matériel requis :
- Carte Arduino Uno
- Capteur de distance ultrasonique HC-SR04 ou SR04M-2 capteur de distance
- Câbles de connexion
- Connectez le fil GND du capteur de distance à la broche GND de l'Arduino en utilisant un câble de connexion.
- Connectez le fil VCC du capteur de distance à la broche 5V de l'Arduino en utilisant un câble de connexion.
- Connectez la broche TRIG ou RX du capteur de distance à la broche 9 de l'Arduino en utilisant un câble de connexion.
- Connectez la broche ECHO ou TX à la broche 10 de l'Arduino en utilisant un câble de connexion.
- Téléversez le code sur l'Arduino.
- Ouvrez le moniteur série en appuyant sur la combinaison de touches CTRL+MAJ+M.
- Définissez la vitesse de transmission (baud rate) sur 9600 bauds en utilisant le bouton du milieu en bas à droite.
Vous verrez maintenant la distance entre le capteur et le premier objet devant le capteur sur le moniteur série. Cela fonctionne en émettant des ondes ultrasoniques. Ces ondes se déplacent dans l'air et lorsqu'elles rencontrent un objet, elles sont réfléchies par l'objet. Le capteur capte ensuite ces ondes réfléchies et mesure le temps écoulé entre l'émission et la réception de ces ondes. Le capteur peut le faire rapidement car les ondes se déplacent à une vitesse impressionnante de 343 mètres par seconde dans l'air.
Schéma de connexion
Exemple de code pour Arduino
// Définir les broches pour les capteurs
const int trigPin = 9; // Définit la broche à laquelle le déclencheur du capteur est connecté
const int echoPin = 10; // Définit la broche à laquelle l'écho du capteur est connecté
// Définir les variables
long duration; // Variable pour la durée nécessaire à l'écho du capteur pour revenir
int distance; // Variable pour la distance que nous allons mesurer
void setup() {
// Active le moniteur série
Serial.begin(9600); // Démarre la communication série avec une vitesse de 9600 bauds
// Définit les broches en tant qu'entrée ou 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() {
// Envoie un signal à la broche trigPin
digitalWrite(trigPin, LOW); // Éteint trigPin
delayMicroseconds(50); // Attend 50 microsecondes
digitalWrite(trigPin, HIGH); // Envoie un signal à trigPin, une onde est émise
delayMicroseconds(200); // Attend 200 microsecondes
digitalWrite(trigPin, LOW); // Éteint la broche de déclenchement
duration = pulseIn(echoPin, HIGH); // Mesure le temps entre l'envoi et la réception du signal
distance = duration * 0.034 / 2; // Calcule la distance en centimètres avec la formule : distance = (temps * vitesse du son) / 2
Serial.print("Distance : "); // Affiche le texte "Distance :" sur le moniteur série
Serial.print(distance); // Affiche la distance calculée sur le moniteur série
Serial.println(" cm"); // Affiche le texte "cm" sur le moniteur série et passe à la ligne suivante
delay(500); // Attend 500 millisecondes avant de recommencer la mesure
}