Слежение за объектом с помощью ультразвукового датчика HC-SR04 и сервомотора

Датчик движения ардуино позволяет отследить перемещение в закрытой зоне объектов, излучающих тепло (люди, животные). Такие системы часто применяют в бытовых условиях, например, для включения освещения в подъезде. В этой статье мы рассмотрим подключение в проектах ардуино PIR-сенсоров: пассивных инфракрасных датчиков или пироэлектрических сенсоров, которые реагируют на движение. Малые габариты, низкая стоимость, простота эксплуатации и отсутствие сложностей в подключении позволяет использовать такие датчики в системах сигнализации разного типа.

Описание датчика движения ардуино

Конструкция ПИР датчика движения не очень сложна – он состоит из пироэлектрического элемента, отличающегося высокой чувствительностью (деталь цилиндрической формы, в центре которой расположен кристалл) к наличию в зоне действия определенного уровня инфракрасного излучения. Чем выше температура объекта, тем больше излучение. Сверху PIR-датчика устанавливается полусфера, разделенная на несколько участков (линз), каждый из которых обеспечивает фокусировку излучения тепловой энергии на различные сегменты датчика движения. Чаще всего в качестве линзы применяют линзу Френеля, которая за счет концентрации теплового  излучения позволяет расширить диапазон чувствительности инфракрасного датчика движения Ардуино.

PIR-sensor конструктивно разделен на две половины. Это обусловлено тем, что для устройства сигнализации важно именно наличие движения в зоне чувствительности, а не сам уровень излучения. Поэтому части установлены таким способом, что при улавливании одной большего уровня излучения, на выход будет подаваться сигнал со значением high или low.

Основными техническими характеристиками датчика движения Ардуино являются:

  • Зона обнаружения движущихся объектов составляет от 0 до 7 метров;
  • Диапазон угла слежения – 110°;
  • Напряжение питания – 4.5-6 В;
  • Рабочий ток – до 0.05 мА;
  • Температурный режим – от -20° до +50°С;
  • Регулируемое время задержки от 0.3 до 18 с.

Модуль, на котором установлен инфракрасный датчик движения включает дополнительную электрическую обвязку с предохранителями, резисторами и конденсаторами.

Принцип работы датчика движения на Arduino следующий:

  • Когда устройство установлено в пустой комнате, доза излучения, получаемая каждым элементом постоянна, как и напряжение;
  • При появлении в комнате человека, он первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс;
  • Когда человек перемещается по комнате, вместе с ним перемещается и тепловое излучение, которое попадает уже на второй сенсор. Этот PIR-элемент генерирует уже отрицательный импульс;
  • Разнонаправленные импульсы регистрируются электронной схемой датчика, которая делает вывод, что в поле зрения Pir-sensor Arduino находится человек.

Для надежной защиты от внешних шумов, перепадов температуры и влажности, элементы Pir-датчика на Arduino устанавливаются в герметичный металлический корпус. На верхней части корпуса по центру находится прямоугольник, выполненный из материала, который пропускает инфракрасное излучение (чаще всего на основе силикона). Чувствительные элементы устанавливаются за пластиной.

Схема подключения датчика движения к Ардуино

Подключение Pir-датчика к Ардуино выполнить не сложно. Чаще всего модули с сенсорами движения оснащены тремя коннекторами на задней части. Распиновка каждого устройства зависит от производителя, но чаще всего возле выходов есть соответствующие надписи. Поэтому, прежде чем выполнить подключение датчика к Arduino необходимо ознакомиться с обозначениями. Один выход идет к земле (GND), второй – обеспечивает выдачу необходимого сигнала с сенсоров (+5В), а третий является цифровым выходом, с которого снимаются данные.

Подключение Pir-сенсора:

  • «Земля» – на любой из коннекторов GND Arduino;
  • Цифровой выход – на любой цифровой вход или выход Arduino;
  • Питание – на +5В на Arduino.

Схема подключения инфракрасного датчика к Ардуино представлена на рисунке.

Пример программы

Скетч представляет собой программный код, который помогает проверить работоспособность датчика движения после его включения. В самом простом его примере есть множество недостатков:

  • Вероятность ложных срабатываний, за счет того, что для самоинициализации датчика требуется одна минута;
  • Отсутствие выходных устройств исполнительного типа – реле, сирены, светоиндикации;
  • Короткий временной интервал сигнала на выходе сенсора, который необходимо на программном уровне задержать, в случае появления движения.

Указанные недостатки устраняются при расширении функционала датчика.

Скетч самого простого типа, который может быть использован в качестве примера работы с датчиком движения на Arduino, выглядит таким образом:

  #define PIN_PIR 2  #define PIN_LED 13    void setup() {    Serial.begin(9600);      pinMode(PIN_PIR, INPUT);    pinMode(PIN_LED, OUTPUT);    }    void loop() {    int pirVal = digitalRead(PIN_PIR);    Serial.println(digitalRead(PIN_PIR));      //Если обнаружили движение    if (pirVal)    {      digitalWrite(PIN_LED, HIGH);      Serial.println("Motion detected");      delay(2000);    }    else    {      //Serial.print("No motion");      digitalWrite(PIN_LED, LOW);    }  }

Возможные варианты проектов с применением датчика

Пир-датчики незаменимы в тех проектах, где главной функцией сигнализации является определение нахождения или отсутствия в пределах определенного рабочего пространства человека. Например, в таких местах или ситуациях, как:

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

Пир-сенсоры просты в эксплуатации и не вызывают сложностей при подключении, имеют большую зону чувствительности и также могут быть с успехом интегрированы в любой из программных проектов на Ардуино. Но следует учитывать, что они не имеют технической возможности предоставить информацию о том, сколько объектов находится в зоне действия, и как близко они расположены к датчику, а также могут срабатывать на домашних питомцев.

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

Благодаря использованию микроконтроллера Arduino вы можете самостоятельно сконструировать датчик наклона в домашних условиях.

Для этого вам понадобится:

  • Акселерометр ADXL335;
  • Плата Arduino Uno;
  • Дисплей для отображения направления наклона (в данном случае мы используем светодиодный вариант).

Практическая реализация датчика наклона на базе Arduino приведена на рисунке ниже:

image
Рисунок 1: общий вид датчика

В данном примере рассматривается установка акселерометра ADXL335 выпускаемого компанией Analog Devices который подключается к соответствующим выводам на микроконтроллере Arduino Uno, а от микроконтроллера сигналы переводятся на дисплей. Для сборки такой схемы удобно использовать заводскую макетную плату, хотя датчик наклона отлично сможет функционировать и на любой другой ровной поверхности, которую вы будете использовать в роли базы. Главная задача реализовать основной принцип датчика, который приведен на блок-схеме ниже.

image
Рис. 2: блок-схема датчика

Преимуществом такой модели является установка Arduino Uno, так как этот микроконтроллер лучший вариант для электронных устройств, управляемых сигналам с платы. Ее программирование и использование в схеме доступно широким массам за счет простой адаптации под стандартное программное обеспечение компьютера и возможности самостоятельной настройки с последующим внесением корректив в их работу. Поэтому данный вариант отлично подходит как профессиональным конструкторам, так и любителям в сфере робототехники и электронного моделирования.

Для реализации датчика наклона Arduino Uno выбран неспроста, он собран на базе микросхемы ATmega328 и включает в себя 14 цифровых выходов, 6 аналоговых, USB разъем для подключения к устройствам программирования, ICSP разъем, вход питания, и оснащается функцией сброса или обнуления данных. Также в данной плате установлен кварцевый генератор на 16МГц, предназначенный для поддержания стабильной работы всего микроконтроллера.

Несмотря на внушительный объем его элементов, Arduino Uno имеет оносительно небольшие размеры и его достаточно легко эксплуатировать. Для этого вам понадобиться подключить плату к ПК через USB вход для установки рабочих параметров и запитать посредством батареи или через адаптер. Программирование и дальнейшая эксплуатация производится  в операционной среде Arduino.

Как собрать датчик наклона?

Рис. 3: электрическая схема датчика наклона

Подключение акселерометра к микроконтроллеру осуществляется по такому принципу:

  • Вывод ST подключается к пину платы Arduino A0;
  • Вывод перемещений по оси Z подключается к пину платы Arduino A1;
  • Вывод перемещений по оси Y подключается к пину платы Arduino A2;
  • Вывод перемещений по оси X подключается к пину платы Arduino A3;
  • Вывод GND подключается к пину платы Arduino A4;
  • Вывод VCC подключается к пину платы Arduino A5.

Затем от микроконтроллера Ардуино производится подключение к дисплею, в данной ситуации состоящего из группы светодиодов. Для подключения от платы берутся выходы с 8 по 12  и пин питания на 5В, которые распределяются по логике схемы следующим образом:

  • Пин 5В является общей точкой подключения;
  • Восьмой подключается к светодиоду, сигнализирующему о наклоне в правую сторону;
  • Девятый подключается к светодиоду, сигнализирующему о стабильном положении датчика по центру (его, для отличия, мы делаем красного цвета, но это не принципиально);
  • Десятый подключается к светодиоду, сигнализирующему о перемещении датчика назад;
  • Одиннадцатый подключается к светодиоду, сигнализирующему о наклоне в левую сторону;
  • Двенадцатый подключается к светодиоду, сигнализирующему о наклоне датчика вперед.

При изменении положения акселерометра в пространстве произойдет движение инертной массы. В результате такого движения инертная масса приведет к замыканию контактов и подаст соответствующий сигнал с одного из выводов. Далее этот сигнал обработается микроконтроллером  Arduino и преобразуется в подачу напряжения на определенный светодиод или группу светодиодов. Вот по такому принципу и осуществляется работа датчика наклона на базе Arduino.

Помимо приведенного способа сборки датчика на макетной плате, вы можете с тем же успехом реализовать его на печатной плате. Пример такой платы приведен на рисунке ниже.

Рисунок 4: схема для печатной платы

Проверка правильности подключения осуществляется в контрольных точках, приведены на рисунке 3. Напряжение в них должно соответствовать данным из таблицы.

Таблица: уровни напряжения в контрольных точках

Точка на рисунке Напряжение  в точке, В
Т0
Т1 5
Т2 Ниже, чем в Т3
Т3 Выше, чем в Т2

Тестирование работоспособности и корректировка параметров

После электрического соединения элементов датчика наклона производится загрузка программы, на устройство через ПК, для чего вам необходимо:

  • Подключить микроконтроллер к компьютеру через USB переходник;
  • Загрузить программу (test.ino) с компьютера на Ардуино УНО;
  • Затем на компьютере откройте программную среду Arduino, в которой отображается исходный код от соответствующих выводов акселерометра;
  • Сбросьте данные и отметьте числовые изменения по всем трем осям (X, Y, Z), которые происходят при наклоне датчика влево, вправо.

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

  • Оставаясь в программной среде Arduino, начните наклонять датчик влево, когда угол наклона достигнет той отметки, в которой светодиод должен загораться, отметьте для себя – это будет значение кода «A_max», граница отключения светодиода при возвратном движении датчика будет такой же;
  • Для регулирования угла наклона вправо повторите ту же операцию, наклонив до нужного угла, отметьте для себя цифровое значение – это будет значение кода «A_min», та же величина прекратит горение при возвратном движении к нейтральной позиции датчика;
  • Эти значения нужно изменить в теле программы tiltdetection.ino, для чего запускается Arduino IDE, в строки «A_max» и «A_min» вносятся записанные вами ранее данные (рисунок 5);
    Рис. 5. Снимок экрана программирования Arduino Uno
  • После этого сохраните внесенные изменения и заново загрузите откорректированную программу на микроконтроллер.

Теперь устройство будет работать с более приемлемым  для вас углом наклона. Здесь разобран пример корректировки угла перемещения датчика влево и вправо. Но при желании вы можете проделать те же манипуляции и для изменения угла наклона вперед и назад, при переходе через который будут загораться и гаснуть светодиоды.

Что нужно для работы программы?

Так как микроконтроллер программируется на специально разработанной под него платформе Arduino IDE, никаких дополнительных языков программирования и специальных навыков по работе с ними вам иметь не нужно, достаточно просто подключить Arduino к компьютеру. Также стоит отметить, что микросхема  ATmega328 в Arduino Uno изначально содержит предварительно установленный механизм загрузки. Именно он позволяет программировать устройство без каких-либо аппаратных программаторов, а взаимодействие программной среды на компьютере и  микросхеме происходит по протоколу STK500.

Для работы с программным обеспечением микроконтроллера вам понадобиться войти в меню «Инструменты», затем выбрать «Платы» и установить  Arduino Uno (если вы применяете другую модель, установите ее). После этого через Arduino IDE запрограммируйте плату на логику датчика наклона и можете приступать к эксплуатации готового устройства. Также можно программировать Ардуино через протокол ICSP, но этот метод больше подходит искушенным программистам, а не начинающим конструкторам, поэтому куда проще пользоваться стандартным способом.

Исходный код программы: Датчик наклона на базе Arduino

Дальномер, установленный на сервомотор часто используется в разных ардуино проектах. Например, на машинках-роботах, объезжающих препятствие. Я тоже такую как-то собирал. Работает до сих пор.

Позже обязательно опишу данный проект.

У меня возникла идея заставить ардуино следить за объектом в трех направлениях, с использованием ультразвукового датчика HC-SR04 и сервомотора.

НАМ ПОНАДОБИТСЯ

  • Плата Arduino Uno или любая ардуино совместимая
  • Ультразвуковой датчик HC-SR04
  • Сервомотор SG-90
  • Провода

