Indholdsfortegnelse:

Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion: 5 trin
Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion: 5 trin

Video: Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion: 5 trin

Video: Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion: 5 trin
Video: AQARA Dørlås EVE Bevægelsessensor Forbedrer dit Smart Home-sikkerhedssystem ved hjælp af IoT... 2024, Juli
Anonim
Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion
Hjemmelavet sikkerhedssystem ved hjælp af Sensor Fusion

Ideen bag dette projekt er at skabe en billig og let at lave sikkerhedssensor, der kan bruges til at advare dig, når nogen har krydset den. Det oprindelige mål var at skabe noget, der kunne give mig besked, når nogen gik op ad trappen, men jeg bruger det også som en sikkerhedssensor til hoveddøren. Den medfølgende software i denne instruktion er kompatibel med macOS. Der skal foretages små ændringer for at det kan fungere med Windows. Den fulde kildekode til et af disse scripts findes i denne GitHub -repo.

Tilbehør:

  1. Arduino Nano*
  2. Ultralyd HC-SR04 sensor
  3. Bluetooth HC-05-modul
  4. OMRON taktil kontakt
  5. 10k modstand
  6. Breadboard Wire Kit
  7. Brødbræt
  8. Batteri

*Uno eller mega kan også bruges i stedet for nano.

Trin 1: Opsætning af kredsløb

Opsætning af kredsløb
Opsætning af kredsløb

Følg kredsløbsskematikken som vist ovenfor. Når du uploader Arduino -skitsen til nano'en, skal du sørge for at afbryde ledningerne fra RX- og TX -benene på nano'en. Det har vist sig, at upload til Arduino kan føre til fejl, hvis disse pins er forbundet til bluetooth -modulet. Upload først skitsen, og slut derefter disse stifter til bluetooth -modulet.

Hovedkomponenter

  1. Arduino Nano - mikrokontroller
  2. HC -SR04 - Ultralydssensor
  3. HC -05 -modul - Bluetooth -modul
  4. OMRON -switch - knap, der bruges til at tænde/slukke sensor

Trin 2: Opsætning af software: Arduino

Opsætning af software: Arduino
Opsætning af software: Arduino
  1. Download software seriel til dit Arduino -bibliotek
  2. Sørg for at vælge den port og tavle, der matcher din Arduino
  3. Download den medfølgende infofil, og upload skitsen, når du har kontrolleret, at RX/TX -benene på Arduino er afbrudt fra bluetooth -modulet.

Trin 3: Opsætning af software: Python

Opsætning af software: Python
Opsætning af software: Python

For at gøre dig opmærksom på din bærbare computer skal du køre et python -script. For hjælp med at downloade python og de nødvendige biblioteker henvises til denne nyttige Instructable by TalalKhalil.

Det medfølgende readingValuesV2.py -script læser i værdier, der sendes af Bluetooth -modulet, afgør, om det betyder, at nogen har krydset sensoren og opretter en advarsel på din bærbare computer. Det opretter og gemmer også en mappe i mappen med alle de målinger, den har læst, siden scriptet startede med et tidsstempel.

At gøre:

  1. Download Python og alle afhængigheder. (Jeg brugte pipinstallation)
  2. Sørg for at tænde bluetooth på din bærbare computer og oprette forbindelse til en enhed ved navn HC-06. Du bør finde den opført under listen over andre enheder i bluetooth -delen af dine systemindstillinger. Adgangskoden til modulet er '1234'.
  3. Variablen med navnet distance_wall er den, der bestemmer, hvornår sensoren slukker. Så afhængigt af sensorens placering, skal du sørge for at ændre denne værdi, der er repræsenteret i cms, til dit miljø.
  4. Tilslut RX/TX -stiften på bluetooth -modulet, og kør nu readingValuesV2 -scriptet. Det vil bede dig om et optagelsesnummer, så det korrekt kan navngive den fil, det genererer.

Det er sandsynligt, at du muligvis skal lave en masse fejlfinding, så se det sidste afsnit i denne instruktionsbog for yderligere hjælp.

Trin 4: Sandsynligvis fejlfindingsproblemer

Arduino

1) avrdude: stk500_getsync (): ikke synkroniseret: resp = 0x0: Dette sker ofte med, når man prøver at uploade en skitse til en Arduino.

  • Sørg for, at den rigtige COM -port og -kort er valgt
  • Hvis du i øjeblikket bruger 'ATmega328P', prøv 'ATmega328P (Old Bootloader)'
  • Sørg for, at RX/TX -stiften på Arduino er afbrudt

2) Optaget Comport -fejl

Sørg for, at den rigtige COM -port er valgt. Da du prøver at uploade skitsen til Arduino, skal du sørge for, at python -scriptet ikke kører

Python

1) [Errno 16] Ressource optaget: '/dev/tty. HC-06-DevB': Dette sker, når du ikke har tilsluttet din bærbare computer til bluetooth-modulet

For at løse dette skal du sikre dig, at du har tilsluttet HC -modulet korrekt til din bærbare computer. Du skal også sikre, at dette modul forbliver forbundet, det afbrydes, når du er færdig med at køre scriptet

2) ValueError: Bluetooth -modulet er ikke tilsluttet

Dette er en manuelt kastet fejl, hvis den serielle portforbindelse med Bluetooth -modulet ikke er korrekt tilsluttet

3) Fejl i afhængigheder i Python -pakker

Jeg brugte pip install til at downloade de nødvendige pakker til python. Se stack overflow for eventuelle fejl, der dukker op i den ende

4) Fejl på grund af OS

Jeg forventer, at der vil dukke nogle fejl op, hvis operativsystemet, der bruges, er Windows. Nogle områder, der kan være besværlige, er logning af dataregistrerings- og notifikationssystem på din bærbare computer

5) serial.serialutil. SerialException: enheden melder sig klar til at læse, men returnerede ingen data

Dette sker nogle gange, hvis strømforsyningen er slukket. Dette opstod for mig, da jeg slog enheden fra ved hjælp af kontakten

Hardware

1) Sørg for, at kontakten er placeret korrekt mellem liniedeleren på brødbrættet, så forbindelserne ikke blandes.

Trin 5: Demo af den færdige enhed

Demo af den færdige enhed
Demo af den færdige enhed
Demo af den færdige enhed
Demo af den færdige enhed
Demo af den færdige enhed
Demo af den færdige enhed

Tjek gerne videoen for at se enheden i aktion ved hjælp af det integrerede link eller dette YouTube -link: https://www.youtube.com/embed/Ab1wKr2ORbM. Samlet set er dette noget, jeg bruger regelmæssigt nu og har fundet ud af, at det ikke dræner strømforsyningen for hurtigt eller stresser min gamle bærbare med hensyn til processorkraft. Hvis du har problemer, er du velkommen til at oprette et problemindlæg om den tilhørende GitHub -repo til dette projekt!

Anbefalede: