⭐⭐⭐ Herausforderung ⏱️ 30 Minuten

Automatische Schranke

Die schlaue Version der Schranke! Der Abstandssensor sieht, dass ein Auto kommt. Dann piept der Summer und die Schranke öffnet sich von selbst. Ist das Auto weg? Dann geht sie wieder zu.

Du meldest dich kurz an. Danach ist dein Projekt sofort bereit.

🧰 Was brauchst du?

🗺️ Schaltplan

Folge den Drähten vom Arduino zu jedem Teil. Die Farben der Drähte darfst du selbst wählen.

Von Nach
Arduino UNO · D9 Abstandssensor HC-SR04 · Trig
Arduino UNO · D10 Abstandssensor HC-SR04 · Echo
Arduino UNO · 5V Abstandssensor HC-SR04 · Vcc
Arduino UNO · GND Abstandssensor HC-SR04 · Gnd
Arduino UNO · D5 Servomotor SG90 · PWM
Arduino UNO · 5V Servomotor SG90 · VCC
Arduino UNO · GND Servomotor SG90 · GND
Arduino UNO · D8 Aktiver Summer · S
Arduino UNO · 5V Aktiver Summer · +
Arduino UNO · GND Aktiver Summer · -

🛠️ So baust du es

  1. Schließe den HC-SR04 an: Trig an Pin 9, Echo an Pin 10, Vcc an 5V und Gnd an GND.
  2. Schließe den Servo an: Orange an Pin 5, Rot an 5V und Braun an GND.
  3. Schließe den Summer an: S an Pin 8, + an 5V und − an GND.
  4. Klebe einen Strohhalm oder Eisstiel als Schranke auf den Servo und stelle den Sensor davor.

💻 Der Code

// Automatische Schranke
// Kommt ein Auto (etwas näher als 15 cm)? Dann piept der Summer und die Schranke geht auf.

#include <Servo.h>

const int TRIG_PIN = 9;       // Trig des HC-SR04 an Pin 9
const int ECHO_PIN = 10;      // Echo des HC-SR04 an Pin 10
const int SERVO_PIN = 5;      // Orange/gelbe Leitung des Servos an Pin 5
const int SUMMER_PIN = 8;     // S des Summers an Pin 8
const int NAH_DRAN = 15;      // Ab diesem Abstand (cm) geht die Schranke auf

const int ZU = 0;             // Winkel, wenn die Schranke zu ist
const int OFFEN = 90;         // Winkel, wenn die Schranke offen ist

Servo schranke;

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

void setup() {
  Serial.begin(9600);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(SUMMER_PIN, OUTPUT);
  schranke.attach(SERVO_PIN);
  schranke.write(ZU);
}

void loop() {
  long abstand = missAbstand();

  if (abstand < NAH_DRAN) {
    Serial.println(F("Auto gesehen! Schranke auf."));
    digitalWrite(SUMMER_PIN, HIGH);   // Kurzer Piepton
    delay(100);
    digitalWrite(SUMMER_PIN, LOW);

    schranke.write(OFFEN);
    delay(1000);
    // Offen bleiben, solange das Auto noch da ist
    while (missAbstand() < NAH_DRAN) {
      delay(200);
    }
    delay(2000);                      // Noch kurz warten, bis das Auto wirklich weg ist
    schranke.write(ZU);
    Serial.println(F("Schranke zu."));
  }
  delay(100);
}

🧠 Was macht der Code?

  • Der HC-SR04 misst immer wieder den Abstand. Näher als 15 cm? Dann steht dort ein Auto.
  • Der Summer piept kurz und der Servo dreht auf 90 Grad: offen.
  • Solange das Auto dort steht, bleibt die Schranke offen. Danach warten wir 2 Sekunden und sie geht zu.

🎯 Probier mal …

  • Zähle, wie viele Autos vorbeigekommen sind, und zeige es im seriellen Monitor
  • Füge eine rote und eine grüne LED als Ampel bei der Schranke hinzu
  • Lass die Schranke nur aufgehen, wenn auch ein Knopf gedrückt wird

🚀 Baue dieses Projekt mit Codey: Öffne codey.online/de/starter-kits/uno/projects/automatic-barrier und klicke auf BAU DAS. Dann sind der Code und der Schaltplan sofort bereit.

Du meldest dich kurz an. Danach ist dein Projekt sofort bereit.
⬇️ Diese Seite als PDF herunterladen 📚 Das komplette Tutorial herunterladen (PDF)

Codey Online ist ein Produkt von OTRONIC

Bau dein Arduino- oder ESP32-Projekt mit AI

Beschreib einfach, was du bauen willst. Codey Online schreibt den Code, zeichnet den Schaltplan, kompiliert alles und flasht dein Board direkt aus dem Browser.

Kostenlos starten