Përmbajtje:

Ndjekja automatike e ujit Blaster: 9 hapa
Ndjekja automatike e ujit Blaster: 9 hapa

Video: Ndjekja automatike e ujit Blaster: 9 hapa

Video: Ndjekja automatike e ujit Blaster: 9 hapa
Video: Detaje te reja nga vrasja ne Vlore | Lajme-News 2024, Nëntor
Anonim
Ndjekja automatike e ujit Blaster
Ndjekja automatike e ujit Blaster

Dreri që hante trëndafila më motivoi të ndërtoja një shpërthyes uji që gjurmon objektivin për të ndihmuar në pengimin e kafshëve të pangopura … Ky shpërthyes uji përdor zbulimin e lëvizjes të bazuar në video për të synuar një servo dhe për të shkaktuar shpërthime të shkurtra uji në objektiv. Ai qëllon vetëm pasi një objektiv i fituar është i palëvizshëm për disa sekonda (vonesa mund të rregullohet në kod). Nuk më intereson nëse dreri po ecën, por nëse ndalen për një meze të lehtë, sploosh!

Këtu është një video e imja duke testuar shpërthyesin e ujit:

Pastruesi i ujit është një kuti e pavarur që mund të lidhet nga distanca (nëpërmjet wi-fi/VNC) nga çdo kompjuter në rrjetin tuaj për të monitoruar atë që po bën. Merr një fotografi sa herë që ndizet, kështu që më vonë mund të shihni se çfarë po shpërthente.

Kam përdorur një Raspberry Pi, kamerë NoIR, ndriçues IR, servo standarde lineare dhe një valvulë uji për të krijuar këtë ditë/natë, objektiv për përcjelljen e shpërthyesit të ujit. Kodi është shkruar në Python dhe merr hua shumë nga mostrat e kodit të përpunimit të figurës cv2 të Adrian Rosebrock. Ju mund ta shihni shkrimin e tij në:

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

Meqenëse jam duke ndjekur objektiva relativisht të mëdhenj, të bazuar në tokë (dre), problemi im është thjeshtuar disi. Kërkoj vetëm synim horizontal në mënyrë që të shpëtoj duke përdorur vetëm një servo. Të presësh që dreri të qëndrojë ende më ndihmon të eleminoj shumë shkaktarë të rremë. Kjo është përpjekja ime rev-0 dhe kam gjetur disa gjëra që do të modifikoja nëse do të ndërtoja një tjetër. Unë i kam vënë re këto gjëra në shkrimin e detajuar që vijon.

Hapi 1: Kodi

Pastruesi i ujit përdor Raspberry Pi 3 për përpunim. Për regjistrimin e videos, një kamerë NoIR Raspberry Pi përdoret së bashku me një ndriçues IR për video të natës. Paketa Python OpenCV/cv2 përdoret për të kapur dhe përpunuar informacionin e imazhit dhe për të llogaritur koordinatat e synuara. Biblioteka pigpio përdoret për të kontrolluar gpio për funksionimin e qëndrueshëm të servo. Përdorimi i paketës së rregullt RPi. GPIO rezultoi në një servo të lëkundur. SH NOTNIM: Kur përdorni bibliotekën e pigpio ju duhet të drejtoni demonin e pigpio. Shtojeni këtë në skedarin tuaj të fillimit Pi /etc/rc.loc për lib pigpio dhe ndërfaqen e kamerës Raspberry Pi:

/etc/rc.local# Konfiguro/dev/video0 për t'u lidhur me Raspberry Pi të integruar në kamera interfacemodprobe bcm2835-v4l2# Fillo demonin e derrit për bibliotekën e kontrollit Raspberry Pi IOpigpiod

Shihni https://pypi.python.org/pypi/pigpi për më shumë detaje.

Kodi burimor quhet: water_blaster.py dhe është bashkangjitur më poshtë.

Disclaimer: Unë jam i ri në kodimin Python, kështu që mos e trajtoni atë si ndonjë model të shkëlqyeshëm të stilit të kodimit Python!