СХЕМА ПОДКЛЮЧЕНИЯ КОД ПРОГРАММЫ

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 
#include  //подключаем библиотеку для сервомотора #include "Ultrasonic.h" //подключаем библиотеку для ультразвукового датчика  Servo servoneck; // создаем объект серво-шея Ultrasonic ultrasonic(12,11); //trigPin - 12; echoPin - 11; const int ledPin = 13; // пин 13 – светодиод void setup() {     Serial.begin(9600);   pinMode(ledPin, OUTPUT); // задаем светодиод - выходной пин   servoneck.attach(9); // attaches the servo on pin 9 to the servo object   servoneck.write(150);   digitalWrite(ledPin,  ); // выключаем светодиод }   void loop() { if (ultrasonic.Ranging(CM)>30){   digitalWrite(ledPin,  ); // выключаем светодиод     servoneck.write(90);   delay(500);     if (ultrasonic.Ranging(CM)>30){   digitalWrite(ledPin,  ); // выключаем светодиод     servoneck.write(150);   delay(500); } if (ultrasonic.Ranging(CM)>30){   digitalWrite(ledPin,  ); // выключаем светодиод     servoneck.write(90);   delay(500); } if (ultrasonic.Ranging(CM)>30){   digitalWrite(ledPin,  ); // выключаем светодиод     servoneck.write(30);   delay(500); } } else  digitalWrite(ledPin, 1); // включаем светодиод delay(500); }

В данном скетче сервомотор поворачивает ультразвуковой датчик дискретно в диапазоне от 30 до 150 градусов. Угол обзора можно задать для SG90 от 0 до 180 градусов. Это три положения: 30, 90 и 150 градусов. С помощью условия if задаем необходимое расстояние контроля за объектом. Как только объект приблизится на контролируемое расстояние, сервомотор остановится и загорится светодиод на 13 пине. Данное условие выполняется для трех положений сервомотора. Светодиод Pin13 расположен непосредственно на плате Arduino и на схеме не показан.

Библиотека для ультразвукового датчика HC-RS04 Ultrasonic.h

Библиотека для сервомотора включена в состав программы Arduino IDE.

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

Вот скетч, где добавлен второй сервомотор для кивания головой:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 
#include  //подключаем библиотеку для сервомотора  #define trigPin 12 // подключаем Trig к пин 12. отправка сигнала #define echoPin 11 // подключаем Echo к пин 11. прием ответа Servo servoneck; // создаем объект серво-шея Servo servohead; // создаем объект серво-голова int s1, s2, s3; //создаем переменные для записи расстояний по трем направлениям //----------------------------------------------------------------------------------- //будем замер делать дважды и высчитывать среднюю арифметическую. для исключения ошибок. //результат измерений будет записываться последовательно в переменные s_1 и s_2  int get_distance(){   long duration;   int s_1, s_2, average = -1; // запись в s_1   digitalWrite(trigPin, LOW);   delayMicroseconds(2);   digitalWrite(trigPin, HIGH);   delayMicroseconds(10);   digitalWrite(trigPin, LOW);   duration = pulseIn(echoPin, HIGH);   s_1 = (int) duration / 58.2; // запись в s_2   digitalWrite(trigPin, LOW);   delayMicroseconds(2);   digitalWrite(trigPin, HIGH);   delayMicroseconds(10);   digitalWrite(trigPin, LOW);   duration = pulseIn(echoPin, HIGH);   s_2 = (int) duration / 58.2; // подсчитываем среднее арифметическое s_1 и s_2    average = (int) (s_1 + s_2) / 2; //Serial.print("distance: "); //Serial.println(average); return average; } //--------------------------------------------------------------- void setup() {     Serial.begin(9600);   pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   servoneck.attach(9); // подключаем servoneck к pin 9    servohead.attach(10); // подключаем servohead к pin 10    servoneck.write(30); // устанавливаем серво-шея в первоначальное положение   servohead.write(30); // устанавливаем серво-голова в первоначальное положение }   void loop() {   s1 = get_distance(); //делаем замер s1 в направлении 30 град. if (s1 <</span> 30) // если меньше заданного в см., то качаем головой {       servohead.write(20);       delay(100);       servohead.write(30);       delay(100); } else // иначе, поворачиваем шею в положение 90 градусов(вперед) {     servoneck.write(90);     delay(500); }     s2 = get_distance(); //делаем замер s2 в направлении 90 град. if (s2 <</span>30) // если меньше заданного в см., то качаем головой {       servohead.write(20);       delay(100);       servohead.write(30);       delay(100); } else // иначе, поворачиваем шею в положение 150 градусов(налево) {     servoneck.write(150);     delay(500); }     s3 = get_distance(); //делаем замер s3 в направлении 150 град. if (s3 <</span>30) // если меньше заданного, то качаем головой {       servohead.write(20);       delay(100);       servohead.write(30);       delay(100); } else // иначе, поворачиваем шею в положение 90 градусов(прямо) {     servoneck.write(90);     delay(500); }     s2 = get_distance(); //делаем замер s2 в направлении 90 град.   if (s2 <</span>30) // если меньше заданного, то качаем головой {       servohead.write(20);       delay(100);       servohead.write(30);       delay(100); } else // иначе, поворачиваем шею в положение 30 градусов(налево) {     servoneck.write(30);     delay(500); } }

Автор: · Опубликовано 12.08.2016 · Обновлено 13.04.2020

В этой статье расскажу как работать с датчиком HC-SR501 (PIR сенсор). Датчик является недорогим и универсальным, его можно использовать как отдельно или со вместо с микрокомпьютером для создание различных проектах (системах охранной сигнализации или автоматизированных системах освещения)

Технические характеристики

Общие сведения 

Любой человек или животное с температурой выше нуля испускает тепловую энергию в виде излучения. Это излучение не видно человеческому глазу, потому что оно излучается на инфракрасных волн, ниже спектра, который люди могут видеть. Измерение этой энергии, не то же самое, что измерять температуру. Так как температура зависит от теплопроводности, поэтому, когда человек входит в комнату, он не может мгновенно изменить температуру в помещении. Однако есть уникальная инфракрасное излучение из-за температуры тела и которую ищет PIR датчик. Принцип работы инфракрасного датчика движения HC-SR501 прост, при включении, датчик настраивается на «Нормальную» инфракрасное излучение в пределах своей зоны обнаружения. Затем он ищет изменения, например человек прошел или переместился в пределах контролируемой зоны. Для определения инфракрасного излечение детектор использует пироэлектрический датчик. Это устройство, которое генерирует электрический ток в ответ на прием инфракрасного излучения. Поскольку датчик не излучает сигнал (например, ранее упомянутый ультразвуковой датчик), его наказывают «пассивным». Когда обнаружено изменение, датчик HC-SR501 изменяет выходной сигнал.

Для повышения чувствительности и эффективности датчика HC-SR501 используется метод фокусировки инфракрасного излечения на устройство, достигается, это с помощью «Линзы Френеля». Линза выполнен из пластика и выполнена в виде купола и фактически состоит из нескольких небольших линз Френеля. Хоть пластик и полупрозрачен для человека, но на самом деле полностью прозрачен для инфракрасного света, поэтому он также служит в качестве фильтра.

HC-SR501 — недорогой датчик PIR, который полностью автономный, способный работать сам по себе или в сопряжении с микроконтроллером. Датчик имеет регулировку чувствительности, которая позволяет определять движение от 3 до 7 метров, а его выход можно настроить так, чтобы он оставался высоким в течение времени от 3 секунд до 5 минут. Так же, датчике имеет встроенный стабилизатор напряжения, поэтому он может питаться от постоянного напряжения от 4,5 до 20 вольт и потребляет небольшое количество тока. HC-SR501 имеет 3-контактный разъем, назначение следующие:

► VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока. ► OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен. ► GND — заземление.

►  SENSITIVITY — устанавливает максимальное и минимальное расстояние (от 3 метров до 7 метров). ►  TIME (ВРЕМЯ) — время, в течение которого выход будет оставаться HIGH после обнаружения. Как минимум, 3 секунды, максимум 300 секунд или 5 минут.

►  H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение. ►  — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.

На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.

►  RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора. ►  RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.

Пример №1: HC-SR501 как самостоятельное устройство.

Необходимые детали: Датчика движения HC-SR501 x 1 шт. ► Модуль реле (1-но канальный) x 1 шт. ► Транзистор 2SC1213 x 1 шт. ► Лампа на 220V (75W) с патроном x 1 шт. Источник питания на 5V x 1 шт. ► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.

Подключение: При включение HC-SR501 требуется калибровка, занимает от 30 до 60 секунд, так-же датчик имеет период «перезагрузки» около 6 секунд (после срабатывания), за это время он не реагирует на движения. В этом примере используем HC-SR501 и  модуль реле (1-но канальный), а так же NPN транзистор (в примере используется 2SC1213).  Питание датчика HC-SR501 осуществляется от 5 В, поскольку, это же питание требуется и реле, а в качестве нагрузки используется лампа на 220В. Так-как выходной сигнал HC-SR501 слабый (на практике хватает только чтобы зажечь светодиод), один из вариантов, можно применить любой биполярный NPN транзистор.

Внимание! Соблюдайте технику безопасность и будьте аккуратно!

Работа этой схемы очень проста, после включения и калибровка, датчик начинает считывать показания. При обнаружении движения, датчик меняет значение на выводе «OUT».

Пример №2: HC-SR501 добавление фоторезистора

Необходимые детали: Датчика движения HC-SR501 x 1 шт. ► Модуль реле (1-но канальный) x 1 шт. ► Транзистор 2SC1213 x 1 шт. ► Лампа на 220V (75W) с патроном x 1 шт. Источник питания на 5V x 1 шт. Фоторезистор  x 1 шт. ► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.

Как только установили фоторезистор, включите схему и немного подождите, пока датчик HC-SR501 от калибруется. Если все правильно подключено (и в помещении включен свет), ничего не произойдет, фоторезистор предотвращает запуск HC-SR501 при освещенной комнаты. Теперь выключим свет и HC-SR501 будет запускаться всякий раз, когда он замечает активность.

Arduino UNO R3 x 1 шт. Датчика движения HC-SR501 x 1 шт. ► Светодиоды 5 мм x 3 шт. ► Резистор 0,125W, 320Om x 3 шт. ► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.

  • Красный светодиод — этот светодиод указывает, что датчик не готов.
  • Желтый светодиод — этот светодиод указывает, что датчик готов к обнаружению движения.
  • Зеленый светодиод — этот светодиод горит в течение 3 секунд при срабатывании датчика.  Вместо светодиода, можно управлять внешним выходом (например, модулем реле, который мы использовали ранее).

Схема подключения:

Перемычка на HC-SR501 необходимо установить в положение «L», а так-же необходимо установить время на минимум (5 секунд), для этого поверните потенциометр в лева до упора. Теперь, когда вы все подключились, необходимо загрузить скетч.

  Скачать скетч

Загружаем данный скетч в контроллер Arduino. При включении загорится красный светодиод, который сигнализирует о подготовке датчика (горит 1 минуту). По истечении минуты загорится желтый светодиод , а красный погаснет, это означает что, датчик готов к обнаружению движения. Как только датчик обнаружит движение движение, загорится зеленый светодиод, который будет светится в течение трех секунд.

  Контроллер Arduino UNO R3 на CH340G   Контроллер Arduino UNO R3 на Atmega16U2   Провода DuPont, 2,54 мм, 20 см   Инфракрасный датчик движения HC-SR501

Купить в Самаре и области   Контроллер Arduino UNO R3 на CH340G   Контроллер Arduino UNO R3 на Atmega16U2   Провода DuPont, 2,54 мм, 20 см   Инфракрасный датчик движения HC-SR501

Преимущество применения для дома

Автоматический выключатель света состоит из двух компонентов. Это приемник сигнала и передатчик. В качестве приемника используется радиоуправляемое реле, которое получает команду и замыкает цепь. Передатчик реагирует на действие и подает сигнал.

Инфракрасные выключатели имеют ряд преимуществ. К ним относятся:

  • простота монтажа;
  • контроль сразу всех осветительных приборов;
  • экономия расхода электроэнергии;
  • широкий радиус приема сигнала в зависимости от модели;
  • дополнительная безопасность помещения (эффект присутствия в доме);
  • комфорт включения и выключения света;
  • электрическая безопасность, так как устройство слаботочное;
  • дистанционное регулирование яркости света.
image
image
image
image
image

Устройство датчика движения

Конструкция датчика содержит две части – неподвижную, которая крепится к поверхности, и подвижную. Подвижная часть имеет две степени свободы и может поворачиваться на 30-400 в горизонтальной и вертикальной плоскостях.

В разобранном виде датчик движения LX-02 выглядит вот так:

Читайте также:  Хороший мультиметр, какой лучше выбрать для дома и авто

image

Вид плат со стороны деталей

Вид с обратной стороны (со стороны пайки деталей):

image

Вид плат датчика движения со стороны пайки

В устройстве применяются основные детали:

  • микросхема – LM324, это четыре операционных усилителя в одном корпусе. Даташит можно скачать здесь: • LM324,224,2902 Operational Amplifiers.pdf / , pdf, 134.11 kB, скачан: 3125 раз./
  • датчик движения – PIR D203S или 1VY7015
  • транзистор типа S9013 – биполярный средней мощности. Даташит можно скачать здесь: • S9013 / , pdf, 62.29 kB, скачан: 1567 раз./
  • реле SHD-24VDC-F-A.

Со стороны ключа микросхемы – регулировка освещенности, рядом – регулировка времени включения.

Как устроены выключатели, реагирующие на взмах руки

image Любой инфракрасный выключатель состоит из двух основных компонентов: передающего и принимающего. Выключатель, реагирующий на взмах руки, срабатывает при регистрации теплового излучения от человека. Подобные устройства удобно использовать на кухне, при подсветке зеркала в ванной комнате, в темных помещениях. В роли сенсора выступает пироэлектрический датчик, который фиксирует инфракрасное излучение объекта.

Устройство

Выключатель состоит из реле и контроллера в корпусе и инфракрасного датчика, который подключен к нему на проводе. Корпус оснащен «язычком» для крепления на стене. Корпус ставится в максимальной близости к осветительному прибору. Также его можно вмонтировать в распределительную коробку.

Реле должно быть установлено в зоне видимости передатчика.

Принцип работы

Прибор работает по следующему принципу. Он реагирует на взмах руки в близости от сенсора, свет в помещении загорается. Если повторно взмахнуть рукой, свет погаснет. Радиус срабатывания равен 1-6 см.

Установленный датчик фиксирует движение человека. В схеме происходит следующее – происходит замыкание цепи, в результате чего загорается лампочка. Когда движение прекращается и проходит заранее выставленный промежуток времени, цепь размыкается и лампа погасает.

Схемы датчиков движения

Схема датчика выглядит примерно так.

Читайте также:  Какие бывают виды освещения? Обзор основных видов источника света их классификация и нюансы применения (видео + 125 фото)

Схема датчика движения LX-02 и аналогов

Вот ещё подобная схема, но более простая. Это схема охранного датчика. Выражаю благодарность источнику – www.guarda.ru.

Датчик движения. Схема 2

В различных моделях датчика схема может незначительно изменяться, но принцип работы один. Коротко его можно описать так.

Сигнал с пиродатчика (чаще всего применяется 1vy7015) поступает на усилитель, далее работает компаратор, с выхода которого сигнал через транзистор идет на катушку реле. Реле своими контактами включает-выключает нагрузку.

4 микросхемы, изображенные на схеме, не должны вводить в заблуждение – на самом деле, это одна микросхема, в корпусе которой 4 операционных усилителя с общим питанием.

Какие бывают

Существует несколько видов выключателей. Это автоматические устройства с сенсором движения, механические и электронные.

Автоматические с датчиком движения

Для автоматического выключения используются следующие датчики движения:

  • акустические (реагируют на звук);
  • инфракрасные (реагируют на ИК излучение от тела);
  • ультразвуковые;
  • микроволновые.

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

ИК выключатели реагируют на тепло человека. Но также срабатывают на тепло животных и нагретые батареи. Они требуют тщательной настройки и установки в место, где не действуют отопительные системы.

Электронные и механические

Что такое Ардуино

Фирма Arduino Software выпускает различные модели микропроцессоров и других электронных устройств. Однако, если в разговоре упоминается об Ардуино, в виду чаще всего имеется микрокомпьютер Arduino Uno. Это небольшая плата, на которой установлен процессор и электронные компоненты. По своим функциональным возможностям это устройство близко к материнским платам компьютеров, хоть и с урезанными возможностями.

Читайте также:  Что такое обмотка трансформатора: принципы работы, задачи, возможности

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

Где используются

Микропроцессоры Ардуино уже успели стать незаменимыми во множестве систем и комплексов:

  • управление различными датчиками;
  • мультитестеры;
  • квадрокоптеры;
  • светофоры;
  • системы умного дома;
  • робототехнические системы;
  • вентиляционные комплексы;
  • охранные системы;
  • метеорологические системы и так далее.

Этот список нельзя назвать исчерпывающим, поскольку новые устройства под управлением Ардуино появляются практически ежедневно.

Инфракрасный датчик движения Ардуино можно использовать не только в управляющих, технологических или охранных комплексах. Датчики движения встречаются в устройствах декоративного, развивающего или информационного характера:

  • игрушки;
  • оснащение предметов или аттракционов в квест-румах;
  • интерактивные арт-инсталляции и так далее.

Единственным ограничением является необходимость составления специальных программ для микропроцессора. Они закачиваются в него с обычного компьютера через интерфейс USB, для чего надо предварительно написать код. Это доступно только программистам, владеющим языком С++. Однако, в сети немало готовых программ для Ардуино, которые можно использовать для решения разных задач.

Пример программы

Простейший скетч для датчика движения Ардуино выглядит следующим образом:

Текст скетча можно скачать здесь: здесь

Это самая простая программа, которая плохо подходит для выполнения практических задач. Чаще всего ее используют для тестирования датчиков и проверки их работоспособности. Основным недостатком этого скетча является отсутствие возможности определить количество и размер регистрируемых объектов, что будет приводить к ложным срабатываниям. Для практического использования составляют более сложные скетчи, которые включают увеличенное количество команд (строк кода).

Дополнительные опции

Современный инфракрасный выключатель работает от пульта дистанционного управления. Для этого устройство программируется на определенный тип пульта, задаются определенные действия на кнопки. Для управления можно использовать обычный телевизионный пульт ДУ. Выключатель может быть оснащен фотореле. Такие устройства применятся для уличного освещения, когда нет необходимости тратить энергию.

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

Задержка выключения. Важная функция, так как при отсутствии движения свет погаснет. Параметр настраивается пользователем.

Выбор по цене и производителю

Подобрать подходящий прибор можно по следующим критериям:

  • по источнику питания – выключатель от сети 220 В или от аккумулятора;
  • по технологии обнаружения движения – инфракрасный, акустический, микроволновый, ультразвуковой, комбинированный;
  • по углу обзора – диапазон измерения от 90 градусов до 36 градусов;

Приборы с большим углом обзора стоят дороже.

  • радиус действия – от 5 до 20 метров;
  • мощность выключателя – зависит от того, сколько светильников будет подключаться к нему;
  • по способу крепления;
  • по наличию дополнительных функций.

Важно уделить внимание и выбору производителя. Не рекомендуется покупать китайские отвары от неизвестных фирм. Такие выключатели могут не выполнять своих обязанностей и прослужить меньший срок. К лучшим производителям относят изделия фирм Simon, PROxima, Legrand, Camelion, Schneider Electric.

Цены на выключатели начинаются от 400 рублей. Стоимость возрастает, если брать прибор известной фирмы, покупать изделия с дополнительными функциями или изготавливать устройство на заказ.

Для домашнего использования не требуется сверхдорогая модель. Можно приобрести PROxima MS-2000 EKF с ИК датчиком, который обойдется в 450 рублей. Также удачным вариантом для загородного дома или коттеджа будет Camelion LX-16C/BI, выполненный в прочном пластике и выдерживающий температуры от -20 градусов до +40 градусов.

Подключение датчика движения

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

У меня такое было, когда в инструкции были указаны одни цвета проводов, а реально – другие.

Датчик движения и датчик освещенности (фотореле, или сумеречное реле) подключаются совершенно одинаково, поэтому на схеме ниже источником воздействия указан свет.

Выводы для подключения датчика движения и датчика освещения

Схема подключения датчика движения и освещенности.

Как видно, данная схема подключения не отличается от схемы включения лампочки через обычный выключатель. Разница только в том, что при подключении участвует ещё и нулевой провод, и в том, что на выключатель воздействует человеческая рука, а на датчик – движение или свет.

Читайте также:  Как выбрать светодиодную лампу: правила и критерии выбора LED лам. Советы экспертов как правильно выбрать качественную лампу (95 фото)

Как подключить датчик движения, показано также на схеме в инструкции (ниже).

На схеме указаны и цвета проводов. Также обозначения выводов обычно выштампованы на корпусе около каждого вывода.

Цвет выводов для подключения датчика LX:

  • коричневый (черный) – вход фазы (для включения освещения и питания внутренней схемы)
  • голубой (зеленый, синий) – ноль для питания электронной схемы датчика, для питания освещения не используется.
  • красный – выход фазы (подключение нагрузки)

Нагрузка (лампочка) подключается к нулю и выходу.

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

Общие рекомендации

Инфракрасный выключатель после покупки нужно отрегулировать. Для этого требуется сделать следующее:

  • отрегулировать чувствительность сенсора;
  • установить время работы во включенном состоянии;
  • если прибор оснащен микрофоном, его также следует отрегулировать.

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

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

Инструкция к датчику движения

Поскольку в данной статье рассмотрена модель LX-02 (SEN15), инструкция на этот датчик приведена ниже.

Инструкция к датчику движения LX-02

Вот в принципе и всё, что я хотел рассказать про устройство и схему датчика движения.

Кстати, у меня есть ещё несколько статей касательно этой темы:

  • Описание, применение и параметры
  • Установка уличных датчиков на больших площадях
  • Различные расширенные схемы включения
  • Светодиодный светильник

Тема ремонта датчика раскрыта в статье Ремонт датчика движения своими руками. Пошаговое руководство. Там же приведена и рассмотрена схема датчика движения на специализированной микросхеме LP8072C.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий