Tartalomjegyzék:

Automatikus nyomkövető vízfúvó: 9 lépés
Automatikus nyomkövető vízfúvó: 9 lépés

Videó: Automatikus nyomkövető vízfúvó: 9 lépés

Videó: Automatikus nyomkövető vízfúvó: 9 lépés
Videó: MicroLoc GPS nyomkövető Icom digitális rádiós rendszerrel 2024, Július
Anonim
Automatikus nyomkövető vízszóró
Automatikus nyomkövető vízszóró

A rózsaevő szarvasok motiváltak, hogy építsek egy célkövető vízi robbantót, amely segít elriasztani a falánk élőlényeket … Ez a vízi robbantó videó alapú mozgásérzékelést használ a szervo célzásához, és rövid vízsugarak kiváltásához a célponthoz. Csak akkor lő, ha a megszerzett cél néhány másodpercig álló helyzetben van (a késleltetés beállítható a kódban). Nem érdekel, ha a szarvasok csak elmennek mellette, de ha megállnak uzsonnázni, sploosh!

Itt van egy videó, amin teszteltem a vízi robbantót:

A vízszóró egy önálló doboz, amely távolról csatlakoztatható (wi-fi/VNC-n keresztül) a hálózat bármely számítógépéről, hogy figyelemmel kísérje, mit csinál. Minden indításkor készít egy képet, így később láthatja, mi történt.

Egy Raspberry Pi, NoIR bütyök, infravörös megvilágító, szabványos lineáris szervó és egy vízszelep segítségével készítettem ezt a nappali/éjszakai, célkövető víztisztítót. A kód Python nyelven íródott, és nagyban kölcsönzi Adrian Rosebrock cv2 képfeldolgozó kódmintáit. Írását megtekintheti a következő címen:

www.pyimagesearch.com/2015/06/01/home-surv…

Mivel viszonylag nagy, földi célpontok (szarvasok) után megyek, a problémám némileg leegyszerűsödik. Csak vízszintes célzásra van szükségem, hogy csak egy szervót használhassak. A szarvasok álló helyzetére várva sok hamis kiváltó okot kiküszöbölhetek. Ez az én rev-0 kísérletem, és találtam néhány dolgot, amit módosítanék, ha újat építenék. Ezeket a dolgokat a következő részletes írásban megjegyeztem.

1. lépés: A kód

A vízfúvó a Raspberry Pi 3 -at használja a feldolgozáshoz. A videofelvételhez NoIR Raspberry Pi kamerát használnak az éjszakai videóhoz használható infravörös megvilágítóval együtt. Az OpenCV/cv2 Python csomag a képinformációk rögzítésére és feldolgozására, valamint a célkoordináták kiszámítására szolgál. A pigpio könyvtár a gpio vezérlésére szolgál a stabil szervo működéshez. A szokásos RPi. GPIO csomag használata remegő szervót eredményezett. MEGJEGYZÉS: A pigpio könyvtár használatakor futtatnia kell a pigpio démont. Adja hozzá ezt a Pi /etc/rc.local indítási fájljához a pigpio lib és a Raspberry Pi kamera felületéhez:

/etc/rc.local# Állítsa be a/dev/video0 linket a Raspberry Pi beépített kamera interfészmodul-szondájához bcm2835-v4l2# Indítsa el a Pigpio démont a Raspberry Pi IO vezérlőkönyvtárhoz

További részletekért lásd:

A forráskód neve: water_blaster.py, és az alábbiakban található.

Jogi nyilatkozat: Új vagyok a Python -kódolásban, ezért ne kezelje úgy, mint a Python -kódolási stílus nagyszerű modelljét!

Az alapvető algoritmus a következő:

  • Ragadjon meg egy kezdeti videó referenciakeretet. Ezt használják a mozgás észleléséhez való összehasonlításhoz.
  • Fogj egy másik keretet.
  • A keret átalakítása szürkeárnyalatosra, méretezése, elmosása.
  • Számítsa ki a különbséget a referenciakeretből
  • Szűrje ki az apró különbségeket, és kapja meg a legnagyobb különbség koordinátáit.
  • Állítson be egy időzítőt. Ha a célkoordináták néhány másodpercig nem változnak, akkor készítsen egy képet arról, hogy mire készülünk, és indítsa el a vízszelepet egy vízcsapásra. Söpörje a szervót előre -hátra néhány fokkal a „shotgun” robbanáshoz.
  • Ha túl gyorsan kapunk három kioldót, tiltsuk le a felvételt, szüneteljünk egy kicsit, majd frissítsük a referenciakeretet, mivel lehet, hogy éppen bekapcsolt árnyékban vagy verandafényben fényképezünk…
  • Néhány percenként frissítse a referenciakeretet, hogy figyelembe vegye az alacsony frekvenciájú változásokat (napfelkelte/lenyugvás, borult beköltözés stb.)

Csak vízszintes célzási mechanizmust használok, de az EBay -n sok pan/dönthető szervo rögzítő áll rendelkezésre, és ha pontosabb célzást szeretne, könnyen hozzáadhat egy másik szervót a függőleges célzás vezérléséhez.

Beállítottam a Raspberry Pi -t, hogy VNC szerverként fusson, majd a laptopomról VNC -n keresztül csatlakozom hozzá, hogy elindítsam a programot, és figyeljem a videókat és a naplókat. cd -t a könyvtárba, ahol a water_blaster.py tárolja, és futtassa a következőt:

./python water_blaster.py

Megnyílik egy videómonitor ablak, elindít egy "./log_[date]_[time] nevű naplófájlt, és létrehoz egy" trigger_pictures "nevű alkönyvtárat, ahol a-j.webp

Íme néhány megjegyzés a VNC beállításáról a Raspberry Pi -n:

Amikor először állítottam be a Raspberry Pi -t, külső monitort/billentyűzetet/egeret használtam a dolgok beállításához. Ott engedélyeztem a VNC szervert a RasPi konfigurációban (Raspberry Logo / Preferences / Raspberry Pi Configuration / Interfaces / Check VNC opció). Ezt követően, amikor elindul, lehetővé teszi, hogy csatlakozzon a: 0 kijelzőhöz a VNC kliensen keresztül (azonos hitelesítő adatokkal, mint az alapértelmezett "pi" felhasználó).

Fej nélküli módban alapértelmezés szerint nagyon kicsi felbontású kijelző (alapértelmezés szerint nem érzékel semmilyen kijelzőt), hogy nagyobb felbontásra kényszerítse, adja hozzá ezt a /boot/config.txt fájlhoz, és indítsa újra:

# Használja, ha rendelkezik kijelzővel# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39

Íme néhány további információ:

2. lépés: Az elektronika

A vízpisztoly -elektronikai követelmények minimálisak a Raspberry Pi 3 gpio használatával, szervo, vízszelep és infravörös megvilágító meghajtására diszkrét tranzisztoros puffereken keresztül (egy kis proto kártyára építve). A szabványos NoIR kamera közvetlenül a Raspberry Pi -hez csatlakozik.

A vázlat neve: water_blaster_schematic.pdf, és az alábbiakban található.

A Raspberry Pi -hez 5v/2,5A dedikált tápegységet, az infravörös megvilágító és vízszelep működtetéséhez 12v/1A tápegységet használtam. A 12 V -os tápegység 5 V -os szabályozót is hajt, hogy tápellátást biztosítson az 5 V -os szervóhoz. Ezt azért tették, hogy a „zajos” motorvezérlő tápellátást elkülönítsék a Raspberry Pi 5v tápellátástól. A 12v/1A tápegység a határainál volt (valójában kissé meghaladta a ventilátor hozzáadását). A kód kikapcsolja az infravörös megvilágítót, mielőtt bekapcsolja a vízszelep relét, hogy az áramfelvételt a tartományon belül tartsa … Jobb lenne, ha 1,5 A tápegységet használna. Feltétlenül csatlakoztassa az összes tápegység földelő kapcsát.

A kamera modul egy szabványos NoIR verzió, amely közvetlenül csatlakoztatható a Raspberry Pi -hez. Ez egy Raspberry Pi kamera, amelynek infravörös szűrője már eltávolítva lehetővé teszi, hogy az IR megvilágítóval együtt használható legyen az éjszakai videók készítéséhez.

A szervó egy szabványos méretű 5 V-os lineáris szervo, 3-4 kg-cm nyomatékkal.

Az infravörös megvilágító egy olcsó 48 ledes gyűrű volt, amelyet az ebay -en találtam körülbelül 4 dollárért. Nem túl erős, és csak körülbelül 15 lábig képes megvilágítani. Ha több költségvetése van, akkor jó előrelépés lenne egy erősebb megvilágító beszerzése.

Hozzáadtam egy „hibakeresési kapcsolót” a gpio23-hoz. A kód ellenőrzi a kapcsoló állapotát, és ha megnyomja, letiltja a vízszelep relét a száraz tűz teszteléséhez. Azt hittem, többet fogok csinálni ezzel a kapcsolóval, de végül egyáltalán nem használtam. Eltávolítanám és a keresett kódot …

3. lépés: Felépítés: kamera és infravörös megvilágító

Felépítés: kamera és infravörös megvilágító
Felépítés: kamera és infravörös megvilágító

Burkolatként Harbor Freight műanyag lőszert használtam. Főleg valami vízállóra volt szükségem, mivel elkerülhetetlen a sok vízpermet/lefolyás. Sok lyuk/kivágás található, de napellenzővel, átlátszó műanyaggal borítják, vagy túlnyúlványok alá fúrják a vizet. Utólag egy fémdobozt kellett volna használnom, hűtőbordákkal, amelyek a nagy teljesítményű alkatrészekhez vannak rögzítve. Ezzel azt hiszem, elkerülhettem volna a ventilátor hozzáadását. A műanyag doboz túl szigetelő volt, és lehetővé tette a belső hőmérséklet túlzott emelkedését.

A végén egy kis ablakot vágtak ki, hogy a kamera kinézzen, és az infravörös megvilágítót egy régi műanyag lencseházba szerelték, amit én hevertem.

4. lépés: Építés: Vízvezetékek

Felépítés: Vízvezeték
Felépítés: Vízvezeték
Felépítés: Vízvezeték
Felépítés: Vízvezeték

A vízbemenetet egy 12 V -os vízszelepbe vezetik, amely ¼”ID x 3/8” OD vinilcsőhöz van csatlakoztatva. Ez viszont egy ¼”szöges csőhöz csatlakozik a ¾ csúszásgátló PVC csatlakozóhoz, és egy ¾” PVC vízsapkához van ragasztva, a vízáramhoz fúrt 1/16”lyukkal. Szerettem volna a vízszelep relét az időjárás viszontagságaitól távol tartani, így a doboz belsejébe van szerelve. Fennáll annak a veszélye, hogy szivároghat, de kifolyónyílásokat fúrtam a doboz aljába, és magasra szereltem az elektronikát, hogy minimálisra csökkentsem az elektronika esetleges vízkárosodásának esélyét. Kevésbé esztétikus megjelenésű, de biztonságosabb megoldás az lenne, ha a szelepet kívülre szerelnénk, és a 12 V -os reléhuzalokat vezetnénk be. Az átlátszó műanyag tárcsa a szervó felett kényelmes módja volt a tömlővég felszerelésére, és megakadályozza, hogy a víz lecsöppenjen a szervóra. A ventilátor utógondolat volt, mivel a doboz túlságosan felmelegedett. Egy kis napellenzőt építettem rá, hogy ne csöpögjön a víz.

5. lépés: Építés: a szervo célzása

Felépítés: Célzó szervó
Felépítés: Célzó szervó

A doboz tetejébe lyukat vágnak, és a célzó szervót felhelyezik és szilíciummal lezárják a víz elvezetése érdekében.

6. lépés: Felépítés: A tápegységek, a ventilátor, a Raspberry Pi és a Proto-board felszerelése

Felépítés: A tápegységek, a ventilátor, a Raspberry Pi és a Proto-board felszerelése
Felépítés: A tápegységek, a ventilátor, a Raspberry Pi és a Proto-board felszerelése

A két tápegység (5v és 12v) egyetlen tápkábelhez van kötve, amely a doboz oldalán található. A Raspberry Pi és egy proto tábla a doboz oldalán, a teteje közelében található. Figyelje meg az aljára fúrt leeresztő lyukakat és a felső széle mentén fúrt légtelenítő lyukakat. A ventilátor a Raspberry Pi -vel szemben van felszerelve. Nincs be/ki kapcsoló, mivel nem akarom ösztönözni a Raspberry Pi kikapcsolását a hivatalos „sudo shutdown now” parancs nélkül (azaz nem akarom, hogy a készülék túl könnyen kikapcsoljon).

7. lépés: Építés: a Proto Board

Felépítés: a Proto Board
Felépítés: a Proto Board

A proto kártya tartalmaz 5 V-os szabályozót, szűrősapkát, teljesítmény-tranzisztorokat (amelyek a szervó- és vízszelepet hajtják) és egy hibakereső kapcsolót.

8. lépés: Építés: Raspberry Pi kamera

Felépítése: Raspberry Pi kamera
Felépítése: Raspberry Pi kamera

A Raspberry Pi bütyök a szalagkábellel közvetlenül a Raspberry Pi -hez csatlakozik, és a doboz elején található áttekintőnyílást lefedő átlátszó műanyag lemezre van felszerelve.

9. lépés: Alkatrészlista

A projekt végül körülbelül 120 dollárba került. A projekt költségeinek nagy része a Raspberry Pi, a kamera, a szervó és a tápegységek. Az alkatrészek nagy részét az EBay -n vagy az Amazon -on találtam, a vízvezeték -alkatrészeket pedig a helyi hardverboltban.

  • Raspberry Pi 3 (Amazon) 38 dollár
  • NoIR kamera (eBay) 30 dollár
  • 5v analóg szervó (4 kg-cm nyomaték) (EBay) 10 USD
  • 5v/2.4A fali tápegység (EBay) 8 USD
  • 12v ½”vízszelep (EBay) 5 USD
  • Cső, csőcsatlakozók (Osh) 5 USD
  • Műanyag lőszerdoboz (kikötői áruszállítás) 5 USD
  • 12v/1,5A fali tápegység (EBay) 5 USD
  • IR Illuminator (EBay) 4 dollár
  • Egyéb Alkatrészek (ellenállások, kapcsolók, dióda) $ 2
  • CPU ventilátor (eBay) 2 dollár
  • Proto Board, Standoffs, Csavarok (EBay) 2 USD
  • (2) Teljesítménytranzisztorok (2n5296) (EBay) $ 1
  • 5v szabályozó (LM7805) (EBay) $ 1
  • Átlátszó műanyag 3/32”(Tap Plastics Misc. Bin) $ 1
  • Tápkábel (Osh) $ 1

Üzletek/webhelyek, ahol termékeket vásároltam:

  • Alice1101983 EBay webhely:
  • 2bevoque EBay webhely:
  • Kikötői áruszállítás
  • Gyümölcsös -ellátási hardver
  • amazon
  • Koppintson a Műanyagok elemre

Ajánlott: