Table of Contents

Умная дверь

Дверь из кабинета открывается в коридор, по которому быстро передвигаются школьники. Есть вероятность, что при резком открывании двери произойдет контакт школьника, бегущего по коридору и двери, что может привезти к травме школьника.

Для решения проблемы на дверях со стороны кабинета расположены два светодиода (зеленый и красный). Со стороны коридора расположены датчики расстояния, контролирующие приближение объекта к двери с двух сторон. При обнаружении объекта на определенном расстоянии (примерно 2 м) загорается красный светодиод. В обычном состоянии, горит зеленый светодиод.

Схема

Используется два ультразвуковых дальномера HC-SR04, подключенных к цифровым портам arduino. Дальномеры можно расположить над дверью так, чтобы они “смотрели” в разные стороны от двери вдоль коридора.

Код

#include "Ultrasonic.h"
 
// пины подключения первого УЗД
#define Trig1 12
#define Echo1 11
// пины подключения второго УЗД
#define Trig2  4
#define Echo2  3
 
#define RedLED 8 // пин подключения красного светодиода
#define GreenLED 7 // пин подключения зеленого светодиода
 
long intervalSonar = 500;  // интервал опроса сонара в миллисекундах
 
Ultrasonic ultrasonic1(Trig1, Echo1);
Ultrasonic ultrasonic2(Trig2, Echo2);
 
void setup()
{
  Serial.begin(9600);
  pinMode(RedLED, OUTPUT);
  pinMode(GreenLED, OUTPUT);
}
 
void loop()
{
  // опрос дальномеров
  float dist_cm1 = ultrasonic1.Ranging(CM); // get distance
  float dist_cm2 = ultrasonic2.Ranging(CM); // get distance
 
  // вывод контрольных показаний в монитор порта
  Serial.print("Dist 1 = "); Serial.println(dist_cm1);
  Serial.print("Dist 2 = "); Serial.println(dist_cm2);
 
  // если показание любого УЗД меньше 200 см,
  // включаем красный светодиод и выключаем зеленый
  if (dist_cm1 < 200 || dist_cm1 < 200) {
    digitalWrite(RedLED, HIGH);
    digitalWrite(GreenLED, LOW);  
  }
  else { // выключаем красный светодиод и включаем зеленый
    digitalWrite(RedLED, LOW);
    digitalWrite(GreenLED, HIGH);      
  }
  delay(intervalSonar);
}

На главную страницу