Algoritmi bazë është si më poshtë:

  • Merrni një kornizë fillestare të referencës video. Kjo do të përdoret për të krahasuar kundër për të zbuluar lëvizjen.
  • Merrni një kornizë tjetër.
  • Shndërroni kornizën në shkallë gri, madhësojeni, turbullojeni atë.
  • Llogaritni ndryshimin nga korniza e referencës
  • Filtroni dallimet e vogla, merrni koordinatat e ndryshimit më të madh.
  • Vendosni një kohëmatës. Nëse koordinata e synuar nuk ndryshon për disa sekonda, atëherë bëni një fotografi të asaj që do të xhirojmë dhe nxisni valvulën e ujit për një shpërthim uji. Fshijeni servon para dhe mbrapa disa gradë për një shpërthim "armë gjahu".
  • Nëse marrim tre nxitës shumë shpejt, çaktivizoni të shtënat, ndaloni pak, pastaj azhurnoni kornizën e referencës pasi mund të xhirojmë në dritën e hijes ose verandës që sapo ishte ndezur…
  • Çdo disa minuta përditësoni kornizën e referencës për të llogaritur ndryshimet e frekuencës së ulët (lindja/perëndimi i diellit, vranësira, lëvizja, etj.)

Unë jam duke përdorur vetëm një mekanizëm të synimit horizontal, por shumë montime servo pan/tilt janë të disponueshme në EBay dhe do të ishte e lehtë të shtoni një servo tjetër për kontrollin e synimeve vertikale nëse dëshironi shënjestrim më të saktë.

Unë e vendosa Raspberry Pi për të funksionuar si një server VNC, pastaj lidhem me të nëpërmjet VNC nga laptopi im për të filluar programin dhe për të monitoruar videon dhe regjistrat. cd në drejtorinë ku ruani water_blaster.py dhe drejtojeni duke shtypur:

./piton water_blaster.py

Do të hapë një dritare të monitorit të videos, do të fillojë një skedar regjistri të quajtur ./log_ për çdo goditje të shkrepur.

Këtu janë disa shënime mbi vendosjen e VNC në Raspberry Pi tuaj:

Herën e parë që kam konfiguruar Raspberry Pi, kam përdorur një monitor/tastierë/mi të jashtëm për të vendosur gjërat. Aty aktivizova serverin VNC në konfigurimin RasPi (Logo Raspberry / Preferences / Raspberry Pi Configuration / Interfaces / Check VNC opsion). Më pas, kur fillon, ju mundëson të lidheni me ekranin e tij: 0 përmes klientit VNC (me të njëjtat kredenciale si përdoruesi i paracaktuar "pi").

Në modalitetin pa kokë, ai paraqet një ekran me rezolucion shumë të vogël (pasi nuk zbulon asnjë ekran), për ta detyruar atë në një rezolucion më të madh, ju e shtoni këtë në /boot/config.txt dhe rinisni:

# Përdorni nëse keni ekran# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39

Këtu keni edhe më shumë informacion:

Hapi 2: Elektronika

Kërkesat elektronike të pastruesit të ujit janë minimale duke përdorur Raspberry Pi 3 gpio për të drejtuar një servo, valvulë uji dhe ndriçues IR përmes tamponëve diskret të tranzistorit (të ndërtuar në një bord të vogël proto). Një aparat standard NoIR futet direkt në Raspberry Pi.

Emri i skemës është: water_blaster_schematic.pdf dhe është bashkangjitur më poshtë.

Kam përdorur një furnizim të veçantë 5v/2.5A për Raspberry Pi dhe një furnizim 12v/1A për të drejtuar ndriçuesin IR dhe valvulën e ujit. Furnizimi 12v gjithashtu drejton një rregullator 5v për të furnizuar me energji servo 5v. Kjo u bë për të mbajtur fuqinë e "zhurmshme" të kontrollit të motorit të izoluar nga furnizimi me Raspberry Pi 5v. Furnizimi 12v/1A doli të ishte në kufirin e tij (në të vërtetë pak më shumë pasi shtova ventilatorin). Kodi fik ndriçuesin IR para se të ndizni stafetën e valvulës së ujit për të mbajtur tërheqjen aktuale brenda rrezes … Do të ishte më mirë nëse përdorni një furnizim 1.5A. Sigurohuni që të lidhni terminalet tokësorë të të gjitha burimeve të energjisë së bashku.

Moduli i kamerës është një version standard NoIR që lidhet drejtpërdrejt me Raspberry Pi. Camshtë një kamerë Raspberry Pi me filtrin IR tashmë të hequr duke e bërë të mundur që të përdoret me një ndriçues IR për të marrë video të natës.

Servo e përdorur është një servo lineare me madhësi standarde 5v me 3-4 kg-cm çift rrotullues.

Ndriçuesi IR ishte një unazë led me kosto të ulët 48 që gjeta në EBay për rreth 4 dollarë. Nuk është super i fortë dhe mund të ndriçojë vetëm deri në rreth 15 metra. Nëse keni buxhet shtesë, marrja e një ndriçuesi më të fortë do të ishte një përmirësim i mirë.

Shtova një "ndërprerës debugues" në gpio23. Kodi kontrollon gjendjen e ndërprerësit dhe nëse shtypet do të çaktivizojë stafetën e valvulës së ujit për testimin e zjarrit të thatë. Mendova se do të bëja më shumë me atë ndërprerës, por nuk përfundova në fakt duke e përdorur atë fare. Unë do ta heq atë dhe kodin që e kërkon…

Hapi 3: Ndërtimi: Kamera dhe IR Illuminator

Ndërtimi: Kamera dhe IR Illuminator
Ndërtimi: Kamera dhe IR Illuminator

Kam përdorur një kuti të municionit plastik Harbor Freight si një rrethim. Kryesisht më duhej diçka rezistente ndaj ujit pasi shumë spërkatje/rrjedhje uji janë të pashmangshme. Ka shumë vrima/prerje, por ato janë të mbuluara me tendë, plastikë të pastër, ose janë shpuar nën dalje për të derdhur ujë. Në pamje të pasme, unë duhet të kisha përdorur një kuti metalike me lavamanë të ngjitur brenda në përbërësit e fuqisë së lartë. Duke vepruar kështu, unë mendoj se mund të kem shmangur shtimin e ventilatorit. Kutia plastike ishte shumë izoluese dhe lejoi që temperatura e brendshme të ngrihej shumë.

Një dritare e vogël u pre në fund që kamera të shihej jashtë dhe ndriçuesi IR ishte montuar brenda një kuti të vjetër lente plastike që kisha vendosur rreth e rrotull.

Hapi 4: Ndërtimi: Tubacionet e Ujit

Ndërtimi: Tubacion uji
Ndërtimi: Tubacion uji
Ndërtimi: Tubacion uji
Ndërtimi: Tubacion uji

Hyrja e ujit futet në një valvulë uji 12v që është e lidhur me një tub vinyl ¼”ID x 3/8” OD. Kjo nga ana tjetër lidhet me një tub bar”me gjemba për të rrëshqitur lidhësin PVC dhe ngjitur në një kapak uji C” PVC me një vrimë 1/16”të shpuar për rrjedhën e ujit. Doja ta mbaja stafetën e valvulave të ujit jashtë motit, kështu që është montuar brenda kutisë. Ekziston rreziku që unë të kem një rrjedhje, por unë kam shpuar vrima kullimi në pjesën e poshtme të kutisë dhe i kam montuar pajisjet elektronike lart për të minimizuar mundësinë e dëmtimit të mundshëm të ujit në elektronikë nëse kjo ndodh. Një plan më pak i këndshëm estetikisht, por më i sigurt do të ishte montimi i valvulës në pjesën e jashtme dhe futja e telave të stafetës 12v brenda. Disku i pastër plastik mbi servo ishte një mënyrë e përshtatshme për të montuar fundin e zorrës dhe mban ujin që të mos pikojë poshtë mbi servo. Tifozi ishte një mendim i mëvonshëm pasi kutia po ngrohej shumë. Ndërtova një tendë të vogël mbi të që të mos derdhej uji.

Hapi 5: Ndërtimi: Servo që synon

Ndërtimi: Servo që synon
Ndërtimi: Servo që synon

Një vrimë pritet në pjesën e sipërme të kutisë dhe servo që synon është montuar dhe vulosur me silikon për të mbajtur rrjedhjen.

Hapi 6: Ndërtimi: Montimi i burimeve të energjisë, Fan, Raspberry Pi dhe Proto-board

Ndërtimi: Montimi i furnizimit me energji elektrike, Fan, Raspberry Pi dhe Proto-board
Ndërtimi: Montimi i furnizimit me energji elektrike, Fan, Raspberry Pi dhe Proto-board

Dy burimet e energjisë (5v dhe 12v) lidhen me një kabllo të vetme të energjisë që del nga ana e kutisë. Raspberry Pi dhe një bord proto janë montuar në anën e kutisë pranë majës. Vini re vrimat e kullimit të shpuara në pjesën e poshtme dhe vrimat e ajrit të shpuar përgjatë skajit të sipërm. Ventilatori është montuar përballë Raspberry Pi. Nuk ka ndezës/fikje pasi nuk dua të inkurajoj mbylljen e Raspberry Pi pa një komandë zyrtare "mbyllje sudo tani" (domethënë nuk dua që energjia të fiket shumë lehtë).

Hapi 7: Ndërtimi: Bordi Proto

Ndërtimi: Bordi Proto
Ndërtimi: Bordi Proto

Proto bordi përmban një rregullator 5v, kapak filtri, transistorë të fuqisë (që drejtojnë valvulën e servo dhe ujit) dhe një ndërprerës debugues.

Hapi 8: Ndërtimi: Kamera Raspberry Pi

Ndërtimi: Kamera Raspberry Pi
Ndërtimi: Kamera Raspberry Pi

Kamera Raspberry Pi lidhet drejtpërdrejt me Raspberry Pi përmes kabllit të shiritit dhe është montuar në pllakën e qartë plastike që mbulon prerjen e shikimit në pjesën e përparme të kutisë.

Hapi 9: Lista e Pjesëve

Projekti përfundoi duke kushtuar rreth 120 dollarë. Pjesa më e madhe e kostos së projektit është Raspberry Pi, kamera, servo dhe furnizime me energji elektrike. Gjeta shumicën e pjesëve në EBay ose Amazon dhe pjesët hidraulike në dyqanin lokal të pajisjeve.

  • Raspberry Pi 3 (Amazon) 38 dollarë
  • Kamera NoIR (EBay) 30 dollarë
  • Servo 5v Analog (çift rrotullues 4 kg-cm) (EBay) 10 dollarë
  • Furnizimi me energji në mur 5v/2.4A (EBay) 8 dollarë
  • Valvula Uji 12v ½”(EBay) 5 dollarë
  • Tub, bashkues tubash (Osh) 5 dollarë
  • Kuti plastike me municion (Transport mallrash) 5 dollarë
  • Furnizimi me energji në mur 12v/1.5A (EBay) 5 dollarë
  • IR Illuminator (EBay) 4 dollarë
  • Të ndryshme Komponentët (Rezistorët, Çelsat, Dioda) 2 dollarë
  • CPU Fan (EBay) 2 dollarë
  • Bordi Proto, Ndalesat, Vidhat (EBay) 2 dollarë
  • (2) Transistorët e fuqisë (2n5296) (EBay) $ 1
  • Rregullatori 5v (LM7805) (EBay) 1 $
  • Plastikë e pastër 3/32”(Prekni Plastikë të ndryshme. Kosh) $ 1
  • Kordoni i rrymës (Osh) 1 $

Dyqane/faqe ku kam blerë artikuj:

  • Faqja e Alice1101983 EBay:
  • Faqja 2bevoque EBay:
  • Transport mallrash Harbour
  • Pajisje Furnizuese me Pemishte
  • Amazon
  • Prekni Plastikat

Recommended: