⭐⭐⭐ Uitdaging ⏱️ 30 minuten

Automatische slagboom

De slimme versie van de slagboom! De afstandssensor ziet dat er een auto aankomt. Dan piept de zoemer en gaat de slagboom vanzelf open. Is de auto weg? Dan gaat hij weer dicht.

Je logt eerst even in. Daarna staat je project meteen klaar.

🧰 Wat heb je nodig?

🗺️ Aansluitschema

Volg de draden van de Arduino naar elk onderdeel. De kleuren van de draden mag je zelf kiezen.

Van Naar
Arduino UNO · D9 Afstandssensor HC-SR04 · Trig
Arduino UNO · D10 Afstandssensor HC-SR04 · Echo
Arduino UNO · 5V Afstandssensor HC-SR04 · Vcc
Arduino UNO · GND Afstandssensor HC-SR04 · Gnd
Arduino UNO · D5 Servomotor SG90 · PWM
Arduino UNO · 5V Servomotor SG90 · VCC
Arduino UNO · GND Servomotor SG90 · GND
Arduino UNO · D8 Actieve zoemer · S
Arduino UNO · 5V Actieve zoemer · +
Arduino UNO · GND Actieve zoemer · -

🛠️ Zo bouw je het

  1. Sluit de HC-SR04 aan: Trig naar pin 9, Echo naar pin 10, Vcc naar 5V en Gnd naar GND.
  2. Sluit de servo aan: oranje naar pin 5, rood naar 5V en bruin naar GND.
  3. Sluit de zoemer aan: S naar pin 8, + naar 5V en − naar GND.
  4. Plak een rietje of ijsstokje op de servo als slagboom en zet de sensor ervoor.

💻 De code

// Automatische slagboom
// Komt er een auto aan (iets dichter dan 15 cm)? Dan piept de zoemer en gaat de slagboom open.

#include <Servo.h>

const int TRIG_PIN = 9;       // Trig van de HC-SR04 op pin 9
const int ECHO_PIN = 10;      // Echo van de HC-SR04 op pin 10
const int SERVO_PIN = 5;      // Oranje/gele draad van de servo op pin 5
const int ZOEMER_PIN = 8;     // S van de zoemer op pin 8
const int DICHTBIJ = 15;      // Vanaf deze afstand (cm) gaat de slagboom open

const int DICHT = 0;          // Hoek als de slagboom dicht is
const int OPEN = 90;          // Hoek als de slagboom open is

Servo slagboom;

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

void setup() {
  Serial.begin(9600);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(ZOEMER_PIN, OUTPUT);
  slagboom.attach(SERVO_PIN);
  slagboom.write(DICHT);
}

void loop() {
  long afstand = meetAfstand();

  if (afstand < DICHTBIJ) {
    Serial.println(F("Auto gezien! Slagboom open."));
    digitalWrite(ZOEMER_PIN, HIGH);   // Kort piepje
    delay(100);
    digitalWrite(ZOEMER_PIN, LOW);

    slagboom.write(OPEN);
    delay(1000);
    // Open blijven zolang de auto er nog staat
    while (meetAfstand() < DICHTBIJ) {
      delay(200);
    }
    delay(2000);                      // Nog even wachten tot de auto echt weg is
    slagboom.write(DICHT);
    Serial.println(F("Slagboom dicht."));
  }
  delay(100);
}

🧠 Wat doet de code?

  • De HC-SR04 meet steeds de afstand. Dichter dan 15 cm? Dan staat er een auto.
  • De zoemer piept kort en de servo draait naar 90 graden: open.
  • Zolang de auto er staat, blijft de slagboom open. Daarna wachten we 2 seconden en gaat hij dicht.

🎯 Probeer eens…

  • Tel hoeveel auto's er langs zijn gekomen en laat het zien in de seriële monitor
  • Voeg een rode en een groene LED toe als stoplicht bij de slagboom
  • Laat de slagboom alleen opengaan als er ook op een knop wordt gedrukt

🚀 Bouw dit project met Codey: open codey.online/nl/starter-kits/uno/projects/automatic-barrier en klik op MAAK DIT. Dan staan de code en het aansluitschema meteen klaar.

Je logt eerst even in. Daarna staat je project meteen klaar.
⬇️ Download deze pagina als PDF 📚 Download de complete tutorial (PDF)

Codey Online is een product van OTRONIC

Bouw je Arduino- of ESP32-project met AI

Beschrijf wat je wilt bouwen. Codey Online schrijft de code, tekent het aansluitschema, compileert het en flasht je board rechtstreeks vanuit de browser.

Gratis starten