⭐⭐⭐ Défi ⏱️ 30 minutes

Barrière automatique

Voici la version maligne de la barrière ! Le capteur de distance voit qu’une voiture arrive. Alors le buzzer fait bip et la barrière s’ouvre toute seule. La voiture est partie ? Alors elle se referme.

Tu te connectes d’abord. Ensuite, ton projet est tout de suite prêt.

🧰 De quoi as-tu besoin ?

🗺️ Schéma de branchement

Suis les fils de l’Arduino vers chaque pièce. Tu peux choisir toi-même les couleurs des fils.

De Vers
Arduino UNO · D9 Capteur de distance HC-SR04 · Trig
Arduino UNO · D10 Capteur de distance HC-SR04 · Echo
Arduino UNO · 5V Capteur de distance HC-SR04 · Vcc
Arduino UNO · GND Capteur de distance HC-SR04 · Gnd
Arduino UNO · D5 Servomoteur SG90 · PWM
Arduino UNO · 5V Servomoteur SG90 · VCC
Arduino UNO · GND Servomoteur SG90 · GND
Arduino UNO · D8 Buzzer actif · S
Arduino UNO · 5V Buzzer actif · +
Arduino UNO · GND Buzzer actif · -

🛠️ Voici comment le construire

  1. Branche le HC-SR04 : Trig vers la broche 9, Echo vers la broche 10, VCC vers 5V et GND vers GND.
  2. Branche le servo : orange vers la broche 5, rouge vers 5V et marron vers GND.
  3. Branche le buzzer : S vers la broche 8, + vers 5V et − vers GND.
  4. Colle une paille ou un bâtonnet de glace sur le servo comme barrière et place le capteur devant.

💻 Le code

// Barriere automatique
// Une voiture arrive (quelque chose a moins de 15 cm) ? Alors le buzzer fait bip et la barriere s'ouvre.

#include <Servo.h>

const int TRIG_PIN = 9;       // Trig du HC-SR04 sur la broche 9
const int ECHO_PIN = 10;      // Echo du HC-SR04 sur la broche 10
const int SERVO_PIN = 5;      // Fil orange/jaune du servo sur la broche 5
const int BUZZER_PIN = 8;     // S du buzzer sur la broche 8
const int PROCHE = 15;        // A partir de cette distance (cm), la barriere s'ouvre

const int FERME = 0;          // Angle quand la barriere est fermee
const int OUVERT = 90;        // Angle quand la barriere est ouverte

Servo barriere;

long mesurerDistance() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  long temps = pulseIn(ECHO_PIN, HIGH, 30000);
  if (temps == 0) return 999;
  return temps / 58;
}

void setup() {
  Serial.begin(9600);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  barriere.attach(SERVO_PIN);
  barriere.write(FERME);
}

void loop() {
  long distance = mesurerDistance();

  if (distance < PROCHE) {
    Serial.println(F("Voiture vue ! Barriere ouverte."));
    digitalWrite(BUZZER_PIN, HIGH);   // Petit bip
    delay(100);
    digitalWrite(BUZZER_PIN, LOW);

    barriere.write(OUVERT);
    delay(1000);
    // Rester ouvert tant que la voiture est encore la
    while (mesurerDistance() < PROCHE) {
      delay(200);
    }
    delay(2000);                      // Attendre encore un peu que la voiture soit bien partie
    barriere.write(FERME);
    Serial.println(F("Barriere fermee."));
  }
  delay(100);
}

🧠 Que fait le code ?

  • Le HC-SR04 mesure sans arrêt la distance. Moins de 15 cm ? Alors il y a une voiture.
  • Le buzzer fait un petit bip et le servo tourne à 90 degrés : ouvert.
  • Tant que la voiture est là, la barrière reste ouverte. Après, on attend 2 secondes et elle se ferme.

🎯 Essaie un peu…

  • Compte combien de voitures sont passées et montre-le dans le moniteur série
  • Ajoute une LED rouge et une LED verte comme feu près de la barrière
  • Fais ouvrir la barrière seulement si on appuie aussi sur un bouton

🚀 Construis ce projet avec Codey : ouvre codey.online/fr/starter-kits/uno/projects/automatic-barrier et clique sur FAIS ÇA. Alors le code et le schéma de branchement sont tout de suite prêts.

Tu te connectes d’abord. Ensuite, ton projet est tout de suite prêt.
⬇️ Télécharger cette page en PDF 📚 Télécharger le tutoriel complet (PDF)

Codey Online est un produit de OTRONIC

Construisez votre projet Arduino ou ESP32 avec l'IA

Décrivez ce que vous voulez créer. Codey Online écrit le code, dessine le schéma de câblage, le compile et flashe votre carte directement depuis le navigateur.

Commencez gratuitement