Как сделать охранную сигнализацию с помощью Raspberry Pi Pico
СДЕЛАЙ САМ

Как сделать охранную сигнализацию с помощью Raspberry Pi Pico

Подключите PIR-датчик к вашему Pico, чтобы обнаружить нарушителей и подать сигнал тревоги

Микроконтроллеры часто используются в коммерческих средствах безопасности, таких как охранные сигнализации. Однако последние могут быть довольно дорогими. Так почему бы не создать самодельную сигнализацию с помощью микроконтроллера Raspberry Pi Pico за 4 доллара?

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

1. Создание сигнализации

Для сборки сигнализации вам понадобится набор стандартных электронных компонентов

Что вам понадобится:

  • Raspberry Pi Pico с припаянными штырьковыми разъемами.
  • Паяльная доска.
  • Светодиод (любого цвета).
  • 330-омный резистор.
  • Активный пьезоэлектрический зуммер.
  • HC-SR501 PIR-датчик.
  • 4x провода-перемычки Male-to-male (M2M).
  • 3x Провода для перемычек между мужчинами и женщинами (M2F).

Примечание: Если вы не любите припаивать к Raspberry Pi Pico штырьковые разъемы, можно купить Pico с уже подключенными разъемами

Похожие: Взгляд на Pico, новейшую маленькую мощность Raspberry Pi

Прежде чем подключать все провода, посмотрите на нижнюю сторону Pico, чтобы увидеть маркировку выводов

На верхней части Pico вы также можете увидеть нумерацию физических контактов: от 1 до 40, против часовой стрелки слева от порта micro-USB

На макетной плате вставьте штыревые разъемы Pico в отверстия на одном конце. Плотно прижмите его, чтобы обеспечить хорошее соединение – он должен плотно прилегать. Затем с помощью проводов-перемычек подключите к нему PIR-датчик: контакт VCC должен быть подключен к 5V VBUS Pico, цифровой OUT – к GP28, а GND – к контакту GND (например, контакт 3), как показано на схеме подключения ниже

Подключите одну из шин заземления макетной платы (отмечена синей линией) к другому выводу GND на Pico (например.физический контакт 23, как здесь). Для получения мигающего света вставьте светодиод в макетную плату, расположив его ножки по обе стороны от центральной перегородки

Короткая ножка (катод) должна быть подключена к той же шине заземления. Более длинная ножка (анод) светодиода должна быть подключена к выводу GP15 через резистор, чтобы ограничить количество проходящего через нее электрического тока, который в противном случае может повредить светодиод или Pico

Наконец, добавьте зуммер, который будет издавать звуковой сигнал при срабатывании сигнализации. Поместите его ножки по обе стороны от центрального разделителя макетной платы и подключите короткую ножку или черный провод к шине заземления, а более длинную ножку (иногда помеченную на верхней части зуммера знаком ‘+’) или красный провод к GP14

2. Программирование сигнализации

Вам необходимо установить MicroPython на Pico. Этот процесс включает в себя четыре простых шага:

  1. Загрузите MicroPython для Raspberry Pi Pico с сайта Raspberry Pi.
  2. Подключите Pico к компьютеру через разъем micro-USB, удерживая кнопку BOOTSEL.
  3. Подождите, пока Pico отобразится как внешний накопитель.
  4. Перетащите файл.uf2 MicroPython, чтобы скопировать его на Pi Pico; он автоматически перезагрузится.

.

Хотя для MicroPython доступно множество IDE (интегрированных сред разработки), здесь мы будем использовать Thonny. Она уже предустановлена в Raspberry Pi OS (если вы используете компьютер Raspberry Pi, подключенный к Pico) или может быть загружена для любой компьютерной системы с официального сайта по ссылке в правом верхнем углу

Скачать: Thonny (бесплатно)

Когда ваш Pico подключен к компьютеру, откройте Thonny. В правом нижнем углу окна Thonny вы увидите версию Python, которую вы сейчас используете. Нажмите на нее и выберите MicroPython (Raspberry Pi Pico)

Теперь вы готовы к программированию охранной сигнализации на Pico. Добавьте следующие строки кода в главную панель Thonny

import machine
import utime.

pir = machine.Pin(28, machine.Pin.IN, machine.Pin.PULL_DOWN)
led = machine.Pin(15, machine.Pin.OUT)
buzzer = machine.Pin(14, machine.Pin.OUT).

def pir_handler(pin):
    utime.sleep_ms(100)
    ifpin.value():
        print'Motion detected. Intruder alert!'
        forinrange(50):
            led.toggle()
            buzzer.toggle()
            utime.sleep_ms(100).

pir.irq(trigger=machine.Pin.IRQ_RISING, handler=pir_handler)

Здесь импортируйте библиотеки machine и utime в верхней части. Затем установите объекты для PIR, LED и зуммера – подключенные к контактам GP28, GP15 и GP14 соответственно

Обратите внимание, что PIR установлен как вход machine.Pin.IN , с параметром machine.Pin.PULL-DOWN , чтобы установить резистор его Pico пина в режим подтягивания; это означает, что он будет считать нулем, пока на него не будет подан электрический ток от срабатывания PIR

Похожие статьи: Начало работы с MicroPython на Raspberry Pi Pico

В нижней части кода установлен IRQ (запрос прерывания) для запуска функции pir_handler при обнаружении сигнала на входном пине (GP28) от датчика PIR

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

Сохраните программу на вашем Pico с соответствующим именем, например alarm.py. Запустите программу и, когда вы проведете рукой над PIR-датчиком, зуммер должен подать звуковой сигнал, а светодиод быстро мигнуть

3. Регулировка чувствительности датчика

Если сигнализация срабатывает слишком легко или вообще не срабатывает, возможно, вам необходимо отрегулировать чувствительность PIR-датчика.HC-SR501 имеет два пластиковых винта – обычно обозначаемых Sx и Tx – прикрепленных к двум маленьким потенциометрам для регулировки настроек

С помощью небольшой отвертки вы можете повернуть винт Sx против часовой стрелки, чтобы увеличить чувствительность (или наоборот). Поворот винта Tx изменяет продолжительность времени, в течение которого посылается сигнал срабатывания после обнаружения нарушителя – мы обнаружили, что лучше всего повернуть его полностью против часовой стрелки, чтобы получить минимальную задержку в 1 секунду

По умолчанию PIR обнаруживает любое движение в радиусе 360° вокруг себя. Если вы хотите ограничить область его обнаружения, попробуйте поместить его на дно картонной внутренней трубки от туалетного рулона и направить под углом в направлении, которое вы хотите охватить

Сделайте собственную мобильную сигнализацию от незваных гостей

После того, как ваша охранная сигнализация будет работать удовлетворительно, вы вполне можете захотеть убрать ее подальше от компьютера. Сохранив программу под именем main.py , вы можете отключить ее от компьютера и подключить к ее порту micro-USB стандартный мобильный банк питания

После этого Pico автоматически запустит программу main.py при включении питания. Поздравляем: теперь у вас есть мобильная охранная сигнализация, которую можно разместить где угодно

Теги

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий