Инфракрасный датчик ардуино. PIR-датчик: описание и инструкция по подключению

В этой статье описано создание датчика движения на основе модулей с пассивным ИК датчиком. Есть много моделей модулей с PIR датчиком от разных производителей, но в основе у них лежит один принцип. Они имеют один выход, который дает сигнал низкого или высокого уровня (в зависимости от модели) при обнаружении движения. В моем проекте микроконтроллер PIC12F635 постоянно следит за логическим уровнем на выходе модуля с датчиком и включает зуммер, когда он высокий.

Теория

Некоторые кристаллические материалы обладают свойством генерировать поверхностный электрический заряд при контакте с тепловым ИК излучением. Это явление известно как пироэлектричество. Пассивные модули с ИК датчиком работают на основе этого принципа. Тело человека излучает тепло в виде ИК излучения с максимальной длиной волны около 9,4 мкм. Появление человека создает внезапные изменения в ИК диапазоне окружающей среды, что воспринимается пироэлектрическим датчиком. Модуль с PIR датчиком имеет элементы которые усиливают сигнал для его соответствия логическим уровням. Перед началом работы датчику необходимо от 10 до 60 секунд для ознакомления с окружающей средой для дальнейшего нормального функционирования. В это время следует избегать движений в поле зрения датчика. Датчик действует на расстояние до 20 футов и не реагирует на естественные изменения окружающей среды, связанные с течение времени. При этом, датчик реагирует на любое резкое изменение окружающей среды(например появление человека). Модель с датчиком не следует размещать рядом с батареями, розетками и любыми другими предметами быстро меняющими свою температуру, т.к. это приведёт к ложному срабатыванию. Модули с PIR датчиком обычно имеют 3 контакта: Vcc, Выход и GND. Цоколевка у разных производителей может отличаться, поэтому я рекомендую проверить документацию. Также значение вывода может быть обозначено прямо на плате. На моём датчике таких обозначений нет. Он может работать при напряжении питания от 5 до 12V и имеет свой собственный встроенный стабилизатор напряжения. При наличии движения на выходе датчика появляется высокий логический уровень. Также он имеет 3х контактный джампер для установки режима работы. Боковые контакты имеют метки H и L. Когда перемычка находится в положении H, при срабатывании датчика несколько раз подряд на его выходе остается высокий логический уровень. В положении L, на выходе при каждом срабатывании датчика появляется отдельный импульс. Передняя часть модуля имеет линзу Френеля для фокусировки ИК излучения на чувствительный элемент.

Схема и конструкция

Схема датчика движения довольно проста. Устройство работает от 4 AA батарей, которые дают 6V. На диоде, который используется как защита от неправильного подключения питания, напряжение падает до 5,4V. Я проверял схему с NI-MH аккумулятором 4,8 V и она работала, но я рекомендую использовать щелочные батарейки по 1,5V каждая для лучшей производительности. Вы можете также использовать батареи 9V , но тогда вам необходим стабилизатор LM7805. Выход с модуля контролируется микроконтроллером PIC12F635 через порт GP5 (вывод 2). При движении на выходе датчика появляется напряжение около 3,3 V. Это напряжение распознаётся микроконтроллером ка высокий логический уровень, но я предпочел использовать это напряжение для управления NPN транзистором BC547, коллектор которого подключил к микроконтроллеру. Когда транзистор закрыт, на его коллекторе высокий логический уровень (+5V). При движении на выходе модуля появляется высокий логический уровень который насыщает транзистор и напряжение на его коллекторе падает до низкого логического уровня. Перемычки на датчике находится в позиции H, так что выходной сигнал датчика будет оставаться высоким до тех пор, пока движение не прекратится. Микроконтроллер PIC12F635 использует внутренний тактовый генератор, работающий на частоте 4,0 МГц.

Светодиод, подключенный к порту GP4 через токоограничивающий резистор мигает 3 раза при подключении питания. Пьезоэлектрический зуммер EFM-290ED подключенный к порту GP2 сообщает о наличии движения. Пьезоэлектрический зуммер дает максимально громкий звук на своей резонансной частоте. Зуммер который я использовал, имеет резонансную частоту 3,4 ± 0,5 кГц. После экспериментов с ним, я обнаружил, что максимальный звук он дает на частоте около 372 Гц. Хотя в документации сказано, что рабочее напряжение составляет от 7-12V, он работает и от напряжения 5V.

Программа

Программа написана на С и скомпилирована в для PIC. При подаче питания светодиод мигает три раза и это свидетельствует о успешном запуске. После этого микроконтроллер ждет 60 секунд до начала проверки значения на выходе с датчика. Это требуется для стабилизации датчика. Когда микроконтроллер определяет срабатывание датчика, он запускает пьезозуммер на частоте 3725Гц. MikroC имеет встроенную библиотеку для генерации звука (Sound_Play()). Зуммер издает звук до тех пор, пока датчик ощущает движение. Когда движение прекращается, логический уровень на выходе датчика изменяется, но зуммер не замолкает сразу, а еще в течение примерно 10 секунд издает звук на частоте 3570Гц. Если он обнаруживает движение снова, он опять запустится на частоте 3725 Гц. Этот проект использует внутренний генератор запущенный на частоте 4,0 МГц, MCLR и сторожевой таймер выключены.

/* Project: PIR Motion Sensor Alarm (PIC12F635) Piezo: EFM-290ED, 3.7 KHz connected at GP2 PIR sensor module in retriggering mode Internal Clock @ 4.0 MHz, MCLR Disabled, WDT OFF */ sbit Sensor_IP at GP5_bit; // sensor I/P sbit LED at GP4_bit; // LED O/P unsigned short trigger, counter; void Get_Delay(){ Delay_ms(300); } void main() { CMCON0 = 7; TRISIO = 0b00101000; // GP5, 5 I/P"s, Rest O/P"s GPIO = 0; Sound_Init(&GPIO,2); // Blink LED at Startup LED = 1; Get_Delay(); LED = 0; Get_Delay(); LED = 1; Get_Delay(); LED = 0; Get_Delay(); LED = 1; Get_Delay(); LED = 0; Delay_ms(60000); // 45 Sec delay for PIR module stabilization counter = 0; trigger = 0; do { while (!Sensor_IP) { // Sensor I/P Low Sound_Play(3725, 600); Delay_ms(500); trigger = 1; counter = 0; } if (trigger) { Sound_Play(3570, 600); Delay_ms(500); counter = counter+1; if(counter == 10) trigger=0; } }while(1); } // End main()

Фото устройства:

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит

PIC12F635

1 В блокнот
Биполярный транзистор

BC547

1 В блокнот
Резистор

1 кОм

1 В блокнот
Резистор

10 кОм

1 В блокнот
Резистор

470 Ом

1 В блокнот
Светодиод 1

Тема сегодняшнего урока — датчик движения на основе пироэлектрического эффекта (PIR, passive infrared motion sensor). Такие датчики часто используются в охранных системах и в быту для обнаружения движения в помещении. Например, на принципе детектирования движения основано автоматическое включение света в подъезде или в ванной. Пироэлектрические датчики достаточно простого устроены, недороги и неприхотливы в установке и обслуживании. Кстати сказать, существуют и другие способы детектирования движения. Сегодня всё чаще используют системы компьютерного зрения для распознавания объектов и траектории их перемещения. В тех же охранных системах применяются лазерные детекторы, которые дают тревожный сигнал при пересечении луча. Также используются тепловизионные датчики, способные определить движение только живых существ.

1. Принцип действия пироэлектрических датчиков движения

Пироэлектрики — это диэлектрики, которые создают электрическое поле при изменении их температуры. На основе пироэлектриков делают датчики измерения температуры, например, LHI778 или IRA-E700. Каждый такой датчик содержит два чувствительных элемента размером 1×2 мм, подключенных с противоположной полярностью. И как мы увидим далее, наличие именно двух элементов поможет нам детектировать движение. Вот так выглядит датчик IRA-E700 компании Murata. На этом уроке мы будем работать с датчиком движения HC-SR501, в котором установлен один такой пироэлектрический датчик. Сверху пироэлектрик окружен полусферой, разбитой на несколько сегментов. Каждый сегмент этой сферы представляет собой линзу, которая фокусирует тепловое излучение на разные участки ПИР-датчика. Часто в качестве линзы используют линзу Френеля.
Принцип работы датчик движения следующий. Предположим, что датчик установлен в пустой комнате. Каждый чувствительный элемент получает постоянную дозу излучения, а значит и напряжение на них имеет постоянное значение (левый рисунок).
Как только в комнату заходит человек, он попадает сначала в зону обзора первого элемента, что приводит к появлению положительного электрического импульса на нем (центральный рисунок). Человек движется, и его тепловое излучение через линзы попадает уже на второй PIR-элемент, который генерирует отрицательный импульс. Электронная схема датчика движения регистрирует эти разнонаправленные импульсы и делает выводы о том, что в поле зрения датчика попал человек. На выходе датчика генерируется положительный импульс (правый рисунок).

2. Настройка HC-SR501

На этом уроке мы будем использовать модуль HC-SR501. Этот модуль очень распространен и применяется во множестве DIY проектов в силу своей дешевизны. У датчика имеется два переменных резистора и перемычка для настройки режима. Один из потенциометров регулирует чувствительность прибора. Чем она больше, тем дальше «видит» датчик. Также чувствительность влияет на размер детектируемого объекта. К примеру, можно исключить из срабатывания собаку или кошку.
Второй потенциометр регулирует время срабатывания T . Если датчик обнаружил движение, он генерирует на выходе положительный импульс длиной T . Наконец, третий элемент управления — перемычка, которая переключает режим датчика. В положении L датчик ведет отсчет Т от самого первого срабатывания. Допустим, мы хотим управлять светом в ванной комнате. Зайдя в комнату, человек вызовет срабатывание датчика, и свет включится ровно на время Т . По окончании периода, сигнал на выходе вернется в исходное состояние, и датчик будет дать следующего срабатывания. В положении H датчик начинает отсчет времени T каждый раз после обнаружения движения. Другими словами, любое шевеление человека вызовет обнуление таймера отсчета Т . По-умолчанию, перемычка находится в состоянии H .

3. Подключение HC-SR501 к Ардуино Уно

Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:
HC-SR501 GND VCC OUT
Ардуино Уно GND +5V 2
Принципиальная схема
Внешний вид макета
Программа Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае. const int movPin = 2 void setup() { Serial.begin(9600); pinMode(movPin, INPUT); } void loop(){ int val = digitalRead(movPin); Serial.println(val); delay(100); } Загружаем программу на Ардуино и проверяем работу датчика. Можно покрутить настройки датчика и посмотреть как это отразится на его работе.

4. Управление светом на основе датчика движения

Следующий шаг — система автоматического включения света. Для того, чтобы управлять освещением в помещении, нам потребуется добавить в цепь реле. Будем использовать модуль реле с защитой на основе опторазвязки, о котором мы уже писали в одном и уроков (урок про реле ). Внимание! Данная схема зажигает лампу от сети 220 Вольт. Рекомендуется семь раз проверить все соединения, прежде чем соединять схему с бытовой электросетью. Принципиальная схема
Внешний вид макета
Программа Теперь напишем программу, которая будет при срабатывании датчика включать реле, а следовательно и освещение в комнате. const int movPin = 2; const int relPin = 3; void setup() { Serial.begin(9600); pinMode(movPin, INPUT); pinMode(relPin, OUTPUT); } void loop(){ int val = digitalRead(movPin); if (val) digitalWrite(relPin, HIGH); else digitalWrite(relPin, LOW); } Загружаем программу на Ардуино, аккуратно подключаем схему к бытовой сети и проверяем работу датчика. Заключение Датчики движения окружают нас повсюду. Благодаря охранным системам, их можно встретить практически в каждом помещении. Как мы выяснили, они очень просты в использовании и могут быть легко интегрированы в любой проект на Ардуино или Raspberry Pi. Вот несколько ситуаций и мест, где может пригодиться датчик движения:
  • автоматическое включение света в подъезде дома, в ванной комнате и туалете, перед входной дверью в помещение;
  • сигнализация в помещении и во дворе;
  • автоматическое открывание дверей;
  • автоматическое включение охранной видеокамеры.
Как уже говорилось в самом начале, существуют и другие способы детектирования движения. О них мы поговорим на следующих уроках!

Обзор датчика пространства HC-SR501

Модуль датчика движения (или присутствия) HCSR501 на основе пироэлектрического эффекта состоит из PIR-датчика 500BP (рис. 1) с дополнительной электрической развязкой на микросхеме BISS0001 и линзы Френеля, которая используется для увеличения радиуса обзора и усиления инфракрасного сигнала (рис. 2). Модуль используется для обнаружения движения объектов, излучающих инфракрасное излучение. Чувствительный элемент модуля – PIR-датчик 500BP. Принцип его работы основан на пироэлектричестве. Это явление возникновения электрического поля в кристаллах при изменении их температуры.

Управление работой датчика осуществляет микросхема BISS0001. На плате расположены два потенциометра, с помощью первого настраивается дистанция обнаружения объектов (от 3 до 7 м), с помощью второго - задержка после первого срабатывания датчика (5 - 300 сек). Модуль имеет два режима – L и H. Режим работы устанавливается с помощью перемычки. Режим L – режим единичного срабатывания, при обнаружении движущегося объекта на выходе OUT устанавливается высокий уровень сигнала на время задержки, установленное вторым потенциометром. На это время датчик не реагирует на движущиеся объекты. Этот режим можно использовать в системах охраны для подачи сигнала тревоги на сирену. В режиме H датчик срабатывает каждый раз при обнаружении движения. Этот режим можно использовать для включения освещения. При включении модуля происходит его калибровка, длительность калибровки приблизительно одна минута, после чего модуль готов к работе. Устанавливать датчик желательно вдали от открытых источников света.

Рисунок 1. PIR-датчик 500BP

Рисунок 2. Линза Френеля

Технические характеристики HC-SR501

  • Напряжение питания: 4.5-20 В
  • Ток потребления: 50 мА
  • Напряжение на выходе OUT: HIGH – 3,3 В, LOW – 0 В
  • Интервал обнаружения: 3-7 м
  • Длительность задержки после срабатывания: 5 - 300 сек
  • Угол наблюдения до 120
  • Время блокировки до следующего замера: 2.5сек.
  • Режимы работы: L - одиночное срабатывание, H - срабатывание при каждом событии
  • Рабочая температура от -20 до +80C
  • Габариты 32x24x18 мм

Подключение инфракрасного датчика движения к Arduino

Модуль имеет 3 вывода (рис. 3):
  • VCC - питание 5-20 В;
  • GND - земля;
  • OUT - цифровой выход (0-3.3В).

Рисунок 3. Назначение контактов и настройка HC-SR501

Подключим модуль HC-SR501 к плате Arduino (Схема соединений на рис. 4) и напишем простой скетч, сигнализирующий звуковым сигналом и сообщением в последовательный порт, при обнаружении движущегося объекта. Для фиксации срабатываний микроконтроллером будем использовать внешние прерывания на вход 2. Это прерывание int0.

Рисунок 4. Схема соединений подключения модуля HC-SR501 к плате Arduino

Загрузим скетч из листинга 1 на плату Arduino и посмотрим как датчик реагирует на препятствия (см. рис. 5). Модуль установим в режим работы L. Листинг 1 // Скетч к обзору датчика движения/присутствия HC-SR501 // сайт // контакт подключения выхода датчика #define PIN_HCSR501 2 // флаг сработки boolean flagHCSR501=false; // контакт подключения динамика int soundPin=9; // частота звукового сигнала int freq=587; void setup() { // инициализация последовательного порта Serial.begin(9600); // запуск обработки прерывания int0 attachInterrupt(0, intHCSR501,RISING); } void loop() { if (flagHCSR501 == true) { // Сообщение в последовательный порт Serial.println("Attention!!!"); // звуковая сигнализация на 5 сек tone(soundPin,freq,5000); // обнулить флаг сработки flagHCSR501 = false; } } // обработка прерывания void intHCSR501() { // установка флага сработки датчика flagHCSR501 = true; }

Рисунок 5. Вывод данных в монитор последовательного порта

С помощью потенциометров экспериментируем с длительностью сигнала на выходе OUT и чувствительностью датчика (расстоянием фиксации объекта).

Пример использования

Создадим пример отправки sms при срабатывании датчика движения/присутствия на охраняемом объекте. Для этого будем использовать GPS/GPRS шилд. Нам понадобятся следующие детали:
  • плата Arduino Uno
  • GSM/GPRS шилд
  • npn-транзистор, например С945
  • резистор 470 Ом
  • динамик 8 Ом 1Вт
  • провода
Соберем схему соединений согласно рис. 6.

Рисунок 6. Схема соединений

При срабатывании датчика вызываем процедуру отправки sms с текстовым сообщением Atten tion!!! на номер PHONE. Содержимое скетча представлено в листинге 2. GSM/GPRS шилд в режиме отправки sms потребляет ток до 2 А, поэтому используем внешний источник питания 12В 2А. Листинг 2 // Скетч 2 к обзору датчика движения/присутствия HC-SR501 // отправка sms при срабатывании датчика // сайт // контакт подключения выхода датчика #define PIN_HCSR501 2 // флаг сработки boolean flagHCSR501 false; // контакт подключения динамика int soundPin=9; // частота звукового сигнала int freq=587; // библиотека SoftwareSerial #include // номер телефона для отправки sms #define PHONE "+79034461752" // Выводы для SoftwareSerial (у вас могут быть 2,3) SoftwareSerial GPRS(7, 8); void setup() { // инициализация последовательного порта Serial.begin(9600); // запуск обработки прерывания int0 attachInterrupt(0, intHCSR501,RISING); // для обмена с GPG/GPRS шилдом GPRS.begin(19200); } void loop() { if (flagHCSR501 == true) { // Сообщение в последовательный порт Serial.println("Attention!!!"); // звуковая сигнализация на 5 сек tone(soundPin,freq,5000); // отправить sms SendSMS(); // обнулить флаг сработки flagHCSR501 = false; } } // обработка прерывания void intHCSR501() { // установка флага сработки датчика flagHCSR501 = true; } // подпрограмма отправки sms void SendSMS() { // AT-команда установки text mode GPRS.print("AT+CMGF=1\r"); delay(100); // номер телефона GPRS.print("AT + CMGS = \""); GPRS.print(PHONE); GPRS.println("\""); delay(200); // сообщение GPRS.println("Attention!!!"); delay(200); // ASCII код ctrl+z – окончание передачи GPRS.println((char)26); delay(200); GPRS.println(); }

Часто задаваемые вопросы FAQ

1. Модуль не срабатывает при движении объекта
  • Проверьте правильность подключения модуля.
  • Настройте потенциометром дистанцию срабатывания.
2. Датчик срабатывает слишком часто
  • Настройте потенциометром задержку длительности сигнала.
  • Установите перемычку в режим единичного срабатывания L.

Принцип работы PIR датчиков и типовая электрическая схема устройства. Любой человек становится источником теплового излучения. Длина волны этого излучения зависит от температуры и находится в инфракрасной части спектра. Это излучение улавливается специальными датчиками, которые называют PIR-датчики.

PIR - это сокращённое «passive infrared - пассивные инфракрасные» датчики. Пассивные - потому что датчики сами не излучают, а только воспринимают излучение с длиной волны от 7 до 14 мкм. PIR-датчик содержит чувствительный элемент, который реагирует на изменение теплового излучения. Если оно остается постоянным - электрический сигнал не генерируется. Чтобы датчик среагировал на движение, применяют линзы Френеля с несколькими фокусирующими участками, которые разбивают общую тепловую картину на активные и пассивные зоны, расположенные в шахматном порядке. Человек, находясь в сфере работы датчика, занимает несколько активных зон полностью или частично. Поэтому, даже при минимальном движении происходит перемещение из одних активных зон в другие, что вызывает срабатывание датчика. А вот фоновая тепловая картина меняется очень медленно и равномерно, поэтому датчик на нее не реагирует. Высокая плотность активных и пассивных зон позволяет датчику надежно определить присутствие человека при малейшем движении.

Данная схема основана на микросхеме HT7610A , которая как раз и предназначена для использования в автоматических PIR-лампах или сигнализациях. Он может работать в 3-х проводной конфигурации для передачи сигнала. В данном проекте использовано реле вместо тиристора, как это часто делается, для подключения любого рода нагрузки. Внутри микросхемы есть операционный усилитель, компаратор, таймер, детектор перехода через ноль, схема управления, регулятор напряжения, генератор и выход синхронизации генератора.

PIR датчик обнаруживает инфракрасный изменённый сигнал, вызванный движением человеческого тела и преобразует его в колебания напряжения. Схеме не требуется понижающий трансформатор и она может работать непосредственно от 220V. Балластный конденсатор С7 должен быть на 0.33uF/275V, а лучше на 400V.

Особенности схемы датчика

  • Рабочее напряжение схемы: 5V-12V.
  • Ток нагрузки 80 мА, когда реле включено.
  • В режиме ожидания ток: 100 мкА
  • ON/AUTO/OFF режимы работы.
  • Автосброс, если сигнал исчезает за 3 секунды.
  • Релейный выход для подключения нагрузки.
  • Фоторезистор LDR для обнаружения дневного/ночного режима.
  • Джампер J1 для установки режима.
  • Резистор PR1 устанавливает чувствительность датчика.
  • Резистор PR2 устанавливает выходную продолжительность сигнала состояния выхода.

Схема PIR датчика предлагает три режима работы (ON, AUTO, OFF), которые могут быть установлены вручную джампером J1. CDS система представляет собой КМОП-триггер Шмитта, что используется, чтобы различать дневное и ночное время.

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

Урок подойдет начинающим, но будет интересен и более опытным инженерам.

Ниже весь список комплектующих, которые нам пригодятся для нашего урока.

1 x Плата Arduino (мы использовали Arduino Uno)
1 x Светодиод (LED, цвет не имеет значения)
1 x Резистор/сопротивление 220 Ом
1 x Макетная плата
1 x USB-кабель Arduino
1 x Батарейка 9 В с зажимом (опционально)
6 x Проводов

Шаг 2: Позиционирование деталей

Сначала подключите ультразвуковой датчик и светодиод на макетной плате. Подключите короткий кабель светодиода (катод) к контакту GND (земля) датчика. Затем установите резистор в том же ряду, что и более длинный провод светодиода (анод), чтобы они были соединены.

Шаг 3: Подключение частей

Теперь вам нужно подключить несколько проводов на задней панели датчика. Есть четыре контакта - VCC, TRIG, ECHO и GND. После вставки проводов вам необходимо выполнить следующие подключения:

Конец резистора на цифровой вывод по вашему выбору, просто не забудьте изменить его позже в коде.

Датчик -> Arduino
VCC -> 5V (питание)
TRIG -> 5*
ECHO -> 4*
GND -> GND (земля)

* - может быть подключен к любым двум цифровым выводам Arduino, просто убедитесь, что вы изменили их в коде позже.

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

Const int ledPin = 6; // Цифровой выход светодиода const int trigPin = 5; // Цифровой выход для подключения TRIG const int echoPin = 4; // Цифровой выход для подключения ECHO const int ledOnTime = 1000; // Время, в течение которого светодиод остается включенным, после обнаружения движения (в миллисекундах, 1000 мс = 1 с) const int trigDistance = 20; // Расстояние (и меньшее значение) при котором срабатывает датчик (в сантиметрах) int duration; int distance; void setup() { pinMode(ledPin, OUTPUT); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); digitalWrite(trigPin, HIGH); delay(1); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; if (distance <= trigDistance) { digitalWrite(ledPin, HIGH); delay(ledOnTime); digitalWrite(ledPin, LOW); } delay(100); }

Шаг 5: Конечный результат (видео)

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

Всем хороших проектов!