Сигнализация на Arduino

16 сентября 2018 - Администратор

Стгнализация на arduino

На данном уроке мы научимся подключать ультразвуковой датчик расстояния к Arduino, научимся в программе считывать и обрабатывать данные с датчиков. Создадим сигнализацию на ардуино.  В сигнализации к плате Arduino  подключается ультразвуковой датчик расстояния  и два светодиода зеленый и красный  с помощью макетной платы. Алгоритм работы системы следующий; при приближении к датчику предмета, зажигается красный светодиод, при удалении предмета от ультразвукового датчика  светодиод гаснет и загорается зеленый светодиод.

1.       Подключаем светодиоды зеленый и красный  Подключение светодиодов к arduino рассмотрено в уроке Подключение к arduino светодиодов

2.       Подключаем  ультразвуковой датчик Подключение ультразвукового датчика к arduino рассмотрено на уроке Подключение и программирование датчиков

Схема сигнализации на  ардуино  на рисунке

схема сигнализации на arduino

3.       В основной программе используется оператор  if. If – это условие. Если условие в круглых скобках оператора if   выполняется, то производятся операции в фигурных скобках. Подробнее об условиях в Си

dist();

// если расстояние dis больше  20 см то зажигается светодиод  с пином 11, и гаснет с пином 10

if (dis>20)

{digitalWrite (GREEN_PIN, 180);

digitalWrite(RED_PIN,0);

delay(10);

}

// если расстояние меньше   20 см то зажигается светодиод  с пином 10, и гаснет с пином //11

if (dis<20)

{digitalWrite (GREEN_PIN,0);

digitalWrite(RED_PIN, 180);

delay(10);

}

4.       Сначала мы считываем расстояние, проверяем. Если оно меньше 20, то гасим зеленый, зажигаем красный, а если больше 20, то гасим красный и зажигаем зеленый.

int echoGolova = 5; //перменая эхо 

int trigGolova = 3; //переменная триг 

int RED_PIN = 10;

int GREEN_PIN = 11;

int dis; // переменная для измерения дистанции

void setup() {

  Serial.begin (9600);

// определяем пины светодиодов как output

  pinMode (GREEN_PIN, OUTPUT);

  pinMode(RED_PIN, OUTPUT);

}

// процедура измерения расстояния в см значение записывается в переменную dis

 void dist ()

 {

  int duration, cm;

  digitalWrite(trigGolova, LOW);

  delayMicroseconds(2);

  digitalWrite(trigGolova, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigGolova, LOW);

  duration = pulseIn(echoGolova, HIGH);

  cm = duration / 58;

  dis = cm;

  if (dis<=0){dis=50;};

  Serial.print(dis);

  Serial.println(" cm");  

 }

void loop() {

// вызываем процедуру замера расстояния ультразвуковым датчиком

dist();

// если расстояние dis больше  20 см то зажигается светодиод  с пином 11, и гаснет с пином //10

if (dis>20)

{digitalWrite (GREEN_PIN, 180);

digitalWrite(RED_PIN,0);

delay(10);

}

// если расстояние меньше   20 см то зажигается светодиод  с пином 10, и гаснет с пином //11

if (dis<20)

{digitalWrite (GREEN_PIN,0);

digitalWrite(RED_PIN, 180);

delay(10);

}

}

  Вернуться к содержанию

Комментарии (0)

Нет комментариев. Ваш будет первым!