Turinys:

Namų apsaugos sistema naudojant jutiklių sintezę: 5 žingsniai
Namų apsaugos sistema naudojant jutiklių sintezę: 5 žingsniai

Video: Namų apsaugos sistema naudojant jutiklių sintezę: 5 žingsniai

Video: Namų apsaugos sistema naudojant jutiklių sintezę: 5 žingsniai
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Lapkritis
Anonim
Namų apsaugos sistema, naudojant „Sensor Fusion“
Namų apsaugos sistema, naudojant „Sensor Fusion“

Šio projekto idėja yra sukurti pigų ir lengvai pagaminamą saugumo jutiklį, kuris gali būti naudojamas įspėti jus, kai kas nors jį kirto. Pradinis tikslas buvo sukurti kažką, kas galėtų man pranešti, kai kas nors užlipo laiptais, bet aš taip pat naudoju jį kaip priekinių durų apsaugos jutiklį. Šioje instrukcijoje pateikta programinė įranga yra suderinama su „macOS“. Kad jis veiktų su „Windows“, reikės atlikti nedidelius pakeitimus. Visą bet kurio iš šių scenarijų šaltinio kodą rasite šiame „GitHub“repo.

Priedai:

  1. „Arduino Nano“*
  2. Ultragarsinis HC-SR04 jutiklis
  3. „Bluetooth“HC-05 modulis
  4. Lietimo jungiklis OMRON
  5. 10k rezistorius
  6. Duonos lentos vielos komplektas
  7. Bandomoji Lenta
  8. Maitinimo bankas

*Uno arba mega taip pat gali būti naudojamas vietoje nano.

1 žingsnis: grandinės nustatymas

Grandinės nustatymas
Grandinės nustatymas

Vykdykite grandinės schemą, kaip parodyta aukščiau. Įkeldami „Arduino“eskizą į „nano“, būtinai atjunkite laidus nuo „NX“RX ir TX kaiščių. Nustatyta, kad įkėlus į „Arduino“gali atsirasti klaidų, jei šie kaiščiai bus prijungti prie „Bluetooth“modulio. Pirmiausia įkelkite eskizą ir tada prijunkite tuos kaiščius prie „Bluetooth“modulio.

Pagrindiniai komponentai

  1. „Arduino Nano“- mikrovaldiklis
  2. HC -SR04 - ultragarsinis jutiklis
  3. HC -05 modulis - „Bluetooth“modulis
  4. OMRON jungiklis - mygtukas, naudojamas įjungti/išjungti jutiklį

2 veiksmas: programinės įrangos sąranka: „Arduino“

Programinės įrangos sąranka: „Arduino“
Programinės įrangos sąranka: „Arduino“
  1. Atsisiųskite programinės įrangos seriją į „Arduino“biblioteką
  2. Būtinai pasirinkite prievadą ir plokštę, atitinkančią jūsų „Arduino“
  3. Atsisiųskite pateiktą informacijos failą ir įkelkite eskizą, kai įsitikinsite, kad „Arduino“RX/TX kaiščiai yra atjungti nuo „Bluetooth“modulio.

3 veiksmas: programinės įrangos sąranka: „Python“

Programinės įrangos sąranka: „Python“
Programinės įrangos sąranka: „Python“

Norėdami sėkmingai įspėti apie savo nešiojamąjį kompiuterį, turėsite paleisti „python“scenarijų. Jei reikia pagalbos atsisiunčiant „python“ir reikalingas bibliotekas, skaitykite šią naudingą „Instructable by TalalKhalil“.

Pateiktas „readValuesV2.py“scenarijus nuskaito „Bluetooth“modulio siunčiamas vertes, nustato, ar tai reiškia, kad kažkas perėjo jutiklį, ir sukuria įspėjimą jūsų nešiojamajame kompiuteryje. Jis taip pat sukuria ir saugo aplanką tame kataloge su visais matavimais, kuriuos jis perskaitė nuo tada, kai scenarijus prasidėjo nuo laiko žymos.

Daryti:

  1. Atsisiųskite „Python“ir visas priklausomybes. (Naudojau pip install)
  2. Būtinai įjunkite „Bluetooth“nešiojamajame kompiuteryje ir prisijunkite prie įrenginio pavadinimu HC-06. Jį turėtumėte rasti kitų įrenginių sąraše „Bluetooth“sistemos nustatymų dalyje. Modulio slaptažodis yra „1234“.
  3. Kintamasis pavadinimu distance_wall yra tas, kuris nustato, kada jutiklis išsijungia. Taigi, priklausomai nuo jutiklio vietos, būtinai pakeiskite šią vertę, kuri yra cm (cm) jūsų aplinkai.
  4. Prijunkite RX/TX kaištį prie „Bluetooth“modulio ir dabar paleiskite „readValuesV2“scenarijų. Jis paprašys jūsų įrašo numerio, kad galėtų tinkamai pavadinti sukurtą failą.

Tikėtina, kad jums reikės atlikti daug derinimo, todėl papildomos pagalbos ieškokite paskutiniame šios instrukcijos skyriuje.

4 žingsnis: Tikėtinos derinimo problemos

Arduino

1) avrdude: stk500_getsync (): nesinchronizuotas: resp = 0x0: tai dažnai atsitinka bandant įkelti eskizą į „Arduino“.

  • Įsitikinkite, kad pasirinktas tinkamas COM prievadas ir plokštė
  • Jei šiuo metu naudojate „ATmega328P“, išbandykite „ATmega328P (seną įkrovos įkroviklį)“
  • Įsitikinkite, kad „Arduino“RX/TX kaištis yra atjungtas

2) Užimto ryšio klaida

Įsitikinkite, kad pasirinktas tinkamas COM prievadas. Kadangi bandote įkelti eskizą į „Arduino“, įsitikinkite, kad „python“scenarijus neveikia

Python

1) [16 klaida] Ištekliai užimti: '/dev/tty. HC-06-DevB': taip atsitinka, kai nešiojamojo kompiuterio neprijungėte prie „Bluetooth“modulio

Norėdami tai išspręsti, turite įsitikinti, kad tinkamai prijungėte HC modulį prie nešiojamojo kompiuterio. Taip pat turite užtikrinti, kad šis modulis išliktų prijungtas, jis bus atjungtas, kai baigsite vykdyti scenarijų

2) „ValueError“: „Bluetooth“modulis neprijungtas

Tai yra rankiniu būdu įvesta klaida, jei serijinio prievado jungtis su „Bluetooth“moduliu nėra tinkamai prijungta

3) „Python“paketų priklausomybių klaida

Aš naudoju „pip install“, norėdamas atsisiųsti reikiamus „python“paketus. Žr. Kamino perpildymą, kad sužinotumėte apie visas klaidas, kurios pasirodo tuo tikslu

4) Klaidos dėl OS

Tikiuosi, kad pasirodys kai kurios klaidos, jei naudojamas OS yra „Windows“. Kai kurios sritys, kurios gali kelti problemų, yra duomenų įrašymo ir pranešimų sistemos registravimas nešiojamajame kompiuteryje

5) serial.serialutil. SerialException: prietaisas praneša apie pasirengimą skaityti, bet negrąžino jokių duomenų

Tai kartais atsitinka, jei maitinimas yra išjungtas. Tai atsitiko man, kai išjungiau įrenginį naudodami jungiklį

Techninė įranga

1) Įsitikinkite, kad jungiklis yra tinkamai parinktas tarp duonos lentos skirstytuvo, kad jungtys nesusimaišytų.

5 veiksmas: užbaigto įrenginio demonstravimas

Užbaigto įrenginio demonstravimas
Užbaigto įrenginio demonstravimas
Užbaigto įrenginio demonstravimas
Užbaigto įrenginio demonstravimas
Užbaigto įrenginio demonstravimas
Užbaigto įrenginio demonstravimas

Nedvejodami peržiūrėkite vaizdo įrašą, kad pamatytumėte, kaip veikia įrenginys, naudodami įterptąją nuorodą arba šią „YouTube“nuorodą: https://www.youtube.com/embed/Ab1wKr2ORbM. Apskritai tai yra tai, ką aš dabar reguliariai naudoju ir pastebėjau, kad jis per greitai neišsikrauna iš maitinimo šaltinio ir neapsunkina mano senojo nešiojamojo kompiuterio apdorojimo galios atžvilgiu. Jei turite kokių nors problemų, nedvejodami sukurkite problemos įrašą susijusiame šio projekto „GitHub“repo!

Rekomenduojamas: