Orodha ya maudhui:

Kufuatilia kiotomatiki Blaster ya Maji: Hatua 9
Kufuatilia kiotomatiki Blaster ya Maji: Hatua 9

Video: Kufuatilia kiotomatiki Blaster ya Maji: Hatua 9

Video: Kufuatilia kiotomatiki Blaster ya Maji: Hatua 9
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Julai
Anonim
Kufuatilia kiotomatiki Blaster ya Maji
Kufuatilia kiotomatiki Blaster ya Maji

Kulungu aliyekula Rose alinipa motisha kujenga blaster ya ufuatiliaji wa maji ili kusaidia kuzuia wakosoaji wanyonyaji.. Blaster hii ya maji hutumia utambuzi wa mwendo wa video ili kulenga servo na kusababisha milipuko mifupi ya maji kulenga. Inapiga tu baada ya lengo lililopatikana limesimama kwa sekunde chache (ucheleweshaji unaweza kubadilishwa katika nambari). Sijali kama kulungu wanatembea tu lakini ikiwa wataacha vitafunio, sploosh!

Hapa kuna video yangu nikijaribu blaster ya maji:

Blaster ya maji ni sanduku la kusimama pekee ambalo linaweza kushikamana kwa mbali na (kupitia wi-fi / VNC) kutoka kwa kompyuta yoyote kwenye mtandao wako kufuatilia inachofanya. Inachukua picha kila wakati inasababishwa ili baadaye uone kile kilichokuwa kilipuka.

Nilitumia Raspberry Pi, NoIR cam, taa ya IR, servo ya kawaida ya mstari, na valve ya maji kuunda siku hii / usiku, lengo la kufuatilia blaster ya maji. Nambari hiyo imeandikwa katika Python na inazima sana kutoka kwa sampuli za kificho za usindikaji wa picha za Adrian Rosebrock. Unaweza kuona maandishi yake kwenye:

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

Kwa kuwa ninafuata malengo makubwa (ya kulungu), shida yangu ni rahisi. Ninahitaji tu kulenga usawa ili niondoke kwa kutumia servo moja tu. Kusubiri kulungu kusimama bado kunisaidia kuondoa vichocheo vingi vya uwongo. Hili ni jaribio langu la rev-0 na nimepata vitu kadhaa ningebadilisha ikiwa ningejenga nyingine. Nimeona mambo haya katika kina kuandika juu ifuatavyo.

Hatua ya 1: Kanuni

Blaster ya maji hutumia Raspberry Pi 3 kwa usindikaji. Kwa kukamata video, NoIR Raspberry Pi cam hutumiwa pamoja na taa ya IR kwa video ya usiku. Kifurushi cha OpenCV / cv2 Python hutumiwa kukamata na kuchakata habari ya picha na kuhesabu kuratibu za walengwa. Maktaba ya pigpio hutumiwa kudhibiti gpio kwa operesheni thabiti ya servo. Kutumia kifurushi cha kawaida cha RPi. GPIO kilisababisha servo inayotetemeka. KUMBUKA: Unapotumia maktaba ya nguruwe unahitaji kuendesha daemon ya nguruwe. Ongeza hii kwenye faili yako ya kuanza ya Pi /etc/rc.local kwa pigpio lib na interface ya kamera ya Raspberry Pi:

/etc/rc.local# Sanidi / dev / video0 ili kuungana na Raspberry Pi iliyojengwa kwenye kamera ya kuingiliana kwa kamera bcm2835-v4l2 # Anza daemon ya nguruwe kwa maktaba ya kudhibiti Raspberry Pi IO

Tazama https://pypi.python.org/pypi/pigpi kwa undani zaidi.

Nambari ya chanzo imeitwa: water_blaster.py na imeambatanishwa hapa chini.

Kanusho: Mimi ni mpya kwa kuweka alama kwa Python kwa hivyo usichukulie kama mfano mzuri wowote wa mtindo wa kuweka alama wa Python!

Algorithm ya kimsingi ni kama ifuatavyo:

  • Shika fremu ya kumbukumbu ya video ya awali. Hii itatumika kulinganisha dhidi ya kugundua mwendo.
  • Shika fremu nyingine.
  • Badilisha sura kuwa kiwango cha kijivu, ipime, uifanye blur.
  • Hesabu tofauti kutoka kwa fremu ya kumbukumbu
  • Chuja tofauti ndogo, pata kuratibu za tofauti kubwa zaidi.
  • Weka kipima muda. Ikiwa uratibu wa shabaha haubadilika kwa sekunde chache, basi piga picha ya kile tunachotaka kupiga na kuchochea valve ya maji kwa mlipuko wa maji. Zoa servo nyuma na nje kwa digrii chache kwa mlipuko wa "shotgun".
  • Ikiwa tutapata vichocheo vitatu haraka sana, zuia upigaji risasi, pumzika kidogo, kisha sasisha fremu ya kumbukumbu kwani tunaweza kupiga risasi kwenye kivuli au taa ya ukumbi ambayo ilikuwa imewashwa tu …
  • Kila dakika chache sasisha fremu ya kumbukumbu ili kuhesabu mabadiliko ya chini ya mzunguko (jua kuchomoza / kutua, mawingu yanaingia, n.k.)

Ninatumia tu utaratibu wa kulenga usawa lakini milima mingi ya pan / tilt servo inapatikana kwenye EBay na itakuwa rahisi kuongeza servo nyingine ya kudhibiti kulenga wima ikiwa unataka kulenga sahihi zaidi.

Niliweka Raspberry Pi ili kukimbia kama seva ya VNC, kisha unganisha kwa hiyo kupitia VNC kutoka kwa kompyuta yangu ndogo ili kuanzisha programu na kufuatilia video na magogo. cd kwenye saraka ambayo unahifadhi water_blaster.py na uiendeshe kwa kuandika:

./python maji_blaster.py

Itafungua dirisha la ufuatiliaji wa video, anzisha faili ya kumbukumbu inayoitwa "./log_ [tarehe_ya_katika wakati], na uunda kitabu kipya kinachoitwa" picha za kuchochea "ambapo faili za-j.webp

Hapa kuna maelezo juu ya kuanzisha VNC kwenye Raspberry Pi yako:

Mara ya kwanza kuanzisha Raspberry Pi, nilitumia mfuatiliaji wa nje / kibodi / panya kuweka vitu. Hapo niliwezesha seva ya VNC kwenye usanidi wa RasPi (Raspberry Logo / Mapendeleo / Usanidi wa Pi ya Raspberry / Maingiliano / Angalia chaguo la VNC). Baadaye, inapovuka, inakuwezesha kuungana na onyesho lake: 0 kupitia mteja wa VNC (w / sifa sawa na mtumiaji wa msingi "pi").

Katika hali isiyo na kichwa inabadilika kwa onyesho ndogo sana la azimio (kwani haigunduli maonyesho yoyote), kuilazimisha kwa azimio kubwa zaidi, unaongeza hii kwenye / boot/config.txt na uanze upya:

# Tumia ikiwa umeonyesha # hdmi_ignore_edid = 0xa5000080hdmi_group = 2 # 1400x1050 w / 60Hz # hdmi_mode = 42 # 1356x768 w / 60Hzhdmi_mode = 39

Hapa kuna habari zaidi:

Hatua ya 2: Elektroniki

Mahitaji ya umeme wa blaster ya maji ni ndogo kutumia Raspberry Pi 3 gpio kuendesha servo, valve ya maji na taa ya IR kupitia bafa za transistor (zilizojengwa kwenye bodi ndogo ya proto). Kamera ya kawaida ya NoIR huziba moja kwa moja kwenye Raspberry Pi.

Jina la skimu ni: water_blaster_schematic.pdf na imeambatanishwa hapa chini.

Nilitumia usambazaji wa kujitolea wa 5v / 2.5A kwa Raspberry Pi na usambazaji wa 12v / 1A kwa kuendesha taa ya IR na valve ya maji. Ugavi wa 12v pia huendesha mdhibiti wa 5v kusambaza nguvu kwa servo ya 5v. Hii ilifanywa kuweka nguvu ya kudhibiti kelele ya "kelele" ikitengwa na usambazaji wa Raspberry Pi 5v. Ugavi wa 12v / 1A ulibainika kuwa sawa katika ukomo wake (haswa zaidi ya mara moja niliongeza shabiki). Nambari inazima taa ya IR kabla ya kuwezesha relay ya valve ya maji kuweka kuteka kwa sasa ndani ya anuwai … Ingekuwa bora ikiwa ungetumia usambazaji wa 1.5A. Hakikisha kuunganisha vituo vya ardhi vya vifaa vyote vya umeme pamoja.

Moduli ya kamera ni toleo la kawaida la NoIR ambalo huziba kwenye Raspberry Pi moja kwa moja. Ni Raspberry Pi cam na kichujio cha IR tayari kimeondolewa kuwezesha kutumiwa na taa ya IR kwa kuchukua video ya usiku.

Servo inayotumiwa ni servo yenye ukubwa wa wastani wa 5v na mwendo wa kilo 3-4-cm.

Taa ya IR ilikuwa pete ya chini iliyoongozwa na 48 niliyoipata kwenye EBay kwa karibu $ 4. Sio nguvu sana na inaweza kuangaza tu hadi meta 15. Ikiwa una bajeti ya ziada, kupata taa yenye nguvu itakuwa uboreshaji mzuri.

Niliongeza "sweta-kubadili" kwa gpio23. Nambari huangalia hali ya ubadilishaji na ikiwa imeshinikizwa italemaza upelekaji wa valve ya maji kwa upimaji wa moto-kavu. Nilidhani ningefanya zaidi na swichi hiyo lakini sikuishia kuitumia kabisa. Ningeondoa na nambari inayotafuta…

Hatua ya 3: Ujenzi: Kamera na IR Illuminator

Ujenzi: Kamera na IR Illuminator
Ujenzi: Kamera na IR Illuminator

Nilitumia sanduku la risasi la plastiki la mizigo kama bandari. Hasa nilihitaji kitu kisichostahimili maji kwani dawa nyingi za maji / mtiririko hauepukiki. Kuna mashimo / kata nyingi lakini zinafunikwa na visanduku, plastiki wazi, au hupigwa chini ya vizuizi kumwaga maji. Kwa macho ya nyuma, ningepaswa kutumia sanduku la chuma na heatsinks zilizoambatanishwa ndani na vifaa vya nguvu nyingi. Kwa kufanya hivyo nadhani ningeweza kuepusha kuongeza shabiki. Sanduku la plastiki lilikuwa na kuhami sana na liliruhusu joto la ndani kuongezeka sana.

Dirisha dogo lilikatwa mwishowe kamera itazame na taa ya IR ilikuwa imewekwa ndani ya kasha la zamani la lensi ya plastiki niliyokuwa nimeweka karibu.

Hatua ya 4: Ujenzi: Bomba la Maji

Ujenzi: Bomba la Maji
Ujenzi: Bomba la Maji
Ujenzi: Bomba la Maji
Ujenzi: Bomba la Maji

Bomba la maji hutiwa bomba kwenye bomba la maji la 12v ambalo limeunganishwa na bomba la ¼”ID x 3/8” OD vinyl. Hiyo nayo imeunganishwa na neli ya bed”iliyotiwa na to ili kutinganisha kontakt inayofaa ya PVC na kushikamana na kofia ya maji ya" PVC "na shimo la 1/16" lililotobolewa kwa mkondo wa maji. Nilitaka kuweka relay ya valve ya maji nje ya hali ya hewa kwa hivyo imewekwa ndani ya sanduku. Kuna hatari kwamba ninaweza kuvuja lakini nimechimba mashimo ya kukimbia chini ya sanduku na kuweka umeme juu ili kupunguza nafasi ya uharibifu wa maji kwa umeme ikiwa hiyo itatokea. Mpango mdogo wa kupendeza, lakini salama, itakuwa kuweka valve kwenye nje na kuendesha waya za kupeleka 12v ndani. Disk ya plastiki wazi juu ya servo ilikuwa njia rahisi ya kuweka mwisho wa bomba na inazuia maji kutiririka kwenye servo. Shabiki huyo alikuwa akifikiria baadaye kwani sanduku lilikuwa likipasha moto sana. Nilijenga kiwiko kidogo juu yake kuzuia maji yasidondoke.

Hatua ya 5: Ujenzi: Lengo la Servo

Ujenzi: Kulenga Servo
Ujenzi: Kulenga Servo

Shimo hukatwa juu ya sanduku na servo inayolenga imewekwa na kufungwa na silicon kuweka maji.

Hatua ya 6: Ujenzi: Kuweka vifaa vya Nguvu, Shabiki, Raspberry Pi, na Proto-board

Ujenzi: Kuweka vifaa vya Nguvu, Shabiki, Raspberry Pi, na Proto-board
Ujenzi: Kuweka vifaa vya Nguvu, Shabiki, Raspberry Pi, na Proto-board

Vifaa viwili vya umeme (5v na 12v) vimefungwa kwa kamba moja ya umeme inayotoka kando ya sanduku. Raspberry Pi na bodi ya proto imewekwa kando ya sanduku karibu na juu. Angalia mashimo ya kukimbia yaliyotobolewa chini na mashimo ya upepo wa hewa yalipigwa kando ya makali ya juu. Shabiki amewekwa mkabala na Raspberry Pi. Hakuna kitufe cha kuwasha / kuzima kwani sitaki kuhamasisha kuzima Raspberry Pi bila amri rasmi ya "kuzima kwa sudo sasa" (i.e. sitaki umeme uzimwe kwa urahisi).

Hatua ya 7: Ujenzi: Bodi ya Proto

Ujenzi: Proto Board
Ujenzi: Proto Board

Bodi ya proto ina mdhibiti wa 5v, kofia ya kichungi, transistors za umeme (zinazoendesha servo na valve ya maji), na ubadilishaji wa utatuzi.

Hatua ya 8: Ujenzi: Kamera ya Raspberry Pi

Ujenzi: Kamera ya Raspberry Pi
Ujenzi: Kamera ya Raspberry Pi

Raspberry Pi cam inaunganisha moja kwa moja na Raspberry Pi kupitia kebo ya Ribbon na imewekwa kwenye sahani wazi ya plastiki inayofunika ukataji wa kutazama mbele ya sanduku.

Hatua ya 9: Orodha ya Sehemu

Mradi huo uliishia kugharimu karibu $ 120. Sehemu kubwa ya gharama ya mradi ni Raspberry Pi, kamera, servo na vifaa vya umeme. Nilipata sehemu nyingi kwenye EBay au Amazon na sehemu za bomba kwenye duka la vifaa vya karibu.

  • Raspberry Pi 3 (Amazon) $ 38
  • Kamera ya NoIR (EBay) $ 30
  • 5v Analog Servo (muda wa 4kg-cm) (EBay) $ 10
  • Ugavi wa Umeme wa 5v / 2.4A (EBay) $ 8
  • 12v Water”Valve ya Maji (EBay) $ 5
  • Tubing, Coup-Couplers (Osh) $ 5
  • Sanduku la Ammo la Plastiki (Usafirishaji wa Bandari) $ 5
  • Ugavi wa Umeme wa 12v / 1.5A (EBay) $ 5
  • Illuminator ya IR (EBay) $ 4
  • Misc. Vipengele (Resistors, Swichi, Diode) $ 2
  • CPU Shabiki (EBay) $ 2
  • Proto Board, Standoffs, Screws (EBay) $ 2
  • (2) Transistors za Umeme (2n5296) (EBay) $ 1
  • Mdhibiti wa 5v (LM7805) (EBay) $ 1
  • Futa Plastiki 3/32”(Gonga Plastiki Misc. Bin.) $ 1
  • Kamba ya Umeme (Osh) $ 1

Maduka / tovuti ambazo nilinunua vitu:

  • Tovuti ya EBay ya Alice1101983:
  • Tovuti ya 2bevoque EBay:
  • Usafirishaji wa Bandari
  • Vifaa vya Ugavi wa Orchard
  • Amazon
  • Gonga Plastiki

Ilipendekeza: