Автоматические ворота для парковки на Arduino

Проект «Автоматические ворота для парковки на Arduino» использует ультразвуковой датчик и сервомотор для автоматического открытия и закрытия ворот при обнаружении объекта на определенном расстоянии. Ультразвуковой датчик измеряет расстояние до объекта, и если оно меньше 20 см, сервомотор открывает ворота. Проект также включает инструкцию по скачиванию и установке библиотеки AlashUltrasonic для работы с ультразвуковым датчиком. Этот проект демонстрирует простое и эффективное использование сенсоров и актуаторов для создания полезных автоматизированных устройств.

В этом проекте мы создадим автоматические ворота для парковки, используя ультразвуковой датчик для открытия и закрытия ворот, если объект находится на определенном расстоянии. Также мы используем лазерный станок EPILOG LASER для создания конструкции ворот.

Аппаратное обеспечение

  • Ультразвуковой датчик

  • Микроконтроллер Arduino Uno

  • Серво мотор

  • Соединительные провода

Принцип работы

Ультразвуковой датчик будет обнаруживать расстояние перед воротами. Если автомобиль приближается к воротам на расстояние менее 20 см, датчик отправит команду на микроконтроллер Arduino для открытия ворот. Затем Arduino отправит команду на сервомотор, который откроет ворота на 90 градусов.

Подключение ультразвукового датчика

  • Vcc к 5V на Arduino

  • Trig к порту 2 на Arduino

  • Echo к порту 4 на Arduino

  • Gnd к Gnd на Arduino

Подключение сервомотора

  • Черный провод к Gnd на Arduino

  • Красный провод к Vcc на Arduino

  • Желтый провод к порту 9 на Arduino

Принцип работы

Когда что-то попадает в диапазон действия ультразвукового датчика, он измеряет расстояние до объекта. Если расстояние меньше определенного значения, серво повернется и откроет ворота.

Инструкция по скачиванию и установке библиотеки AlashUltrasonic

Для успешной работы с ультразвуковым датчиком в проекте «Парктроник на Arduino» необходимо установить библиотеку AlashUltrasonic. Ниже приводится пошаговая инструкция по скачиванию и установке этой библиотеки.

Шаг 1: Скачивание библиотеки

  1. Перейдите на официальный репозиторий библиотеки AlashUltrasonic на GitHub по следующей ссылке: AlashUltrasonic GitHub

  2. На странице репозитория нажмите кнопку «Code» и выберите «Download ZIP» для скачивания архива с библиотекой.

Шаг 2: Установка библиотеки

  1. После скачивания архива с библиотекой, распакуйте его в удобное для вас место на вашем компьютере.

  2. Откройте Arduino IDE.

  3. Перейдите в меню «Скетч» -> «Подключить библиотеку» -> «Добавить .ZIP библиотеку…».

  4. В открывшемся окне проводника найдите и выберите скачанный и распакованный архив с библиотекой AlashUltrasonic. Нажмите «Открыть».

  5. Arduino IDE автоматически установит библиотеку, и внизу окна появится сообщение «Библиотека добавлена. Проверьте меню „Подключить библиотеку“».

Код

Как обычно, скопируйте код в Arduino IDE и загрузите его на плату:

parking_gate.ino
#include <Servo.h>              // Подключаем библиотеку для работы с сервомотором
#include <AlashUltrasonic.h>    // Подключаем библиотеку AlashUltrasonic для работы с ультразвуковым датчиком
Servo myservo;                  // Создаем объект сервомотора для управления
const uint8_t trigPin = A1;          // Пин для триггера ультразвукового датчика
const uint8_t echoPin = A0;          // Пин для эхо ультразвукового датчика
// Инициализация ультразвукового датчика
AlashUltrasonic sensor(trigPin, echoPin);
void setup() {
  // Инициализация серийной связи:
  Serial.begin(9600);
  myservo.attach(9);  // Подключаем сервомотор к пину 9
  sensor.begin();     // Инициализируем ультразвуковой датчик
}
void loop() {
  // Измеряем расстояние
  long distance = sensor.getDistance();
  // Условие для расстояния
  if (distance < 20) {
    myservo.write(90);  // Устанавливаем позицию серво для открытия ворот
    delay(4000);        // Задержка для удержания ворот открытыми
    myservo.write(0);   // Закрываем ворота
  } else {
    myservo.write(0);   // Держим ворота закрытыми
  }
  // Выводим расстояние в серийный монитор
  Serial.print(distance);
  Serial.print(" cm");
  Serial.println();
  delay(100);
}

Заключение

Этот проект демонстрирует простое применение сенсоров и актуаторов для создания полезных устройств на основе Arduino. Конструкция ворот, созданная с помощью лазерного резака, и использование ультразвукового датчика для автоматического открытия ворот иллюстрируют возможности автоматизации в реальной жизни.