- Обязательные компоненты:
- Принципиальная схема и пояснения:
- Рабочее объяснение:
- Объяснение программирования:
Безопасность всегда была основной проблемой для всех нас, и на рынке доступно множество систем безопасности и наблюдения на основе высоких технологий и Интернета вещей. Охранная или охранная сигнализация - один из классических и популярных проектов среди студентов-электронщиков и любителей. Мы также создали много охранных сигнализаций на основе различных технологий:
- Цепь лазерной охранной сигнализации
- ИК-сигнализация безопасности
- Охранная сигнализация с использованием ИК-датчика
- Система безопасности на базе GSM
Сегодня мы добавляем в наш список еще одну охранную сигнализацию, основанную на ультразвуковом датчике. Это Arduino Контролируемый сигнал двери может быть установлена рядом с дверью, чтобы обнаружить присутствие кого в дверь. Каждый раз, когда кто-то подходит к ультразвуковому датчику, раздается звуковой сигнал. Вы можете настроить диапазон обнаружения датчика в соответствии с вашей дверью. Эта система также может служить детектором движения.
Обязательные компоненты:
- Макетная плата
- Ультразвуковой датчик
- Зуммер
- Arduino Mega (любая модель)
- Перемычки
- Кабель USB для Arduino или переходник 12В, 1А.
Модуль ультразвукового датчика:
Ультразвуковой датчик HC-SR04 используется здесь для обнаружения присутствия любого человека у двери. Сенсорный модуль состоит из ультразвукового передатчика, приемника и цепи управления. Ультразвуковой датчик состоит из двух круглых глазков, один из которых используется для передачи ультразвуковой волны, а другой - для ее приема.
Мы можем рассчитать расстояние до объекта на основе времени, которое требуется ультразвуковой волне, чтобы вернуться обратно к датчику. Поскольку время и скорость звука известны, мы можем рассчитать расстояние по следующим формулам.
- Расстояние = (Время x Скорость звука) / 2
Значение делится на два, поскольку волна распространяется вперед и назад, преодолевая одинаковое расстояние. Но в этом проекте мы использовали библиотеку NewPing.h , и эта библиотека заботится об этом вычислении, и нам просто нужно использовать несколько ключевых слов, объяснение дается в разделе программирования ниже.
Ознакомьтесь с приведенным ниже проектом, чтобы измерить расстояние до любого объекта и правильно понять работу ультразвукового датчика:
- Измерение расстояний на базе Arduino с помощью ультразвукового датчика
- Измерение расстояния с помощью микроконтроллера HC-SR04 и AVR
Принципиальная схема и пояснения:
Схемы подключения для этой ультразвуковой сигнализации очень просты. Пусковой штифт ультразвукового датчика подключен к контакту №. Вывод 12 Arduino и Echo датчика подключен к выводу № 11 Arduino. Vcc датчика подключен к выводу 5V Arduino, а GND датчика подключен к GND Arduino. Один контакт зуммера подключен к GND Arduino, а другой контакт подключен к 8- му контакту Arduino.
Рабочее объяснение:
Работать с этой дверной сигнализацией Arduino очень просто. Всякий раз, когда кто-либо входит на путь / зону действия ультразвукового датчика, микроконтроллер определяет расстояние от объекта до датчика, и, если объект находится в заданном диапазоне, он отправляет сигнал высокого уровня на зуммер, и зуммер начинает пищать.
Вы можете проверить схему, поместив что-либо перед датчиком в пределах диапазона, посмотрите видео для демонстрации. Эта функция ультразвукового датчика также может быть использована для создания робота, избегающего препятствий.
Объяснение программирования:
В этом проекте мы использовали библиотеку NewPing.h для ультразвукового датчика, разработанную Тимом Экелем. Хотя мы можем использовать ультразвуковой датчик без этой библиотеки, как мы это делали в нашем предыдущем проекте, но эта библиотека предоставляет много хороших функций для ультразвукового датчика, и с помощью этой библиотеки становится легко кодировать ультразвуковой датчик. Используя эту библиотеку, мы можем легко использовать функции ультразвукового датчика, не написав слишком много строк кода; он похож на другие библиотеки, которые используются для обработки сложностей на более низком уровне.
#включают
Вы можете проверить все функции, способы использования и образцы кодов этой библиотеки, перейдя по этой ссылке. Также проверьте официальную страницу этой библиотеки Arduino.
Последнюю версию библиотеки можно скачать по указанной выше ссылке. Далее мы загрузили Библиотеку по ссылке ниже, которая модифицирована для Teensy:
github.com/PaulStoffregen/NewPing
Вы должны сначала протестировать датчик, записав примеры кодов, приведенные на его странице. Мы также использовали примеры кодов для нашего проекта и изменили их в соответствии с нашим проектом дверной сигнализации.
Триггерный контакт подключен к контакту 12 Arduino, а контакт Echo подключен к контакту 11 Arduino. MAX_DISTANCE означает, что расстояние, на котором датчик может обнаружить препятствие, составляет 500 см или 5 м.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
В строке ниже указана скорость передачи данных, с которой данные отправляются в последовательный порт Arduino от ультразвукового датчика.
Serial.begin (115200);
Контакт № 10 настроен как выходной контакт и подключен к зуммеру. Другой вывод зуммера подключен к GND Arduino.
pinMode (10, ВЫХОД);
В пустом echoCheck () функции, sonar.ping_result / US_ROUNDTRIP_CM используется для вычисления расстояния препятствия от датчика. Флаг используется для включения зуммера, когда препятствие находится на расстоянии 50 см от ультразвукового датчика. Вы можете изменить это «расстояние» в соответствии с вашими требованиями или размером двери.
если ((sonar.ping_result / US_ROUNDTRIP_CM) <50) flag = 1; иначе, если ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) flag = 0;
Код очень хорошо прокомментирован автором библиотеки NewPing.h и может быть легко понят. Далее вы можете проверить саму страницу библиотеки, чтобы лучше понять ее и использовать эту библиотеку для создания сложного проекта с помощью ультразвукового датчика. Полный код этого проекта дверной сигнализации приведен ниже.
В первую очередь ультразвуковой датчик используется для измерения расстояния до любого объекта, но здесь мы видим, что он может использоваться в качестве охранной сигнализации или дверной сигнализации с Arduino. Точно так же мы можем создать много полезных проектов, используя это, например: Автоматический индикатор уровня воды и контроллер с использованием Arduino.