- Необходимые компоненты
- Принципиальная схема детектора движения на базе Raspberry Pi и ИК-датчика
- Код Python для Raspberry Pi:
Системы безопасности играют важную роль в нашей повседневной жизни, и мы можем найти множество различных типов систем безопасности с различными технологиями и с разным ценовым диапазоном. Будучи энтузиастом электроники, вы можете создать простую систему безопасности, потратив несколько долларов и немного свободного времени. Здесь, в этой статье, я делюсь руководством по изготовлению простой сигнализации детектора движения на основе Raspberry pi и PIR-датчика, которая включает зуммер, когда PIR-датчик обнаруживает любое движение человека в этой области. Мы также рассмотрели простую схему детектора движения на основе PIR-датчика в одной из наших предыдущих статей, где мы подробно рассмотрели работу PIR-датчика.
Необходимые компоненты
- Raspberry Pi 3 (любая модель)
- Датчик PIR
- Зуммер
- Макетная плата
- Соединительные провода
Работа датчика PIR
Пассивный инфракрасный датчик (PIR) называется пассивным, потому что он принимает инфракрасное излучение, а не излучает. Обычно он обнаруживает любое изменение температуры, и всякий раз, когда он обнаруживает какое-либо изменение, его выходной PIN становится ВЫСОКИМ. Их также называют пироэлектрическими или инфракрасными датчиками движения.
Здесь следует отметить, что каждый объект излучает некоторое количество инфракрасного излучения при нагревании. Человек также излучает инфракрасное излучение из-за тепла тела. Датчики PIR могут обнаруживать небольшие отклонения в инфракрасном диапазоне. Всякий раз, когда объект проходит через диапазон датчика, он излучает инфракрасное излучение из-за трения между воздухом и объектом и попадает в инфракрасный датчик.
Основным элементом ИК-датчика является пироэлектрический датчик, показанный на рисунке (прямоугольный кристалл за пластиковой крышкой). Наряду с этим, BISS0001 («Микросхема детектора движения PIR»), некоторые резисторы, конденсаторы и другие компоненты, используемые для построения датчика PIR. BISS0001 IC принимает входной сигнал от датчика и выполняет обработку, чтобы сделать выходной контакт ВЫСОКИМ или НИЗКИМ соответственно.
Пироэлектрический датчик делится на две половины, когда нет движения, обе половины остаются в одном состоянии, это означает, что оба воспринимают один и тот же уровень инфракрасного излучения. Как только кто-то входит в первую половину, уровень инфракрасного излучения одной половины становится больше, чем другой, и это заставляет PIR реагировать и делать выходной контакт высоким.
Пироэлектрический датчик закрыт пластиковой крышкой, внутри которой находится множество линз Френеля. Эти линзы изогнуты таким образом, что сенсор может покрывать широкий диапазон.
Принципиальная схема детектора движения на базе Raspberry Pi и ИК-датчика
Как показано на приведенной выше схеме для датчика движения Raspberry Pi и датчика движения PIR, положительный вывод датчика PIR соединен с контактом 4 (5 В), а контакт заземления датчика PIR соединен с контактом 6 (заземление) Raspberry Pi (Вы можете найти здесь схему контактов Raspberry Pi). Выходной контакт датчика PIR подключен к GPIO 23 Raspberry pi, который используется для ввода данных в Raspberry Pi. Вывод 24 GPIO, который здесь заявлен как выход, соединен с плюсом зуммера, а земля зуммера соединена с землей (вывод 6) raspberry pi.
Код Python для Raspberry Pi:
Код Python для этого детектора движения на основе Raspberry Pi и PIR-датчика довольно прост и его можно легко понять с помощью комментариев, встроенных в раздел кода ниже. Я объявил контакты 23 и 24 GPIO как входные и выходные контакты.
while True: if GPIO.input (23): # Если есть движение, датчик PIR подает вход на GPIO23 GPIO.output (24, True) # Выход передается зуммеру через GPIO24 time.sleep (1) # Зуммер включается на 1 секунда GPIO.output (24, False)
« А» петля используется как «True», чтобы содержимое внутри цикла всегда будет выполняться. if GPIO.input (23): оператор определяет, является ли вывод 23 GPIO высоким, и если то же самое верно, он устанавливает высокий уровень для выходного PIN 24. Функция time.sleep (secs) используется для приостановки программы в Python на определенное время, где «secs» - это время в секундах. Итак, здесь мы делали паузу на 1 секунду. В следующей строке мы сделали вывод 24 как false, поэтому зуммер останавливается до тех пор, пока цикл не начнет следующую итерацию, поскольку цикл While всегда установлен в true без каких-либо предварительных условий.