Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04

Компоненты и материалы

Название Количество
Arduino UNO 1
Ультразвуковой датчик HC-SR04 1
DC-мотор 12V (с редуктором) 1
Motor Shield L293D 1
LCD 16x2 (RGB backlight, Adafruit) 1
Пьезо-зуммер 1
Провода-перемычки 1 набор

Программное обеспечение

О проекте

Мехатронная система автоматического открывания и закрывания двери. Ультразвуковой датчик HC-SR04 обнаруживает приближение человека (дистанция ≤ 5 см), Arduino управляет DC-мотором через Motor Shield L293D (движение створки по шестерёнке зубчатая рака — зубчатое колесо), LCD показывает состояние, зуммер звучит пока дверь открыта.

Принцип работы HC-SR04

Почему нужен Motor Shield

Arduino выдаёт 5V и ограниченный ток. Прямое подключение мотора может сжечь контроллер. L293D работает как усилитель: мотор питается от 9–12 В, управление — логическими уровнями Arduino.

Скетч (Arduino)

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 8, 9, 1);

const int trigPin = 7;
const int echoPin = 4;
const int mt_En_Pin1 = 2;   // Enable мотора
const int mt_IN1_Pin2 = 3;  // IN1
const int mt_IN2_Pin3 = 6;  // IN2
int buzz = 10;

long duration;
int distance;

void setup() {
  lcd.begin(16, 2);
  lcd.print("WELCOME");
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(mt_En_Pin1, OUTPUT);
  pinMode(mt_IN1_Pin2, OUTPUT);
  pinMode(mt_IN2_Pin3, OUTPUT);
  pinMode(buzz, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;

  if (distance <= 5) {
    digitalWrite(13, HIGH);
    delay(1000);
    digitalWrite(mt_En_Pin1, HIGH);
    analogWrite(mt_IN1_Pin2, 50);  // открыть
    analogWrite(mt_IN2_Pin3, 0);
    delay(2000);
    analogWrite(mt_IN1_Pin2, 0);
    analogWrite(mt_IN2_Pin3, 0);
    delay(1000);
    tone(buzz, 1000); delay(1000);
    tone(buzz, 1000); delay(1000);
    noTone(buzz);
    delay(3000);
    lcd.clear();
    lcd.setCursor(0,1);
    lcd.print("Please Enter");
    delay(1000);
    analogWrite(mt_IN1_Pin2, 0);   // закрыть
    analogWrite(mt_IN2_Pin3, 50);
    delay(3000);
  } else {
    digitalWrite(13, LOW);
    digitalWrite(mt_En_Pin1, LOW);
    analogWrite(mt_IN1_Pin2, 50);
    analogWrite(mt_IN2_Pin3, 0);
  }
}

Схемы и фото сборки

Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04

Производственный процесс

  1. Создание универсального ИК-пульта на Arduino: пошаговое руководство
  2. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  3. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  4. Создание настраиваемой «бьющейся» клавиши на Arduino: пошаговое руководство
  5. Интерактивный LED-дисплей в двери с PIR-датчиком — новогоднее приветствие на Arduino
  6. Измерение массы Земли с Arduino: пошаговое руководство по DIY
  7. Бесконтактный автоматический открыватель двери с измерением температуры
  8. Своё рулевое управление (джойстик) для игр на Arduino
  9. Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
  10. Цифровой компас в реальном времени на Arduino и Processing