цифровая электроника
вычислительная техника
встраиваемые системы

 

Дверной звонок на Arduino с функцией обнаружения объектов

Автор: Mike(admin) от 11-11-2019, 05:15

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


Дверной звонок на Arduino с функцией обнаружения объектов

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


Мы будем использовать ультразвуковой датчик, чтобы обнаружить человека, а затем подать предупреждение с помощью зуммера. Как известно, ультразвуковые датчики используются для измерения расстояний без физического контакта на небольших расстояниях. Так что лучше всего использовать ультразвуковой датчик для обнаружения объекта. Схема подключения элементов дверного звонка на основе Arduino представлена далее.


Дверной звонок на Arduino с функцией обнаружения объектов

Здесь используется сенсорный модуль HC-SR04, который является устройством бесконтактной ультразвуковой активности. Этот крошечный модуль способен измерять пространство в диапазоне от 2 см до 400 см. Это довольно точный датчик, он будет измерять до 3 мм. Чувствительный элемент состоит из ультразвукового передатчика и ультразвукового приемника. Регулирование на самом деле осуществляется легко. Во-первых, триггер ввода-вывода посылает сигнал высокого уровня в течение 10 с. Затем модуль посылает восемь ультразвуковых звуковых циклов по 40 кГц и наблюдает, будет ли импульсный сигнал возвращен или нет. И если сигнал принимается через высокий уровень, период времени, в течение которого сигнал триггера остается высоким, является временем от отправки до приема сигнала. Для расчета расстояния воспользуемся приведенной ниже формулой. Мы разделили показатель на 2, потому что нам просто нужно вычислить расстояние между объектом и датчиком, но время, которое мы получаем – это общее время, необходимое ультразвуковой волне, чтобы пройти препятствие и затем вернуться к датчику.


Расстояние = (Время сигнала высокого уровня х Скорость звука в воздухе (340 м/с)) / 2


Как уже упоминалось выше, модуль работает на основе эхо звука. Для запуска модуля импульс посылается в течение 10 мкс. После этого модуль отправляет восемь циклов ультразвукового сигнала по 40 кГц и проверяет его отражение. Таким образом, если есть какое-либо препятствие, сигнал попадает на него и возвращается обратно в приемник. И расстояние рассчитывается по простой формуле, упомянутой выше. Мы разделили результат на два, потому что время, затраченное на сигнал – это общее время, чтобы этому сигналу добраться до препятствия и вернуться обратно к получателю. Временная диаграмма этого датчика приведена ниже.


Дверной звонок на Arduino с функцией обнаружения объектов

Как уже говорилось выше, модуль работает по принципу эхо. Поэтому, когда мы подключаем модуль к любому микроконтроллеру, сначала модуль запускается через вывод Trig, и импульс высокого уровня посылается в течение 10 мкс. Затем ждем получения сигнала ECHO. Микроконтроллер может теперь рассчитать время. И тогда расстояние вычисляется по рассмотренной выше формуле.


Используемый здесь зуммер – это пассивный пьезоэлектрический зуммер на 5 В. Пьезоэлектрический зуммер работает по пьезоэлектрическому принципу, то есть всякий раз, когда разность потенциалов применяется к пьезоэлектрическому материалу, тогда генерируется изменение давления. Этот тип зуммера имеет два пьезокристалла, и они связаны с двумя проводниками. Теперь, если мы применим разность потенциалов к этим кристаллам, то они проталкивают один проводник и тянут другой. Этот толчок вызывает вибрации, которые в свою очередь генерируют звук. Этот тип зуммеров может издавать звук от 2 кГц до 4 кГц. Эти зуммеры могут быть использованы для сигнализации, оповещений и т. д. Эти зуммеры могут быть легко связаны с такими микроконтроллерами, как Arduino, STM32, Raspberry pi и т.п.. Вы также можете установить частоту звука, который вы хотите воспроизвести с помощью зуммера, используя некоторые функции в коде.


Код программы Arduino довольно прост и приведен далее.



#define trig 18
#define echo 19

float t=0,d=0;

void loop() 
{
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  t = pulseIn(echo, HIGH);
  d = t * 0.0340 / 2;
  d = t * 0.01330 / 2;
  if(d<=70)
  {
	digitalWrite(8,HIGH);
  }
  else
  {
	digitalWrite(8,LOW);
  }
  delay(1000);
}

После написания кода загрузите его в Arduino. Теперь поднесите любой предмет или руку к датчику, и он будет оповещать о приближении объекта с помощью зуммера. Мы настроили нашу программу для диапазона датчика 70 см, поэтому, если кто-либо находится в этом диапазоне, он будет обнаружен, и дверной звонок будет работать соответствующим образом. Если вы хотите увеличить или уменьшить диапазон, укажите это значение расстояния в условии if. Но помните, что диапазон действия ультразвукового датчика составляет от 2 см до 400 см, поэтому не выходите за рамки этого предела. Если вы хотите добавить светодиод в схему для визуальных предупреждений, то вы можете добавить его к любым цифровым выводам и добавить простой digitalWrite() в условиях if и else, а затем установить HIGH в теле if и LOW в остальном коде, чтобы он мог его включить или выключить как и зуммер.




© digitrode.ru


Теги: Arduino, ультразвук, датчик расстояния, HC-SR04



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий