====== Инфракрасный датчик движения (Zelo-модуль) ======
[[amp>product/zelo-motion-sensor?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Инфракрасный датчик движения]] зафиксирует любое перемещения тёплых объектов: людей, животных и даже лунных рыб.
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor.4.jpg?nolink |}}
===== Видеообзор =====
{{youtube>E80SvaNzXQ4?large}}
===== Принцип работы =====
Каждый теплокровный объект является источником теплового излучения. Длина волны теплового излучения зависит от температуры и находится в инфракрасной части спектра. ИК излучение невидимо для глаза, но улавливается пироэлектрическими датчиками.
* В радиусе видимости датчика полная тишина. Каждый чувствительный элемент PIR-сенсора получает постоянную дозу излучения. Следовательно выдаваемое напряжение равноценно.
* В области видимости появляется человек. Персонаж первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс.
* Человек движется и пересекает второй элемент, который генерирует отрицательный импульс.
* Разнонаправленные импульсы регистрируются электронной схемой модуля, которая фиксирует перемещение объекта. В результате на выходе модуля генерируется положительный импульс.
{{ :продукты:zelo-motion-sensor:pir-detect.gif?nolink |}}
===== Примеры работы ======
==== Простой датчик движения ====
Инфракрасный датчик может работать даже без микроконтроллера. Соберите простой детектор движения объекта.
=== Что вам понадобится? ===
* [[amp>product/zelo-motion-sensor?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Датчик движения]]
* [[amp>product/troyka-relay?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Реле (Troyka-модуль)]]
* [[amp>product/zelo-ac-dc?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|AC/DC (Zelo-модуль)]]
* Лампа освещения на 220 вольт
=== Схема устройства ===
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_simple.png?nolink |}}
При появлении объекта в зоне видимости датчика, лампочка загорится.
Используйте инфракрасный датчик движения как одно из зёрен в своём умном доме. Тут уже не обойтись без [[amp>collection/arduino?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Arduino]], [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Raspberry Pi]] или [[amp>product/iskra-js?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Iskra JS]].
==== Пример для Arduino ====
Подключим датчик движения к [[amp>product/arduino-uno?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Arduino Uno]] через [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Troyka Shield]] к ''4'' цифровому пину.
=== Схема устройства ===
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_arduino_troyka-shield.png?nolink |}}
=== Код программы ===
Выведем в Serial-порт текущее состояние датчика с обновлением каждые 100 миллисекунд.
// пин инфракрасного датчика движения
#define MOTION_PIN 4
void setup()
{
// открываем монитор Serial-порта
Serial.begin(9600);
// настраиваем пин в режим входа
pinMode(MOTION_PIN, INPUT);
}
void loop()
{
// считываем состояние пина
int motionState = digitalRead(MOTION_PIN);
// выводим в Serial-порт
Serial.println(motionState);
delay(100);
}
После прошивки платы, вы увидите бегущие нули. А как только появится живой объект на горизонте — нули сменятся на единицы.
==== Пример для Iskra JS ====
Скоммутируем PIR-сенсор к [[amp>product/iskra-js?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Iskra JS]] через [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Troyka Shield]] к ''4'' цифровому пину.
=== Схема устройства ===
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_iskra-js_troyka-shield.png?nolink |}}
=== Код программы ===
Зафиксируем движение объекта с помощью Espruino и языка JavaScript.
// наблюдаем за датчиком движения
setWatch(function() {
// если датчик зафиксировал движение
// печатаем об этом в консоль
print("Movement detected");
}, P4, {
// функция вызывается многократно
repeat: true,
// фиксация восходящего фронта
edge: "rising"
});
В результате вы увидите сообщение в консоле, при обнаружении живого объекта в зоне видимости сенсора.
==== Пример для Raspberry Pi ====
Поймаем живой объект одноплатником [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Raspberry Pi]], например, [[amp>product/raspberry-pi-4-model-b-2-gb?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Raspberry Pi 4]]. Подключите сенсор движения к пину ''4'' Raspberry. Для избежания макеток и проводов используйте плату расширения [[amp>product/raspberry-troyka-cap?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Troyka Cap]].
=== Схема устройства ===
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_rpi.png?nolink |}}
=== Код программы ===
# библиотека для работы с методами языка Wiring (Arduino)
import wiringpi as wp
# инициализация WiringPi
wp.wiringPiSetup()
# пин 4 в режим входа
wp.pinMode(4, 0)
while (True):
# считываем состояние с датчика движения
motionState = wp.digitalRead(4)
# печатаем результат в консоль
print(motionState);
# ждём 100 мс
wp.delay(100)
После запуска скрипта вы увидите текущие показатели сенсора. Пока движения нет — в консоли выводятся нули, при обнаружении живого объекта — единицы.
===== Элементы платы =====
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_annotation.png?nolink |}}
==== Пироэлектрический сенсор с линзой Френеля ====
Модуль выполнен на пироэлектрическом сенсоре {{ :продукты:zelo-motion-sensor:rd-624_datasheet.pdf |RD-624}} в металлическом герметичном корпусе. Внутри компонента расположено два чувствительных элемента, которые смотрят на внешний мир через прямоугольное окно, которое пропускает инфракрасное излучение.
На пироэлектрический сенсор одевается Линза Френеля, которая концентрируют излучение, значительно расширяя диапазон чувствительности датчика.
==== Микросхема управления ====
Мозгом сенсора является микросхема {{:продукты:zelo-motion-sensor:biss0001_datasheet.pdf|BISS0001}}. Чип считывает и обрабатывает сигналы с PIR-сенсора. В итоге на выходе модуля бинарный цифровой. Есть движение — единица, нет — ноль.
==== Выбор режима работы ====
Режим работы модуля задается перемычкой . Есть два режима — режим H и режим L. На фото выше в модуле установлен режим H.
Режим H — в этом режиме при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень.
Режим L — в этом режиме на выходе при каждом срабатывании датчика появляется отдельный импульс.
==== Регулировка режимов работы ====
На модуле расположено три потенциометра отвечающие за подстройку режима работы:
* ''T.on'' — регулировка длительности сигнала при обнаружении движения объекта. Время на которое сенсор будет выдавать гарантированно высокий уровень при детектировании объекта. Диапазон длительности: от одной секунды до пяти минут.
* ''T.off'' — регулировка длительности игнорирования движения при повтором срабатывании датчика. Время на которое сенсор не будет реагировать на движущий объект при циклическом срабатывании датчика. Временной диапазон: от нуля до пяти секунд.
* ''SENS'' — регулировка чувствительности сенсора.
==== Световой индикатор ====
Индикаторный светодиод дублирующий выходной сигнал с датчика движения. При высоком уровне сигнала с модуля — светодиод горит, при низком — не горит.
==== Датчик освещённости ====
Датчик освещённости на фоторезисторе {{:продукты:zelo-motion-sensor:gl5528_datasheet.pdf|GL5528}}, подкорректирует чувствительность модуля на солнечный свет. Это удобно при необходимости отключение работы сенсора в дневное время суток.
==== Troyka-контакты ====
На модуле выведена группа Troyka-контактов:
* Сигнальный (S) — цифровой выход сенсора. Используется для передачи текущего состояния модуля. Подключите к цифровому пину микроконтроллера.
* Питание (V) — соедините с рабочим напряжением микроконтроллера.
* Земля (G) — соедините с землёй микроконтроллера.
===== Принципиальная и монтажная схемы =====
{{:продукты:zelo-motion-sensor:zelo-motion-sensor_schematic.png?direct&430 |}}
{{:продукты:zelo-motion-sensor:zelo-motion-sensor_layout_top.png?direct&220 |}}
{{:продукты:zelo-motion-sensor:zelo-motion-sensor_layout_bottom.png?direct&220 |}}
===== Габаритный чертёж =====
{{ :продукты:zelo-motion-sensor:zelo-motion-sensor_design.png?nolink |}}
===== Характеристики =====
* Напряжение питания: 3.3–5 В
* Расстояние наблюдения: 7 м
* Угол обзора: 110°
* Длительность сигнала при обнаружении движения (Ton): от 1 секунды до 5 минут
* Длительность игнорирования движения при повтором срабатывании (Toff): до 5 секунд
===== Ресурсы =====
* [[amp>product/zelo-motion-sensor?utm_source=man&utm_campaign=zelo-motion-sensor&utm_medium=wiki|Датчик движения]] в магазине
* [[https://github.com/amperka/hardware-drawings/blob/master/zelo-motion-sensor.svg|Векторное изображение модуля]]
* {{ :продукты:zelo-motion-sensor:rd-624_datasheet.pdf |Datasheet на пироэлектрический сенсор RD-624}}
* {{:продукты:zelo-motion-sensor:biss0001_datasheet.pdf|Datasheet на микросхему управления BISS001}}
* {{:продукты:zelo-motion-sensor:gl5528_datasheet.pdf|Datasheet на фоторезистор GL5528}}