Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Идея этого проекта состоит в том, чтобы создать дешевый и простой в изготовлении датчик безопасности, который можно было бы использовать для предупреждения вас, когда кто-то пересек его. Первоначальной целью было создать что-то, что могло бы уведомлять меня, когда кто-то поднимается по лестнице, но я также использую его в качестве датчика безопасности для входной двери. Программное обеспечение, предоставленное в этом руководстве, совместимо с macOS. Для работы с Windows необходимо внести небольшие изменения. Полный исходный код любого из этих скриптов можно найти в этом репозитории GitHub.
Запасы:
- Ардуино Нано *
- Ультразвуковой датчик HC-SR04
- Модуль Bluetooth HC-05
- Тактильный переключатель OMRON
- Резистор 10 кОм
- Комплект проводов макетной платы
- Макетная плата
- Внешний аккумулятор
* Вместо nano также можно использовать uno или mega.
Шаг 1: Настройка схемы
Следуйте принципиальной схеме, как показано выше. Когда вы загружаете эскиз Arduino в nano, обязательно отключите провода от контактов RX и TX на nano. Было обнаружено, что загрузка в Arduino может привести к ошибкам, если эти контакты подключены к модулю Bluetooth. Сначала загрузите эскиз, а затем подключите эти контакты к модулю Bluetooth.
Основные компоненты
- Arduino Nano - микроконтроллер
- HC-SR04 - Ультразвуковой датчик
- Модуль HC-05 - модуль Bluetooth
- Переключатель OMRON - кнопка, используемая для включения / выключения датчика
Шаг 2: Настройка программного обеспечения: Arduino
- Загрузите серийный номер программного обеспечения в свою библиотеку Arduino
- Убедитесь, что вы выбрали порт и плату, которые соответствуют вашему Arduino.
- Загрузите предоставленный информационный файл и загрузите эскиз, как только убедитесь, что контакты RX / TX на Arduino отключены от модуля Bluetooth.
Шаг 3. Установка программного обеспечения: Python
Чтобы успешно предупредить вас на своем ноутбуке, вам нужно будет запустить скрипт python. Чтобы получить помощь по загрузке Python и необходимых библиотек, обратитесь к этому полезному руководству от TalalKhalil.
Предоставленный сценарий readValuesV2.py считывает значения, отправленные модулем bluetooth, определяет, означает ли это, что кто-то пересек датчик, и создает предупреждение на вашем ноутбуке. Он также создает и сохраняет папку в этом каталоге со всеми измерениями, которые он считал с момента запуска сценария с отметкой времени.
Делать:
- Скачайте Python и все зависимости. (Я использовал установку pip)
- Обязательно включите Bluetooth на своем ноутбуке и подключитесь к устройству с именем HC-06. Вы должны найти его в списке других устройств в разделе «Bluetooth» в настройках вашей системы. Код доступа для модуля - «1234».
- Переменная с именем distance_wall определяет, когда датчик срабатывает. Поэтому, в зависимости от расположения датчика, не забудьте изменить это значение, которое отображается в cms, для вашей среды.
- Подключите контакт RX / TX к модулю Bluetooth и запустите скрипт readValuesV2. Он попросит вас ввести номер записи, чтобы он мог правильно назвать создаваемый файл.
Вполне вероятно, что вам, возможно, придется много отлаживать, поэтому обратитесь к последнему разделу этого руководства для получения дополнительной помощи.
Шаг 4. Вероятные проблемы отладки
Ардуино
1) avrdude: stk500_getsync (): not in sync: resp = 0x0: Это часто происходит при попытке загрузить скетч в Arduino.
- Убедитесь, что выбраны правильный COM-порт и плата.
- Если вы в настоящее время используете ATmega328P, попробуйте ATmega328P (старый загрузчик).
- Убедитесь, что вывод RX / TX на Arduino отключен.
2) Ошибка Busy Comport
Убедитесь, что выбран правильный COM-порт. Поскольку вы пытаетесь загрузить скетч в Arduino, убедитесь, что скрипт python не запущен
Python
1) [Errno 16] Ресурс занят: '/dev/tty. HC-06-DevB': это происходит, когда вы не подключили свой ноутбук к модулю bluetooth.
Чтобы решить эту проблему, вам необходимо убедиться, что вы правильно подключили модуль HC к ноутбуку. Вы также должны убедиться, что этот модуль остается подключенным, он отключится после того, как вы закончите запуск скрипта
2) ValueError: модуль bluetooth не подключен
Это ошибка, выдаваемая вручную, если соединение последовательного порта с модулем Bluetooth не установлено должным образом
3) Ошибка зависимостей пакетов Python
Я использовал pip install, чтобы загрузить необходимые пакеты для python. Обратитесь к переполнению стека для любых ошибок, которые появляются на этом конце
4) Ошибки из-за ОС
Я ожидаю, что некоторые ошибки появятся, если используется ОС Windows. Некоторые области, которые могут вызвать проблемы, - это регистрация системы записи данных и уведомлений на вашем ноутбуке
5) serial.serialutil. SerialException: устройство сообщает о готовности к чтению, но не возвращает никаких данных
Иногда такое случается при отключении питания. Это произошло со мной, когда я выключил устройство с помощью переключателя
Аппаратное обеспечение
1) Убедитесь, что переключатель правильно расположен между линейным разделителем на макетной плате, чтобы соединения не смешивались.
Шаг 5: демонстрация готового устройства
Не стесняйтесь посмотреть видео, чтобы увидеть устройство в действии, используя встроенную ссылку или эту ссылку YouTube: https://www.youtube.com/embed/Ab1wKr2ORbM. В целом, это то, что я сейчас использую регулярно, и обнаружил, что он не слишком быстро разряжает блок питания и не нагружает мой старый ноутбук с точки зрения вычислительной мощности. Если у вас есть какие-либо проблемы, не стесняйтесь создавать сообщение о проблеме в соответствующем репозитории GitHub для этого проекта!