Cours:DistanceUltrasons

De troyesGEII
Aller à la navigation Aller à la recherche

Retour à la liste des Tps

Éléments de correction

Nous utiliserons une carte arduino nano, votre shield et le capteur à ultrasons HC-SR04.

Capteur de distance à ultrasons


Le télémètres HC-SR04, utilisent les ultrasons pour mesurer la distance à laquelle se trouve un objet. Ce capteur offre de très bonnes plages de mesures et une bonne réactivité.

En cas d'erreur dans le sens de branchement du capteur sur le shield, celui-ci sera immédiatement détruit. Il faut le placer comme la sérigraphie du shield l'indique

Fonctionnement :


Un signal de 10 µs est envoyé sur la broche Trigger pour émettre des ultrasons à 40 kHZ via la capsule émettrice du module.

La seconde capsule, installée sur le module, permet de réceptionner les ultrasons retournés par l’objet. Cette information est envoyée vers une E/S digitale de la carte microcontrôleur via la broche Echo.

Dans un premier temps vous allez utiliser l'instruction Arduino pulseIn pour déduire la distance.
Configurez le programme ci-dessous en fonction de la sérigraphie de votre shield

Déterminez le coefficient pour calculer la distance.

Vérifiez le fonctionnement du programme


#define Broche_Echo    ??? // Broche Echo du HC-SR04 sur D??? //
#define Broche_Trigger ??? // Broche Trigger du HC-SR04 sur D??? //
// Definition des variables
int MesureMaxi = 300;  // Distance maxi a mesurer //
int MesureMini = 3;    // Distance mini a mesurer //
long Duree;
long Distance;
void setup() {
  pinMode(Broche_Trigger, OUTPUT);  // Broche Trigger en sortie //
  pinMode(Broche_Echo, INPUT);      // Broche Echo en entree //
  Serial.begin(115200);
}
void loop() {
  // Debut de la mesure avec un signal de 10 µS applique sur TRIG //
  digitalWrite(Broche_Trigger, LOW);  // On efface l'etat logique de TRIG //
  delayMicroseconds(2);
  digitalWrite(Broche_Trigger, HIGH);  // On met la broche TRIG a "1" pendant 10µS //
  delayMicroseconds(10);
  digitalWrite(Broche_Trigger, LOW);  // On remet la broche TRIG a "0" //
  // On mesure combien de temps le niveau logique haut est actif sur ECHO //
  Duree = pulseIn(Broche_Echo, HIGH); // *** Durée en microsecondes *** //
  // Calcul de la distance grace au temps mesure //
  Distance = Duree * ???;  // *** On rappelle que la vitesse du son dans l'air est d'environ 343 mètres par seconde (soit environ 1 234 km/h) à une température de 20 °C *** //
  // Verification si valeur mesuree dans la plage //
  if (Distance >= MesureMaxi || Distance <= MesureMini) {
    // Si la distance est hors plage, on affiche un message d'erreur //
    Serial.println("Distance de mesure en dehors de la plage (3 cm à 3 m)");
  } else {
    // Affichage dans le moniteur serie de la distance mesuree //
    Serial.print("Distance mesuree :");
    Serial.print(Distance);
    Serial.println("cm");
  }
  delay(1000);  // On ajoute 1 seconde de delais entre chaque mesure //
}

Utilisation de la fonction micros()

À l’aide d’une première boucle while, attendre le front montant du signal echo et relever le temps initial en microsecondes. Puis, à l’aide d’une seconde boucle while, attendre le front descendant du signal echo et en déduire la durée de l’impulsion.


Comparer les deux méthodes.

Comptage et décomptage de personnes

Un peu de culture

Le Centre Pompidou, situé au cœur de Paris et inauguré en 1977, est un centre culturel consacré à l’art moderne et contemporain. Conçu par les architectes Renzo Piano et Richard Rogers, il se distingue par son architecture originale, avec ses structures, ses tuyauteries colorées et ses escalators apparents à l’extérieur du bâtiment.


Les escalators permettant de passer d’un étage à l’autre sont surnommés « la chenille ». Afin de limiter le nombre de personnes présentes dans les étages, des agents de sécurité pouvaient en interdire temporairement l’accès. Des systèmes électroniques permettaient de compter et de décompter les visiteurs afin de réguler leur nombre.

Dans les années 1980, le Centre Pompidou enregistrait en moyenne 25 000 passages par jour.

Utilisation

En utilisant la méthode Etat présent, Etat passé vue au TP2, réalisez le comptage des personnes sur un front montant de la sortie écho.

En utilisant la méthode Etat présent, Etat passé vue au TP2, réalisez le décomptage des personnes sur un front descendant de la sortie écho.