SOMMAIRE ►
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
- Arduino Uno / Arduino Nano / Arduino Mega
- afficheur LCD 1602 i2c
- capteur de distance HC-SR04
- LEDs et résistances
- passif ou actif buzzer;
- breadboard et fils de connexion;
- librairies LiquidCrystal_I2C.h et Ultrasonic.h
Matériel supplémentaire sur ce sujet:
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

| 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:
- 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;
- 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

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:
- 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;
- 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.








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
Le code est erroné. help!!