Съдържание:

Домашна система за сигурност, използваща сензорен синтез: 5 стъпки
Домашна система за сигурност, използваща сензорен синтез: 5 стъпки

Видео: Домашна система за сигурност, използваща сензорен синтез: 5 стъпки

Видео: Домашна система за сигурност, използваща сензорен синтез: 5 стъпки
Видео: Wireless Motion Sensor Security Alarm System / Безжична алармена система със сензор за движение 2024, Юли
Anonim
Домашна система за сигурност, използваща Sensor Fusion
Домашна система за сигурност, използваща Sensor Fusion

Идеята зад този проект е да се създаде евтин и лесен за изработка сензор за сигурност, който може да се използва, за да ви предупреди, когато някой го е прекосил. Първоначалната цел беше да създам нещо, което да ме уведомява, когато някой се качи по стълбите, но аз също го използвам като сензор за сигурност за входната врата. Предоставеният софтуер в тази инструкция е съвместим с macOS. Ще трябва да се направят леки промени, за да работи с Windows. За пълния изходен код за някой от тези скриптове, вижте това репо GitHub.

Консумативи:

  1. Arduino Nano*
  2. Ултразвуков сензор HC-SR04
  3. Bluetooth HC-05 модул
  4. Тактилен превключвател OMRON
  5. 10k резистор
  6. Комплект тел за дъска
  7. Платка
  8. Power Bank

*Уно или мега също могат да се използват вместо нано.

Стъпка 1: Настройка на веригата

Настройка на веригата
Настройка на веригата

Следвайте схемата на веригата, както е показано по -горе. Когато качвате скицата на Arduino в nano, не забравяйте да изключите проводниците от RX и TX щифтовете на nano. Установено е, че качването в Arduino може да доведе до грешки, ако тези щифтове са свързани към Bluetooth модула. Първо качете скицата и след това свържете тези щифтове към Bluetooth модула.

Главни компоненти

  1. Arduino Nano - Микроконтролер
  2. HC -SR04 - ултразвуков сензор
  3. Модул HC -05 - Bluetooth модул
  4. Превключвател OMRON - Бутон, използван за включване/изключване на сензора

Стъпка 2: Настройка на софтуера: Arduino

Настройка на софтуера: Arduino
Настройка на софтуера: Arduino
  1. Изтеглете софтуерен сериал във вашата библиотека Arduino
  2. Не забравяйте да изберете порта и платката, които съответстват на вашия Arduino
  3. Изтеглете предоставения информационен файл и качете скицата, след като се уверите, че RX/TX щифтовете на Arduino са изключени от Bluetooth модула.

Стъпка 3: Настройка на софтуера: Python

Настройка на софтуера: Python
Настройка на софтуера: Python

За да ви предупреди успешно на вашия лаптоп, ще трябва да стартирате скрипт на python. За помощ при изтеглянето на python и необходимите библиотеки, моля, вижте тази полезна инструкция от TalalKhalil.

Предоставеният скрипт readValuesV2.py чете стойности, изпратени от Bluetooth модула, определя дали това означава, че някой е преминал сензора и създава сигнал на вашия лаптоп. Той също така създава и съхранява папка в тази директория с всички измервания, които е прочел, тъй като скриптът е започнал с времева маркировка.

Да направя:

  1. Изтеглете Python и всички зависимости. (Използвах pip install)
  2. Включете Bluetooth на вашия лаптоп и се свържете с устройство с име HC-06. Трябва да го намерите в списъка с други устройства в частта за Bluetooth в системните настройки. Паролата за модула е „1234“.
  3. Променливата с име distance_wall е тази, която определя кога сензорът се изключва. Така че в зависимост от местоположението на сензора, не забравяйте да промените тази стойност, която е представена в cms, към вашата среда.
  4. Свържете щифта RX/TX към Bluetooth модула и сега стартирайте скрипта readValuesV2. Той ще ви поиска номер на записа, за да може правилно да назове файла, който генерира.

Вероятно ще трябва да направите много отстраняване на грешки, така че вижте последния раздел в тази инструкция за допълнителна помощ.

Стъпка 4: Вероятни проблеми при отстраняване на грешки

Arduino

1) avrdude: stk500_getsync (): не е в синхрон: resp = 0x0: Това често се случва, когато се опитвате да качите скица в Arduino.

  • Уверете се, че сте избрали правилния COM порт и платка
  • Ако понастоящем използвате „ATmega328P“, опитайте „ATmega328P (стар буутлоудър)“
  • Уверете се, че RX/TX щифтът на Arduino е изключен

2) Грешка при зареждане при заетост

Уверете се, че е избран правилния 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 репо за този проект!

Препоръчано: