APPLICATION : MESURER LA DISTANCE A L’AIDE D’ARDUINO ET CAPTEUR ULTRASONIQUE

Mesure de distance par la carte Arduino et capteur ultrasonique

Nous avons expliqué dans les articles précédents comment les robots mesurent les distances ; comment les robots pensent ; et c’est quoi la carte Arduino. Cet article contient le schéma de câblage et le programme Arduino pour mésurer la distance afin de vous guider pour bien réaliser une simple application pour afficher la distance mesurée en cm et en mm dans le moniteur sériede l’IDE d’Arduino.

1-Schéma de câblage :

Ce schéma du câblage ce n’est qu’une simple méthode pour brancher le capteur ultrasonique HC-SR04 avec la carte Arduino. C’est possible de connecter les pins du capteur ultrasonique TRIG et ECHO avec n’importe quels pins numériques de la carte Arduino. Il suffit de les déclarer dans le programme qui sera implémenté dans la carte de traitement.

Pin d’ArduinoPin de HC-SR04
Vcc (5V)Vcc
GNDGND
9TRIG
10ECHO

Ce schéma de câblage a été réalisé à l’aide de fritzing.

2-Programmation de la carte d’Arduino :



const byte TRIGGER = 9; // Broche TRIGGER du capteur ultrasonique HC-SR04
const byte ECHO = 10;    // Broche ECHO du capteur ultrasonique HC-SR04
 
/* Constantes pour le timeout */
const unsigned long MESURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s

/* Vitesse du son dans l'air en mm/us */
const float VIT_SON = 340.0 / 1000;

void setup() {
   
  Serial.begin(9600);
   
  /* Initialisation des broches */
  pinMode(TRIGGER, OUTPUT);
  digitalWrite(TRIGGER, LOW); // La broche TRIGGER doit être à 0 au repos
  pinMode(ECHO, INPUT);
}
 
void loop() {
  
  /* Lancer une mesure de distance en envoyant une impulsion de 10µs sur la broche TRIGGER */
  digitalWrite(TRIGGER, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGGER, LOW);
  
  /* Mesurer le temps entre l'envoi de l'impulsion ultrasonique et son écho */
  long mesure = pulseIn(ECHO, HIGH, MESURE_TIMEOUT);
   
  /* Calculer la distance à partir du temps mesuré */
  float distance_mm = mesure / 2.0 * VIT_SON;
   
  /* Afficher les résultats en mm et en cm */
  Serial.print(F("Distance: "));
  Serial.print(distance_mm);
  Serial.print(F("mm "));
  Serial.print(distance_mm / 10.0, 2);
  Serial.println(F("cm, "));
   
}

3-Résultats :

Résultat de mesure de la distance

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *