Programmez une barrière automatique à l’aide d’Arduino

Ce projet Arduino te permet de créer un système de barrière automatique à l’aide d’une Arduino Uno, d’un servomoteur et d’un module à ultrasons HC-SR04. Pour le rendre plus réaliste, des LEDs sont utilisées afin de fournir un signal visuel.

Amuse-toi bien en reproduisant ce projet !


Matériel nécessaire

  • Arduino Uno
  • Alimentation externe 5V (2-3A)
  • Servomoteur MG996R
  • Capteur ultrason HR-SC04
  • Breadboard
  • LED rouge
  • LED verte
  • Résistance 470 Ω
  • Câbles Male/Male
  • Câbles Male/Femelle
  • Maquette découpé en contreplaqué (3mm) ou en carton (schémas dans le dossier Schéma).
  • Vis diamètre 3mm longeur 16mm x2
  • Ecrou diamètre 3mm x2
  • (Optionnel) Condensateur 1000 µF (pour stabiliser l’alimentation du servo)

Schéma de câblage

ComposantArduino
HC-SR04 VCC5V
HC-SR04 EchoD3
HC-SR04 TrigD4
HC-SR04 GNDGND
Signal ServoD9
Led verteD10
Led rougeD10
VCC Servo5V
GND ServoGND
Alimentation 5V5V (commun)
Alimentation GNDGND (commun)

⚠️ Le MG996R peut consommer jusqu’à 2.5 A : ne pas l’alimenter directement depuis l’Arduino. Utilise une alimentation externe 5V bien régulée, et connecte sa masse à celle de l’Arduino.


Fonctionnement

  • Le capteur à ultrasons détecte la présence d’un véhicule.
  • La barrière s’ouvre.
  • Le feu rouge s’éteint.
  • Le feu vert s’allume.

Code Arduino

#include <Servo.h>

// Déclaration du servo
Servo barriereServo;

// Définition des pins
const int trigPin = 4;      // Pin Trigger du HC-SR04
const int echoPin = 3;     // Pin Echo du HC-SR04
const int ledRouge = 11;     // LED rouge
const int ledVerte = 10;     // LED verte
const int servoPin = 9;     // Servo moteur MG996R

// Distance minimale pour détecter un obstacle (ici 5 cm)
const int distanceSeuil = 5;

void setup() {
  Serial.begin(9600);             // Initialisation de la communication série
  pinMode(trigPin, OUTPUT);       // Trigger en sortie
  pinMode(echoPin, INPUT);        // Echo en entrée
  pinMode(ledRouge, OUTPUT);      // LED rouge en sortie
  pinMode(ledVerte, OUTPUT);      // LED verte en sortie

  barriereServo.attach(servoPin); // Attacher le servo au pin défini
  barriereServo.write(90);        // Barrière initialement fermée (position 90°)
}

void loop() {
  // Envoi de l'impulsion sur le trigger
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Lecture de la durée de l'impulsion Echo
  long duree = pulseIn(echoPin, HIGH);

  // Conversion du temps en distance (cm)
  int distance = duree * 0.034 / 2;

  Serial.print("Distance : ");
  Serial.print(distance);
  Serial.println(" cm");

  if (distance <= distanceSeuil) {
    // Objet détecté à proximité
    digitalWrite(ledRouge, LOW);     // Éteindre la LED rouge
    digitalWrite(ledVerte, HIGH);    // Allumer la LED verte
    barriereServo.write(90);          // Ouvrir la barrière (0°)
    delay(2000);                     // On attend 2 secondes
  } else {
    // Pas d'objet détecté
    digitalWrite(ledRouge, HIGH);    // Allumer la LED rouge
    digitalWrite(ledVerte, LOW);     // Éteindre la LED verte
    barriereServo.write(0);         // Fermer la barrière (90°)
  }

  delay(200); // Délai pour éviter les déclenchements trop fréquents
}

Assemblage

Les fichiers de découpe laser nécessaire à la réalisation de la maquette sont disponible sur mon GitHub :
https://github.com/deeplabsacademy/Electr04-Barriere-Automatique

Colle le support du module HC-SR04 sur la maquette.

Colle le support du servomoteur et des LED sur la maquette. ⚠️ Attention : le trou des LED doit se trouver à droite.

Installe le servomoteur sur son support à l’aide des deux vis M3 de 16 mm et des écrous.

Fixe la barrière au servomoteur à l’aide des rislans.

Colle les LEDs au support. La LED verte se trouve à droite.

Colle le module HC-SR04 au support.

Réalise les branchements en suivant le schéma.

Upload le code, ajoute l’alimentation 5V et test ta création !


La vidéo du montage


Le petit mot de la fin

J’espère que le projet t’a plu et que tu t’es amusé ! Si ce type de projet t’intéresse, n’hésite pas à liker et partager un maximum sur les réseaux. Tu peux aussi laisser un commentaire si tu as réussi à le reproduire !


Me suivre sur les réseaux

DeepLabs— Passionné d’électronique, robotique & projets DIY

YouTube | TikTok | Instagram


🔗 Ressources utiles

Partager cet article

Articles similaires