Представляю вам образовательный проект — «Сигнализация», разработанный в рамках учебно-методического комплекса на базе одноплатного компьютера Repka PI 4.
Этот проект представляет собой систему сигнализации, которая реагирует на движение с использованием датчика движения (AM312). В случае обнаружения движения, система активирует зуммер для подачи тревожного сигнала и начинает мигать на матрице светодиодов. Если движение не обнаружено в течение 5 секунд, система "затухает", выключая все компоненты.
Проект будет собираться с использованием “Учебно-методический комплекс REPKA”. Схему сборки можно найти в разделе "Примеры готовых проектов" учебного пособия УМК “REPKA”.
Также все необходимые материалы и схемы подключения доступны в репозитории на платформе Gitflic.
Компоненты проекта
-
Зуммер пассивный модуль (Passive buzzer KY-006) — для подачи звуковых сигналов при обнаружении активности датчиком движения, см. рисунок 1.
2. Датчик движения AM312 используется для детектирования активности в окружающем пространстве.
3. Матрица 8x8 красных светодиодов (MAX7219) используется для визуальной индикации при обнаружении активности с помощью датчика движения, см. рисунок 3.
Вы можете приобрести все необходимые компоненты отдельно от "Учебно-методический комплекс REPKA". Ссылки на модули приведены в таблице ниже.
Компонент | Ссылка на приобретение |
---|---|
Монтажная/макетная плата | Ссылка |
Шлейф | Ссылка |
Переходник с шлейфа на макетную плату | Ссылка |
Соединительные провода | |
Зуммер пассивный модуль (Passive buzzer KY-006) | Ссылка |
Датчик движения AM312 | Ссылка |
Матрица 8x8 красных светодиодов (MAX7219) | Ссылка |
Подготовительный этап
1. Подключим дополнительное питание 5V к макетной плате:
2. После чего выведем дополнительное питание на макетную плату:
3. Подключим переходник с шлейфа на макетную плату:
4. Соединим шлейф с переходником для подключения к макетной плате и Repka Pi 4:
5. Итоговый результат должен выглядеть таким образом:
Сборка проекта
Во время сборки проекта будем регулярно обращаться к электрической принципиальной схеме и монтажной схеме, представленными в учебном пособии (см. рисунки 4 и 5). Эти схемы будут служить основным ориентиром на всех этапах подключения компонентов, обеспечивая точность и правильность сборки устройства.
Для разработки кода будет использоваться текстовый редактор Geany, который входит в состав стандартного ПО Репка ОС.
Электрическая принципиальная схема
Монтажная схема
- Подключение пассивного зуммера.
Обратимся к рисункам 5 и 6. Из них видно, что устройство подключается через GPIO12 и питается от 5V.
1.1. Выполним подключение к макетной плате согласно таблице 1.
Макетная плата | Пассивный зуммер |
5V | VCC |
GPIO17 | IO |
GND | GND |
Таблица 1. Подключение пассивного зуммера к макетной плате.
1.2. Результат подключения будет выглядеть следующим образом, см. рисунок 6:
2. Для проверки правильности подключения используем python скрипт из репозитория repka-pi_iot-examples.
2.1. Клонируем репозиторий:
git clone git@gitflic.ru:repka_pi/repka-pi_iot-examples.git
2.2. Переходим в репозиторий:
cd repka-pi_iot-examples/
2.3. Выполним установку зависимостей.
2.3.1. Если хотите установить зависимости только для зуммера, выполните:
make setup-KY-006
2.3.2. Если хотите установить зависимости для всех датчиков и проектов, выполните:
make setup-all
2.4. Запускаем скрипт для проверки работоспособности прибора:
make KY-006
2.4.1. Если нет никакой реакции, то проверьте номер GPIO указанный в скрипте по пути devices/executive/KY-006_example/py
BEEP_PIN = 111 # Укажите номер пина, к которому подключен BEEP
2.4.2. Обратимся к пособию УМК “REPKA”, в котором представлена распиновка Repka PI 4 (рисунок 7). Из нее следует, что уникальный идентификатор порта GPIO17 равен 111.
2.5. После запуска зуммер должен воспроизвести мелодию.
3. Подключение датчика движения AM312.
Снова обратимся к рисункам 5 и 6. Из них видно, что устройство подключается через GPIO4 и питается от 3.3V.
3.1. Выполним подключение к макетной плате согласно таблице 1.
Макетная плата | AM312 |
5V | VCC |
GPIO17 | IO |
GND | GND |
Таблица 2. Подключение AM312 к макетной плате.
3.2. Результат подключения будет выглядеть следующим образом, см. рисунок 8:
4. Аналогично пункту 2 выполним проверку подключения датчика.
4.1. Если ранее не устанавливали все зависимости командой setup-all, то установим зависимости для AM312, выполнив:
make setup-am312
4.2. Запустим python скрипт, который находится по пути devices/sensors/AM312_example/py:
make am312
4.2.1. Если нет реакции, проверьте номер GPIO, указанный в скрипте, и убедитесь, что он соответствует вашему подключению. Измените уникальный идентификатор GPIO в коде, чтобы он совпадал с тем, который указан на схеме подключения (рисунок 7).
PIN1 = 111
4.3. При правильном подключении, после выполнения скрипта в консоли вы увидите количество срабатываний датчика, как показано на рисунке 9. Это позволит вам отслеживать, как часто датчик фиксирует движение или изменение активности в своей зоне наблюдения.
5. Подключение матрица (MAX7219).
Обратимся к рисункам 5 и 6. Из них видно, что устройство подключается через интерфейс SPI и питается от 5V.
5.1. Выполним подключение к макетной плате согласно таблице 3.
Макетная плата | MAX7219 |
5V | VCC |
GND | GND |
SPIMOSI | DIN |
SPICEO | CS |
SPISCLK | CLK |
Таблица 3. Подключение MAX7219 к макетной плате.
5.2. Результат подключения будет выглядеть следующим образом, см. рисунок 10:
6. Аналогично пункту 2 выполним проверку подключения устройства.
6.1. Если ранее не устанавливали все зависимости командой setup-all, то установим зависимости для MAX7219, выполнив:
make setup-max7219cng
6.2. Запустим python скрипт, который находится по пути devices/input-output/max7219_luma_example:
make max7219cng
6.3. Если все подключено верно, то на матрице должно появиться приветственное сообщение, см. рисунок 11.
Запуск проекта
Теперь, когда все компоненты подключены, можно запустить проект "Сигнализация". Для этого в репозитории repka-pi_iot-examples выполняем команду:
make signal-folder
После запуска в консоли отобразится информация о срабатывании датчика и движении (см. рисунок 12). Затем зуммер издаст громкий звук, а матрица начнёт мигать. Если движение не будет обнаружено в течение 5 секунд, система автоматически выключится.
Практическая значимость проекта
Проект "Сигнализация" на базе одноплатного компьютера Repka PI 4 имеет высокую практическую значимость, поскольку представляет собой эффективную и доступную систему безопасности, которая может быть использована для создания автономных охранных решений. Этот проект позволяет продемонстрировать возможности интеграции различных компонентов, таких как датчик движения, зуммер и светодиодная матрица, с использованием одноплатного компьютера. Важно, что система позволяет мгновенно реагировать на движение, что делает её полезной в различных областях, включая защиту жилых и коммерческих объектов.
Кроме того, данный проект способствует развитию навыков работы с микрокомпьютерами и сенсорами, что является важным шагом для студентов и начинающих специалистов в области электроники и программирования. Практическая реализация сигнализаций на базе недорогих и доступных компонентов может быть основой для дальнейших усовершенствований и создания более сложных систем безопасности с возможностью дистанционного управления и мониторинга.
Расширение проекта
Проект может быть расширен в несколько направлений:
-
Добавление удалённого управления и мониторинга: Включение модуля Wi-Fi или Ethernet позволит подключить систему к интернету, что откроет возможность для удалённого мониторинга и получения уведомлений на мобильные устройства или электронную почту при срабатывании сигнализации.
-
Использование дополнительных датчиков: Добавление других типов датчиков (например, датчиков дыма, температуры или вибрации) может существенно повысить безопасность системы. Сигнализация будет комплексной и реагировать не только на движение, но и на другие потенциально опасные ситуации.
-
Интеграция с системами "умного дома": Система сигнализации может быть интегрирована с другими компонентами "умного дома" (освещением, камерами видеонаблюдения и т.д.), что позволит создать полностью автоматизированную безопасность для дома или офиса.
-
Разработка пользовательского интерфейса: Для удобства эксплуатации можно разработать мобильное приложение или веб-интерфейс для управления и настройки системы сигнализации, а также просмотра истории срабатываний.
Видеообзор проекта
Для более детального ознакомления с проектом, вы можете посмотреть видеообзор на платформе Rutube.
Пример использования с Python
Проект полностью реализован на языке Python. Код для работы с сигнализией можно найти в репозитории на платформе Gitflic.