Микроконтроллеры часто используются в коммерческих продуктах безопасности, таких как охранная сигнализация. Однако последнее может быть довольно дорогим. Так почему бы не создать самодельный будильник с помощью микроконтроллера Raspberry Pi Pico за 4 доллара?
В нем используется датчик PIR (пассивный инфракрасный), который используется во многих коммерческих системах сигнализации, для обнаружения присутствия злоумышленника. Он идеально подходит для того, чтобы поймать любого, кто крадется в вашу комнату или шнырять у вашего стола, или для защиты вашего хранилища печенья. Используя MicroPython, вы можете запрограммировать свой будильник так, чтобы он реагировал звуковым сигналом и мигалкой.
1. Сборка будильника
Чтобы построить сигнализацию, вам понадобится набор стандартных электронных компонентов.
Что вам понадобится:
- Raspberry Pi Пико с припаянными штыревыми разъемами
- Макетная плата
- LED (любой цвет)
- Резистор 330 Ом
- Активный пьезоэлектрический зуммер
- ИК-датчик HC-SR501
- 4x перемычки между мужчинами и женщинами (M2M)
- 3x перемычки между мужчинами и женщинами (M2F)
Примечание. Если вам не нравится припаивать штекерные разъемы к Raspberry Pi Pico, можно купить Pico с уже прикрепленными разъемами.
Связанный: Взгляните на Pico, новейшую миниатюрную электростанцию Raspberry Pi
Перед тем, как все подключать, посмотрите на нижнюю часть Pico, чтобы увидеть метки контактов.
В верхней части Pico вы также можете увидеть, как работает физическая нумерация контактов, от 1 до 40, против часовой стрелки слева от порта micro-USB.
На макете вставьте штыревые разъемы Pico в отверстия на одном конце. Надавите на него с усилием, чтобы обеспечить хорошее соединение - он должен плотно прилегать. Затем используйте перемычки «мама-папа» для подключения к нему ИК-датчика: контакт VCC должен быть подключен к 5V VBUS Pico, цифровой выход на GP28 и GND на контакт GND (например, контакт 3), как показано на схеме подключения. ниже.
Подключите одну из шин заземления макета (отмечена синей линией) к другому контакту GND на Pico (например, физическому контакту 23, как здесь). Для проблескового маячка вставьте светодиод в макетную плату так, чтобы его ножки находились по обе стороны от центральной перегородки.
Затем более короткая ножка (катод) должна быть подключена к той же шине заземления. Более длинная ножка (анод) светодиода должна быть подключена к выводу GP15 через резистор, чтобы ограничить количество электрического тока, проходящего через него, который в противном случае мог бы повредить светодиод или Pico.
Наконец, добавьте зуммер, чтобы издавать звуковой сигнал при срабатывании будильника. Поместите его ножки по обе стороны от центральной перегородки макета и подключите более короткую ножку или черный провод. к шине заземления и более длинной ножке (иногда отмеченной наверху зуммера знаком «+») или красному проводу к GP14.
2. Программирование будильника
Вам нужно будет установить MicroPython на Pico. Этот процесс включает четыре простых шага:
- Загрузите MicroPython для Raspberry Pi Pico с Сайт Raspberry Pi
- Подключите Pico к компьютеру через разъем micro-USB, удерживая кнопку BOOTSEL.
- Подождите, пока Pico появится как внешний диск
- Перетащите файл .uf2 MicroPython, чтобы скопировать его на Pi Pico; он автоматически перезагрузится
Хотя для MicroPython доступно множество программных IDE (интегрированных сред разработки), здесь мы будем использовать Thonny. Он уже предустановлен в ОС Raspberry Pi (если вы используете компьютер Raspberry Pi, подключенный к Pico), или его можно скачать для любой компьютерной системы с официального сайта, перейдя по ссылке в правом верхнем углу угол.
Скачать: Тонни (бесплатно)
Подключив Pico к компьютеру, откройте Thonny. В правом нижнем углу окна Thonny вы увидите версию Python, которую вы используете в данный момент. Щелкните по нему и выберите MicroPython (Raspberry Pi Pico).
Теперь вы готовы запрограммировать охранную сигнализацию на Pico. Добавьте следующие строки кода на главную панель Thonny.
импортная машина
импортировать utime
пир = машина. Штифт (28, стан. Штырь. IN, машина. Штырь. ТЯНУТЬ ВНИЗ)
led = машина. Штифт (15, стан. Штырь. ВНЕ)
зуммер = машина. Штифт (14, стан. Штырь. ВНЕ)
def pir_handler (контакт):
utime.sleep_ms (100)
если pin.value ():
print ("Обнаружено движение. Оповещение о нарушителях! ")
для i в диапазоне (50):
led.toggle ()
buzzer.toggle ()
utime.sleep_ms (100)
pir.irq (триггер = machine. Штырь. IRQ_RISING, обработчик = pir_handler)
Здесь импортируйте библиотеки машины и utime вверху. Затем настройте объекты для PIR, светодиода и зуммера - подключенных к контактам GP28, GP15 и GP14 соответственно.
Обратите внимание, что PIR установлен как вход с машина. Штырь. В, с машина. Штырь. ТЯНУТЬ ВНИЗ параметр для установки резистора вывода Pico в понижающий режим; это означает, что он будет считаться нулевым, пока на него не будет подан электрический ток от срабатывающего ИК-датчика.
Связанный: Начало работы с 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 программа, как только она будет включена. Поздравляем: теперь у вас есть мобильная охранная сигнализация, которую можно разместить где угодно.
Для защиты вашей конфиденциальности появятся случайные буквенно-цифровые серийные номера. Вот что происходит ...
Читать далее
- Сделай сам
- Raspberry Pi
- Python
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.