Sisukord:
- Samm: kood
- 2. samm: elektroonika
- 3. samm: ehitus: kaamera ja infrapunavalgustaja
- 4. samm: ehitus: veetorustik
- Samm: ehitus: servo sihtimine
- 6. samm: ehitus: toiteallikate, ventilaatori, Raspberry Pi ja Proto-plaadi paigaldamine
- Samm 7: Ehitus: Proto Board
- 8. samm: ehitus: Raspberry Pi kaamera
- 9. samm: osade loend
Video: Automaatselt jälgitav veepritsimisseade: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Roosisöövad hirved motiveerisid mind ehitama sihtmärki jälgivat veepuhastusmasinat, mis aitaks ära süüa näljaseid loomi … See veekuivati kasutab videopõhist liikumistuvastust, et suunata servo ja vallandada sihtmärgile lühikesed veepursked. See tulistab alles pärast seda, kui omandatud sihtmärk on mõne sekundi seisnud (viivitust saab koodis reguleerida). Mind ei huvita, kas hirved lihtsalt kõnnivad mööda, aga kui nad suupisteks peatuvad, siis lohista!
Siin on video minust, kes katsetan veepritsi:
Veepuhasti on eraldiseisev kast, mille saab võrgu mis tahes arvutist kaugjuhtimisega ühendada (wi-fi/VNC kaudu), et jälgida, mida see teeb. See teeb pildi iga kord, kui see käivitatakse, et saaksite hiljem näha, mis oli lõhkenud.
Selle päevase/öise sihtmärgi jälgimise vee lõhkaja loomiseks kasutasin Raspberry Pi, NoIR nukki, IR -valgustajat, standardset lineaarset servot ja veeklappi. Kood on kirjutatud Pythonis ja laenab suuresti Adrian Rosebrocki cv2 pilditöötluskoodi näidistest. Tema kirjutist näete aadressil:
www.pyimagesearch.com/2015/06/01/home-surv…
Kuna jälgin suhteliselt suuri maapealseid sihtmärke (hirved), on minu probleem mõnevõrra lihtsustatud. Vajan ainult horisontaalset sihtimist, et saaksin pääseda ainult ühe servo kasutamisest. Hirvede seismajäämise ootamine aitab mul kõrvaldada palju valesid vallandajaid. See on minu rev-0 katse ja olen leidnud mõned asjad, mida muudaksin, kui ehitaksin teise. Märkasin neid asju järgnevas üksikasjalikus kirjutises.
Samm: kood
Veepuhasti kasutab töötlemiseks Raspberry Pi 3. Video jäädvustamiseks kasutatakse NoIR Raspberry Pi nukki koos IR -valgustajaga öise video jaoks. Paketti OpenCV/cv2 Python kasutatakse pilditeabe jäädvustamiseks ja töötlemiseks ning sihtkoordinaatide arvutamiseks. Pigpio raamatukogu kasutatakse gpio juhtimiseks stabiilseks servo tööks. Tavalise RPi. GPIO paketi kasutamisel tekkis servo värisemine. MÄRKUS. Pigpio raamatukogu kasutamisel peate käivitama pigpio deemoni. Lisage see oma Pi /etc/rc.local pigpio libi ja Raspberry Pi kaamera liidese käivitusfaili:
/etc/rc.local# Seadistage/dev/video0, et linkida Raspberry Pi sisseehitatud kaamera liidesesse
Lisateavet leiate aadressilt
Lähtekoodi nimi on: water_blaster.py ja see on lisatud allpool.
Vastutusest loobumine: olen Pythoni kodeerimises uus, nii et ärge käsitlege seda kui Pythoni kodeerimisstiili suurepärast mudelit!
Põhialgoritm on järgmine:
- Haarake video esialgne raam. Seda kasutatakse võrdlemiseks liikumise tuvastamiseks.
- Haara teine raam.
- Teisendage raam halliks, suurendage seda, hägustage.
- Arvutage erinevus võrdlusraamist
- Filtreerige väikesed erinevused, hankige suurima erinevuse koordinaadid.
- Seadke taimer. Kui sihtkoordinaat mõne sekundi jooksul ei muutu, siis tehke pilt sellest, mida me võtame, ja käivitage veeklapp veeplahvatuseks. Pühkige servo paar kraadi edasi -tagasi "püssiplahvatuse" saamiseks.
- Kui saame kolm päästikut liiga kiiresti, keelame pildistamise, peatame natuke ja seejärel värskendame võrdlusraami, kuna pildistame äsja sisse lülitatud varju või veranda valgust …
- Värskendage võrdlusraami iga paari minuti järel, et võtta arvesse madalsageduslikke muutusi (päike tõuseb/loojub, pilvisus kolib sisse jne)
Ma kasutan ainult horisontaalset sihtimismehhanismi, kuid paljud pan/tilt servo kinnitused on EBay -s saadaval ja kui soovite täpsemat sihtimist, oleks lihtne lisada teine servo vertikaalse sihtimise juhtimiseks.
Seadistasin Raspberry Pi töötama VNC -serverina, seejärel ühendasin selle sülearvutist VNC kaudu, et programm käivitada ning videot ja logisid jälgida. cd kataloogi, kuhu salvestate water_blaster.py ja käivitage see, tippides:
./python water_blaster.py
See avab videomonitori akna, käivitab logifaili nimega. iga tehtud lasu eest.
Siin on mõned märkused VNC seadistamise kohta teie Raspberry Pi -l:
Esimest korda Raspberry Pi seadistamisel kasutasin seadistamiseks välist monitori/klaviatuuri/hiirt. Seal lubasin VNC serveri RasPi konfiguratsioonis (Raspberry Logo / Preferences / Raspberry Pi Configuration / Interfaces / Check VNC option). Pärast seda, kui see käivitub, võimaldab see teil VNC -kliendi kaudu ühenduse luua selle ekraaniga: 0 (samade volitustega kui vaikimisi kasutaja "pi").
Peata režiimis on see vaikimisi väga väikese eraldusvõimega ekraan (kuna see ei tuvasta ühtegi ekraani), et sundida see mõnele suuremale eraldusvõimele, lisage see faili /boot/config.txt ja taaskäivitage:
# Kasutage, kui teil on ekraan# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39
Siin on lisateavet:
2. samm: elektroonika
Raspberry Pi 3 gpio abil servo, veeklapi ja IR -valgustaja juhtimiseks diskreetsete transistoripuhvrite kaudu (ehitatud väikesele protoplaadile) on vee lõhkaja elektroonika nõuded minimaalsed. Tavaline NoIR -kaamera ühendatakse otse Raspberry Pi -ga.
Skeemi nimi on: water_blaster_schematic.pdf ja see on lisatud allpool.
Kasutasin Raspberry Pi jaoks 5v/2,5A spetsiaalset toiteallikat ja IR -valgustaja ja veeklapi juhtimiseks 12v/1A toiteallikat. 12 V toide juhib ka 5 V regulaatorit, et toita 5 V servot. Seda tehti selleks, et hoida mürarikas mootori juhtimisvõimsus eraldatud Raspberry Pi 5v toiteallikast. Toide 12v/1A osutus oma piiril (tegelikult veidi üle, kui ventilaatori lisasin). Kood lülitab infrapunavalgustaja enne veeklapi relee sisselülitamist välja, et hoida voolutugevus vahemikus… Oleks parem, kui kasutaksite 1,5A toiteallikat. Ühendage kindlasti kõigi toiteallikate maandusklemmid.
Kaameramoodul on standardne NoIR -versioon, mis ühendatakse otse Raspberry Pi -ga. See on Raspberry Pi nukk, mille IR -filter on juba eemaldatud, võimaldades seda kasutada koos IR -valgustajaga öise video tegemiseks.
Kasutatav servo on standardse suurusega 5v lineaarne servo, mille pöördemoment on 3-4 kg-cm.
IR -valgustaja oli odava 48 led -rõnga, mille leidsin EBayst umbes 4 dollari eest. See pole eriti tugev ja võib valgustada ainult umbes 15 jala kõrgusele. Kui teil on lisaeelarve, oleks tugevam valgustaja hankimine hea edasiminek.
Lisasin gpio23-le „silumislüliti”. Kood kontrollib lüliti olekut ja selle vajutamisel lülitab veeklapi relee kuiva tule testimiseks välja. Arvasin, et teen selle lülitiga rohkem, kuid ei kasutanud seda tegelikult üldse. Ma eemaldan selle ja koodi, mis seda otsib …
3. samm: ehitus: kaamera ja infrapunavalgustaja
Kasutasin ümbrisena Harbor Freight plastikust laskemoona kasti. Peamiselt vajasin midagi veekindlat, kuna palju veepihustamist/äravoolu on vältimatu. Auke/väljalõikeid on palju, kuid need on kaetud varikatuste, läbipaistva plastikuga või puuritud ülekatete alla, et vett valada. Tagantjärele oleksin pidanud kasutama metallkasti, mille jahutusradiaatorid on sisemiselt ühendatud suure võimsusega komponentide külge. Seda tehes arvan, et oleksin saanud ventilaatori lisamisest hoiduda. Plastkarp oli liiga isoleeriv ja võimaldas sisetemperatuuril liiga palju tõusta.
Lõpuks lõigati kaamerale välja väike aken ja infrapunavalgusti paigaldati vana plastikust läätsekarbi sisse, mille ma ümber panin.
4. samm: ehitus: veetorustik
Vee sisselaskeava juhitakse 12 V veeklappi, mis on ühendatud ¼”ID x 3/8” OD vinüültoruga. See on omakorda ühendatud ¼”okastoruga ¾ libisemiskindla PVC -pistikuga ja liimitud ¾” PVC veekorgiga, mille veevoolu jaoks on puuritud 1/16”auk. Tahtsin hoida veeklapi relee ilmastiku eest eemal, nii et see oleks kasti sees. On oht, et ma võin lekke saada, kuid olen puurinud karbi põhja äravooluavad ja paigaldanud elektroonika kõrgele, et minimeerida elektroonika võimaliku veekahjustuse võimalust. Vähem esteetiliselt meeldiv, kuid turvalisem plaan oleks paigaldada klapp väljastpoolt ja juhtida 12 V relee juhtmed sisse. Servo kohal olev läbipaistev plastikust ketas oli mugav viis voolikuotsa paigaldamiseks ja see hoiab ära vee servo peale tilkumise. Ventilaator oli järelmõte, kuna kast soojenes liiga palju. Ehitasin selle peale väikese varikatuse, et vesi sisse ei tilguks.
Samm: ehitus: servo sihtimine
Karbi ülaossa lõigatakse auk ja sihitav servo paigaldatakse ja suletakse räni abil, et vesi välja ei pääseks.
6. samm: ehitus: toiteallikate, ventilaatori, Raspberry Pi ja Proto-plaadi paigaldamine
Kaks toiteallikat (5v ja 12v) on ühendatud ühe toitejuhtmega, mis väljub karbi küljelt. Raspberry Pi ja protolaud on paigaldatud karbi küljele ülaosa lähedale. Pange tähele põhja puuritud tühjendusavasid ja ülemist serva puuritud õhutusavasid. Ventilaator on paigaldatud Raspberry Pi vastas. Sisse/välja lülitit pole, kuna ma ei taha julgustada Raspberry Pi väljalülitamist ilma ametliku käskluseta "sudo shutdown now" (st ei taha, et toide liiga lihtsalt välja lülitataks).
Samm 7: Ehitus: Proto Board
Proto-plaat sisaldab 5-voldist regulaatorit, filtrikork, võimsustransistoreid (mis juhivad servo- ja veeklappi) ja silumislülitit.
8. samm: ehitus: Raspberry Pi kaamera
Raspberry Pi nukk ühendub lintkaabli kaudu otse Raspberry Pi -ga ja on paigaldatud läbipaistvale plastplaadile, mis katab karbi esiküljel asuva vaatevälja.
9. samm: osade loend
Projekt läks lõpuks maksma umbes 120 dollarit. Suurem osa projekti maksumusest on Raspberry Pi, kaamera, servo ja toiteallikad. Leidsin enamiku osadest EBayst või Amazonist ja torustiku osad kohalikust ehituspoest.
- Vaarika Pi 3 (Amazon) 38 dollarit
- NoIR kaamera (eBay) 30 dollarit
- 5v analoogservo (4 kg-cm pöördemoment) (EBay) 10 dollarit
- 5v/2,4A seina toiteallikas (eBay) 8 dollarit
- 12v ½”veeklapp (eBay) 5 dollarit
- Torud, toruliitmikud (Osh) 5 dollarit
- Plastikust laskemoona kast (sadamakaubavedu) 5 dollarit
- 12v/1,5A seina toiteallikas (eBay) 5 dollarit
- IR -valgustaja (eBay) 4 dollarit
- Muu Komponendid (takistid, lülitid, diood) 2 dollarit
- CPU ventilaator (eBay) 2 dollarit
- Protolaud, seiskamised, kruvid (eBay) 2 dollarit
- (2) Jõutransistorid (2n5296) (EBay) 1 dollar
- 5v regulaator (LM7805) (eBay) 1 dollar
- Läbipaistev plast 3/32”(kraan Plastics Misc. Bin) $ 1
- Toitejuhe (Osh) 1 dollar
Kauplused/saidid, kust ostsin kaupu:
- Alice1101983 eBay sait:
- 2bevoque EBay sait:
- Sadamakaubavedu
- Viljapuuaia tarne riistvara
- Amazon
- Puudutage valikut Plastid
Soovitan:
Käivitage programm automaatselt, kui ühendate sülearvuti dokkimisjaama: 5 sammu
Käivitage programm automaatselt, kui ühendate sülearvuti dokkimisjaama: See juhend sisaldab teavet selle kohta, kuidas käivitada programm või rakendus, kui ühendate sülearvuti dokkimisjaama. Selles näites kasutan Lenovo T480 Windows 10
Kuidas panna arvuti automaatselt käivituma iga päev või igal ajal: 5 sammu
Kuidas panna arvuti automaatselt käivituma iga päev või igal ajal: selles juhendis saate teada, kuidas panna arvuti automaatselt iga päev kindlal ajal käivituma, samuti on see minu esimene juhend
RC jälgitav robot Arduino abil - samm -sammult: 3 sammu
RC jälgitav robot Arduino abil - samm -sammult: Hei, poisid, ma olen tagasi BangGoodist pärit laheda robotraamiga. Loodetavasti olete läbinud meie eelmised projektid - Spinel Crux V1 - žestidega juhitav robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms ja The Badland Braw
Jälgitav elektriline Longboard: 16 sammu (piltidega)
Jälgitav elektriline Longboard: see projekt koosneb elektrilisest longboardist, mis säilitab marsruudi vaarika pi abil. Neid seansse hoitakse mySQL -i andmebaasis ja neid kuvatakse minu veebisaidil, mis on tehtud mikroraamiga „Kolb”. (See on kooliprojekt
Vastupidav jälgitav šassii jälgimisrobot: 7 sammu (koos piltidega)
Rugged Remote Tracks Chassis Surveillance Bot: Sissejuhatus: Nii et see oli projekt, mida algselt tahtsin alustada ja lõpule viia juba 2016. aastal, kuid tänu tööle ja paljudele muudele asjadele olen ma alles saanud seda projekti alustada ja lõpule viia uus aasta 2018! See võttis umbes 3 nädalat