Spisu treści:

Domowy system bezpieczeństwa wykorzystujący technologię Sensor Fusion: 5 kroków
Domowy system bezpieczeństwa wykorzystujący technologię Sensor Fusion: 5 kroków

Wideo: Domowy system bezpieczeństwa wykorzystujący technologię Sensor Fusion: 5 kroków

Wideo: Domowy system bezpieczeństwa wykorzystujący technologię Sensor Fusion: 5 kroków
Wideo: Małe reaktory modułowe SMR - prof. dr hab. Wacław Gudowski 2024, Listopad
Anonim
Domowy system bezpieczeństwa wykorzystujący Sensor Fusion
Domowy system bezpieczeństwa wykorzystujący Sensor Fusion

Ideą tego projektu jest stworzenie taniego i łatwego do wykonania czujnika bezpieczeństwa, który może być używany do ostrzegania, gdy ktoś go przekroczy. Pierwotnym celem było stworzenie czegoś, co mogłoby mnie powiadomić, gdy ktoś wejdzie po schodach, ale używam go również jako czujnika bezpieczeństwa przy drzwiach wejściowych. Dostarczone oprogramowanie w tej instrukcji jest zgodne z systemem macOS. Niewielkie zmiany będą musiały zostać wprowadzone, aby działał z systemem Windows. Aby uzyskać pełny kod źródłowy dowolnego z tych skryptów, zapoznaj się z tym repozytorium GitHub.

Kieszonkowe dzieci:

  1. Arduino Nano*
  2. Czujnik ultradźwiękowy HC-SR04
  3. Moduł Bluetooth HC-05
  4. Przełącznik dotykowy OMRON
  5. Rezystor 10k
  6. Zestaw drutu do krojenia chleba
  7. Deska do krojenia chleba
  8. Powerbank

*Uno lub mega można również użyć zamiast nano.

Krok 1: Konfiguracja obwodu

Konfiguracja obwodu
Konfiguracja obwodu

Postępuj zgodnie ze schematem obwodu, jak pokazano powyżej. Kiedy przesyłasz szkic Arduino do nano, pamiętaj, aby odłączyć przewody od pinów RX i TX na nano. Stwierdzono, że wgrywanie do Arduino może prowadzić do błędów, jeśli te piny są podłączone do modułu bluetooth. Najpierw prześlij szkic, a następnie podłącz te piny do modułu bluetooth.

Główne składniki

  1. Arduino Nano - Mikrokontroler
  2. HC-SR04 - czujnik ultradźwiękowy
  3. Moduł HC-05 - moduł Bluetooth
  4. Przełącznik OMRON - przycisk służący do włączania/wyłączania czujnika

Krok 2: Konfiguracja oprogramowania: Arduino

Konfiguracja oprogramowania: Arduino
Konfiguracja oprogramowania: Arduino
  1. Pobierz oprogramowanie Serial do swojej biblioteki Arduino
  2. Upewnij się, że wybrałeś port i płytkę, które pasują do twojego Arduino
  3. Pobierz dostarczony plik informacyjny i prześlij szkic po upewnieniu się, że piny RX/TX w Arduino są odłączone od modułu bluetooth.

Krok 3: Konfiguracja oprogramowania: Python

Konfiguracja oprogramowania: Python
Konfiguracja oprogramowania: Python

Aby pomyślnie powiadomić Cię na swoim laptopie, musisz uruchomić skrypt Pythona. Aby uzyskać pomoc dotyczącą pobierania Pythona i potrzebnych bibliotek, zapoznaj się z tym pomocnym Instructable autorstwa TalalKhalil.

Dostarczony skrypt readValuesV2.py odczytuje wartości wysyłane przez moduł bluetooth, określa, czy oznacza to, że ktoś przekroczył czujnik i tworzy alert na Twoim laptopie. Tworzy również i przechowuje folder w tym katalogu ze wszystkimi pomiarami, które odczytał od momentu uruchomienia skryptu ze znacznikiem czasu.

Do zrobienia:

  1. Pobierz Pythona i wszystkie zależności. (Użyłem instalacji pip)
  2. Pamiętaj, aby włączyć Bluetooth na swoim laptopie i połączyć się z urządzeniem o nazwie HC-06. Powinieneś znaleźć go na liście innych urządzeń w części Bluetooth w ustawieniach systemu. Hasło modułu to „1234”.
  3. Zmienna o nazwie distance_wall określa, kiedy czujnik się wyłączy. Więc w zależności od lokalizacji czujnika, upewnij się, że zmieniłeś tę wartość, która jest reprezentowana w cms dla twojego środowiska.
  4. Podłącz pin RX/TX na module bluetooth i uruchom skrypt readingValuesV2. Poprosi Cię o numer nagrania, aby poprawnie nazwać plik, który generuje.

Prawdopodobnie będziesz musiał wykonać dużo debugowania, więc zapoznaj się z ostatnią sekcją w tej instrukcji, aby uzyskać dalszą pomoc.

Krok 4: Prawdopodobne problemy z debugowaniem

Arduino

1) avrdude: stk500_getsync(): brak synchronizacji: resp=0x0: Często zdarza się to podczas próby przesłania szkicu do Arduino.

  • Upewnij się, że wybrano odpowiedni port COM i płytę
  • Jeśli obecnie używasz „ATmega328P”, wypróbuj „ATmega328P (stary bootloader)”
  • Upewnij się, że pin RX/TX na Arduino jest odłączony

2) Błąd komunikacji zajętości

Upewnij się, że wybrano właściwy port COM. Ponieważ próbujesz przesłać szkic do Arduino, upewnij się, że skrypt Pythona nie jest uruchomiony

Pyton

1) [Errno 16] Zasób zajęty: '/dev/tty. HC-06-DevB': Dzieje się tak, gdy nie podłączono laptopa do modułu bluetooth

Aby rozwiązać ten problem, musisz upewnić się, że poprawnie podłączyłeś moduł HC do laptopa. Musisz również upewnić się, że ten moduł pozostanie połączony, zostanie rozłączony po zakończeniu uruchamiania skryptu

2) ValueError: moduł bluetooth nie jest podłączony

Jest to błąd zgłaszany ręcznie, jeśli połączenie portu szeregowego z modułem bluetooth nie jest prawidłowo podłączone

3) Błąd zależności pakietów Pythona

Użyłem pip install do pobrania potrzebnych pakietów dla Pythona. Zapoznaj się z przepełnieniem stosu, aby uzyskać informacje o błędach, które pojawiają się na tym końcu

4) Błędy spowodowane systemem operacyjnym

Spodziewam się, że pojawią się pewne błędy, jeśli używanym systemem jest Windows. Niektóre obszary, które mogą być kłopotliwe, to rejestrowanie systemu rejestracji danych i powiadomień na Twoim laptopie

5) serial.serialutil. SerialException: urządzenie zgłasza gotowość do odczytu, ale nie zwróciło żadnych danych

Zdarza się to czasami, gdy zasilanie jest wyłączone. Przyszło mi to do głowy, gdy wyłączyłem urządzenie za pomocą przełącznika

Sprzęt komputerowy

1) Upewnij się, że przełącznik jest odpowiednio umieszczony między dzielnikiem linii na płytce stykowej, aby połączenia się nie pomieszały.

Krok 5: Demonstrowanie ukończonego urządzenia

Demonstrowanie ukończonego urządzenia
Demonstrowanie ukończonego urządzenia
Demonstrowanie ukończonego urządzenia
Demonstrowanie ukończonego urządzenia
Demonstrowanie ukończonego urządzenia
Demonstrowanie ukończonego urządzenia

Zachęcamy do obejrzenia filmu, aby zobaczyć urządzenie w akcji, korzystając z wbudowanego linku lub tego linku na YouTube: https://www.youtube.com/embed/Ab1wKr2ORbM. Ogólnie rzecz biorąc, jest to coś, czego używam regularnie i stwierdziłem, że nie zużywa zbyt szybko zasilania ani nie obciąża mojego starego laptopa pod względem mocy obliczeniowej. Jeśli masz jakiekolwiek problemy, możesz utworzyć wpis o problemie w powiązanym repozytorium GitHub dla tego projektu!

Zalecana: