Capteur de stationnement ultra-sons Arduino

Un capteur de stationnement ultra-sons de garage sur un Arduino est assez simple à réaliser, et une indication lumineuse et sonore peut être utilisée pour vous avertir de la distance minimale. Il n’est pas recommandé d’utiliser ce projet avec des capteurs à ultrasons dans une voiture, car ils ont une grande marge d’erreur et ne sont pas protégés contre l’humidité. Envisagez plusieurs options pour mettre en œuvre le projet en même temps.


Ce dont vous aurez besoin

Matériel supplémentaire sur ce sujet:

  1. Branchement capteur de distance HC-SR04
  2. Allumage et extinction LEDs à la suite Arduino
  3. Branchement et utilisation buzzer Arduino

Projet parking automatique Arduino

La première chose à faire est de résoudre le problème du faux déclenchement du capteur HC-SR04 en réalisant une fonction dans le programme avec plusieurs mesures de distance et en calculant la moyenne arithmétique. Pour ce faire, dans la boucle for, nous effectuons 10 mesures avec le capteur à ultrasons, en ajoutant le résultat au total, et à la fin de la boucle, nous divisons la somme obtenue par le nombre de mesures effectuées, c’est-à-dire par 10.

Capteur de stationnement ultra-sons avec LCD

Parking automatique Arduino avec LCD 1602
Schéma de montage du parking automatique avec LCD 1602
LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Pour assembler les capteurs de stationnement à écran, vous devez connecter le télémètre à ultrasons, le haut-parleur piézoélectrique et l’afficheur LCD 1602 i2c comme indiqué sur l’image ci-dessus. Dans le programme présenté, les fonctions d’affichage de la distance et de la condition d’activation du buzzer sont ajoutées. Le temps entre les mesures et la distance à laquelle l’avertisseur sonore sera activé peuvent être modifiés dans le code.

Programme Arduino parking automatique avec LCD 1602

#include "Ultrasonic.h"
Ultrasonic ultrasonic (11, 12);  // Trig et Echo

#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD(0x27,20,4);

int del = 5;  // délai entre les mesures en µs
int cm = 10;  // distance en cm à laquelle le buzzer se déclenche

void setup() {
   Serial.begin(9600);
   LCD.init();  // initialisation de l'afficheur
   LCD.backlight();
   pinMode(7, OUTPUT);
}

void loop() {
   // prendre 10 mesures et additionner le résultat
   int distance, sum, total;
   for (byte i = 0; i < 10; i++) {
      distance = ultrasonic.Ranging(CM);
      sum = sum + distance;
      delay(del);
   }
   total = sum / 10;
   Serial.println("Distance - " + String(total));

   LCD.clear();
   LCD.setCursor(0,0);
   LCD.print("Distance - ");
   LCD.print(total);

   if (total > cm) { noTone(7); }
   if (total <= cm) { tone(7,100); }
}

Explication du code parking automatique avec HC-SR04 et LCD:

  1. le délai entre les mesures et la distance pour déclencher le buzzer peuvent être modifiés au début du code en changeant les valeurs del et cm;
  2. le nombre de mesures peut être augmenté, mais cela augmentera le temps d’exécution du programme sans modifier fondamentalement la qualité de la mesure de la distance.

Capteur de stationnement ultra-sons avec LEDs

Parking automatique Arduino avec LEDs
Schéma de montage du parking automatique avec LEDs

Comme il n’est pas recommandé d’installer le dispositif sur le véhicule en raison du manque de résistance à l’humidité des capteurs HC-SR04, il est inutile de connecter l’afficheur LCD 1602 au capteur de stationnement ultra-sons de l’Arduino Uno. Il est préférable d’utiliser un écran lumineux. La variante suivante du projet utilise des LED rouges, jaunes et vertes pour indiquer la distance entre le dispositif et la voiture qui entre dans le garage.

Programme Arduino parking automatique avec LEDs

#include "Ultrasonic.h"
Ultrasonic ultrasonic (11, 12);  // Trig et Echo

int del = 5;   // délai entre les mesures en µs
int cm1 = 30;  // la distance à laquelle la LED verte s'allumera
int cm2 = 20;  // la distance à laquelle la LED bleue s'allumera
int cm3 = 10;  // la distance à laquelle la LED rouge s'allumera
int cm4 = 5;   // distance en cm à laquelle le buzzer se déclenche

void setup() {
   Serial.begin(9600);
   pinMode(7, OUTPUT);
   pinMode(2, OUTPUT);  // LED verte
   pinMode(3, OUTPUT);  // LED bleue
   pinMode(4, OUTPUT);  // LED rouge
}

void loop() {
   // prendre 10 mesures et additionner le résultat
   int distance, sum, total;
   for (byte i = 0; i < 10; i++) {
      distance = ultrasonic.Ranging(CM);
      sum = sum + distance;
      delay(del);
   }
   total = sum / 10;
   Serial.println("Distance - " + String(total));

   if (total >= cm1) {
      digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, LOW);
   }
   if (total < cm1 and total >= cm2) {
      digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,HIGH);
   }
   if (total < cm2 and total > cm3) {
      digitalWrite(4,LOW); digitalWrite(3,HIGH); digitalWrite(2,LOW);
   }
   if (total <= cm3) {
      digitalWrite(4,HIGH); digitalWrite(3,LOW); digitalWrite(2,LOW);
   }

  if (total > cm4) { noTone(7); }
  if (total <= cm4) { tone(7, 100); }
}

Explication du code parking automatique avec HC-SR04 et LEDs:

  1. les variables sont définies au début du programme et peuvent être modifiées en configurant un mode de fonctionnement approprié pour le capteur de parking sur l’Arduino;
  2. les LED de même couleur peuvent être connectées à la même broche.

Conclusion. Le circuit du capteur de stationnement à ultrasons sur l’Arduino utilise des LED RVB de 5V et utilise un chargeur de téléphone normal pour l’alimentation. Il n’est pas recommandé d’installer l’appareil dans une voiture, car le capteur HC-SR04 n’est pas protégé contre la poussière et l’humidité, mais il peut être utilisé dans un garage.





2 Replies to “Capteur de stationnement ultra-sons Arduino”

  1. I ly a un problème dans le code programme : quand je lance la vérification j’ai ce message d’erreur : Compilation error: ‘class Ultrasonic’ has no member named ‘Ranging’ Au secours.merci d’avance

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.