Цель проекта:
Создать автоматическую систему парковочного шлагбаума, которая:
- Обнаруживает приближающийся автомобиль с помощью ультразвукового датчика.
- Автоматически поднимает шлагбаум с помощью сервопривода.
- Обеспечивает звуковую и световую индикацию при работе.
- Может быть дополнена функцией подсчета занятых мест на парковке и отображением на дисплее.
Используемые компоненты:
- Ультразвуковой датчик HC-SR04 – измеряет расстояние до машины.
- Сервопривод – открывает/закрывает шлагбаум.
- Светодиод (LED) – индикация открытия шлагбаума.
- Зуммер (Buzzer) – звуковой сигнал при открытии.
- Arduino Uno – управление всей системой.
- Резистор – ограничение тока для светодиода.
- Макетная плата + провода – подключение компонентов.
- (Дополнительно возможно): второй датчик, LCD-дисплей, RGB-светодиоды, кнопки и др.
Схема в Tinkercad:

Ультразвуковой датчик HC-SR04:
- VCC → 5V Arduino
- GND → GND
- Trig → D11
- Echo → D12
Сервопривод:
- Signal → D5
- VCC → 5V
- GND → GND
Светодиод:
- Анод (+) через резистор → D10
- Катод (–) → GND
Зуммер:
- → D9
– → GND
Программа:
#include <Servo.h>
const int trigPin = 11;
const int echoPin = 12;
const int servoPin = 5;
const int ledPin = 10;
const int buzzerPin = 9;
Servo gateServo;
bool gateOpen = false;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
gateServo.attach(servoPin);
gateServo.write(0); // Закрытое положение
}
void loop() {
long duration;
int distance;
// Ультразвуковой импульс
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH, 25000); // максимум 25 мс ожидания
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Машина близко и шлагбаум ещё не открыт
if (distance > 0 && distance < 7 && !gateOpen) {
gateOpen = true;
// Короткий двойной пик на активном зуммере
digitalWrite(buzzerPin, HIGH); delay(100);
digitalWrite(buzzerPin, LOW); delay(150);
digitalWrite(buzzerPin, HIGH); delay(100);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, HIGH); // Свет включён
gateServo.write(90); // Шлагбаум поднимается
delay(3000); // Пауза
gateServo.write(0); // Шлагбаум опускается
digitalWrite(ledPin, LOW); // Свет выключен
}
// Сброс, если машина уехала
if (distance >= 10) {
gateOpen = false;
}
delay(250); // Пауза
}
Работа системы:
- Ультразвуковой датчик измеряет расстояние до объекта.
- Если машина подъезжает ближе 7 см:
- Шлагбаум поднимается.
- Звучит двойной сигнал.
- Свет загорается.
- Через 3 секунды шлагбаум опускается.
- Если расстояние более 10 см — система сбрасывает состояние и готова к следующей машине.
Возможности для расширения:
- Счётчик автомобилей на парковке:
- Добавить второй датчик (на выезде).
- Поддерживать переменную
carCount
для подсчета машин. - Не открывать шлагбаум, если мест больше нет.
- LCD-дисплей:
- Отображать свободные места, статус (свободно/занято/полный).
- RGB-LED:
- Цветовое отображение: зелёный (свободно), жёлтый (въезд), красный (мест нет).
- Кнопка администратора:
- Ручное открытие шлагбаума.
- Ночной режим:
- Мигающий жёлтый светодиод, если машина не обнаружена.
Видео:
https://drive.google.com/file/d/1-8RYRKBBdyGraDLXFaaQu90OsKqYTtsV/view?usp=sharing
Применение в жизни:
- Парковки у ТЦ, офисов, школ.
- Умные шлагбаумы в жилых зонах.
- Автоматизированные КПП.
- Прототипы систем для логистики и складов.