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


Используя ультразвуковой датчик, контроллер Arduino и электродвигатель — можно собрать устройство для автоматического открывания дверей, которое будет срабатывать при вашем приближении.

Код для Arduino

//By Sieuwe Elferink

//config
////////////////
const int MotorDelay = 2800; //change this value to make the door open more or less
const int TimeDelay = 4000; // change this value to change the time between the door opening and closing
const int ActivationDistance = 50; //change this value to change the distance from your hand to the sensor to activate the door.
 ///////////////

const int trigPin = 4;
const int echoPin = 3;

const int trigPin2 = 10;
const int echoPin2 = 11;

long duration, duration2;
int distanceCm, distanceCm2;


void setup() {

  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(trigPin2, OUTPUT);
  pinMode(echoPin2, INPUT);
}



void loop() {

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distanceCm = duration * 0.034 / 2;

  digitalWrite(trigPin2, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin2, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin2, LOW);
  duration2 = pulseIn(echoPin2, HIGH);
  distanceCm2 = duration2 * 0.034 / 2;

  if (distanceCm <= ActivationDistance) {
    digitalWrite(8, HIGH);
    delay(MotorDelay);
    digitalWrite(8, LOW);
    delay(TimeDelay);
    digitalWrite(9, HIGH);
    delay(MotorDelay);
    digitalWrite(9, LOW);;
  }

  if (distanceCm2 <= ActivationDistance) {
    digitalWrite(8, HIGH);
    delay(MotorDelay);
    digitalWrite(8, LOW);
    delay(TimeDelay);
    digitalWrite(9, HIGH);
    delay(MotorDelay);
    digitalWrite(9, LOW);
  }
}

Ссылки
Make a Automatic Self Sensing Opening and Closing Door With Arduino!

По теме
Ультразвуковой датчик измерения расстояния HC-SR04
Проект по распознаванию домашних животных от Microsoft
Cекретный стук для управления замком
Автоматизация дверей курятника

Arduino
Ардуино что это и зачем?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение