Инфракрасный датчик движения обнаружит каждое движение тёплых объектов: людей, животных и даже лунных рыб.
Каждый теплокровный объект является источником теплового излучения. Длина волны теплового излучения зависит от температуры и находится в инфракрасной части спектра. ИК излучение невидимо для глаза, но улавливается пироэлектрическими датчиками.
Подключите датчик движения к Arduino Uno через Troyka Shield к 4
цифровому пину.
С Troyka Slot Shield, провода не понадобятся вовсе.
Выведете в 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); }
После прошивки платы, вы увидите бегущие нули. А как только появится живой объект на горизонте — нули сменятся на единицы.
Скоммутируйте PIR-сенсор к Iskra JS через Troyka Shield к 4
цифровому пину.
Чтобы полностью избавиться от проводов, возьмите Troyka Slot Shield
Зафиксируйте движение объекта с помощью Espruino и языка JavaScript.
// наблюдаем за датчиком движения setWatch(function() { // если датчик зафиксировал движение // печатаем об этом в консоль print("Movement detected"); }, P4, { // функция вызывается многократно repeat: true, // фиксация восходящего фронта edge: "rising" });
В результате вы увидите сообщение в консоле, при обнаружении живого объекта в зоне видимости сенсора.
Поймайте живой объект одноплатником Raspberry Pi. Подключите сенсор движения к 4
пину Raspberry. Для избежания макеток и проводов используйте плату расширения Troyka Cap.
# библиотека для работы с методами языка 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)
После запуска скрипта вы увидите текущие показатели сенсора. Пока движения нет — в консоле выводятся нули, при обнаружении живого объекта — единицы.
Модуль выполнен на пироэлектрическом сенсоре RD-624 в металлическом герметичном корпусе. Внутри компонента расположено два чувствительных элемента, которые смотрят на внешний мир через прямоугольное окно, которое пропускает инфракрасное излучение.
На пироэлектрический сенсор одевается Линза Френеля, которая концентрируют излучение, значительно расширяя диапазон чувствительности датчика.
Мозгом сенсора — микросхема EG4002. Чип считывает и обрабатывает сигналы с PIR-сенсора. В итоге на выходе модуля бинарный цифровой. Есть движение — единица, нет — ноль.
На модуле расположен потенциометр SENS
, который отвечает за регулировку чувствительности сенсора.
Индикаторный светодиод дублирующий выходной сигнал с датчика движения. При высоком уровне сигнала с модуля — светодиод горит, при низком — не горит.
Датчик освещённости на фоторезисторе GL5528, подкорректирует чувствительность модуля на солнечный свет. Это удобно при необходимости отключение работы сенсора в дневное время суток.
На модуле выведена группа Troyka-контактов: