Orodha ya maudhui:

Paka-njia - Maono ya Kompyuta Kinyunyizio cha Nywele: Hatua 6 (na Picha)
Paka-njia - Maono ya Kompyuta Kinyunyizio cha Nywele: Hatua 6 (na Picha)

Video: Paka-njia - Maono ya Kompyuta Kinyunyizio cha Nywele: Hatua 6 (na Picha)

Video: Paka-njia - Maono ya Kompyuta Kinyunyizio cha Nywele: Hatua 6 (na Picha)
Video: Goodluck Gozbert - Hauwezi Kushindana (Official Video) SMS SKIZA 8633371 TO 811 TO GET THIS SONG 2024, Novemba
Anonim
Paka-njia - Maono ya Kompyuta Cat Sprinkler
Paka-njia - Maono ya Kompyuta Cat Sprinkler

Shida - Paka kutumia bustani yako kama choo

Suluhisho - Tumia muda mwingi juu ya uhandisi kunyunyiza paka na kipengee cha kupakia auto cha youtube

Hii sio hatua kwa hatua, lakini muhtasari wa ujenzi na nambari fulani

#KablaYakoUnaitaPETA - Paka ni sawa, ni dawa ya kunyunyizia shinikizo kama mvua, ambayo inaweza kuzidi kabla hata haijazunguka kwao. Mradi sio kuloweka paka, lakini ni kuwaonyesha kabla hawajaacha bustani yangu na toleo la paka la Maziwa ya Barkers.

Hatua ya 1: Vitu kuu vinahitajika

Vitu kuu vinahitajika
Vitu kuu vinahitajika

Raspberry Pi sifuri & kadi ya SD

Kamera ya Raspberry Pi

Peleka tena

Kipima muda 555…. (au arduino na upeanaji mwingine ikiwa vipima muda vyako 555 havifikiki)

Solenoid

Kinyunyizio

Aina fulani ya nyumba kwa umeme

Utayari wa kugonga msumari wa mfano na nyundo ya tani sita

Kamera iliyo na azimio kidogo unaweza kuona maji, lakini bado unaweza kuona paka zinakimbia kifuniko

Hatua ya 2: Mfumo

Image
Image

1, Kamera ya Pi hugundua kitu cha paka kinachosonga kwa muafaka wa kamera chache (iliyowekwa katika hatua inayofuata)

2, Pi huweka dawa ya kunyunyiza

3, Paka hukimbilia kufunika

4, Video imepakiwa moja kwa moja kwa youtube kwa kutazama raha

Hatua ya 3: Saa ya Kuandika

Kuiweka Pamoja
Kuiweka Pamoja

Kutumia openCV kwa kutumia kutoa kwa sura unaweza kupata maeneo ya fremu ambayo hubadilika kwa muda, ukitumia kazi kadhaa nzuri unaweza kugundua jinsi mabadiliko haya ni makubwa na ikiwa yanaendelea kwa muda, na muhimu zaidi kujua ikiwa ni ukubwa wa paka.

Kuna mafunzo kadhaa juu ya kutoa sura ambayo huenda kwa undani ikiwa utafanya utaftaji wa haraka wa google.

Muhtasari wa jinsi nambari inavyofanya kazi

1, Kamera inaendelea kuchukua muafaka na kuilinganisha na ya mwisho

2, Ikiwa umbo la paka imegunduliwa inajulikana

3, Ikiwa mabadiliko ya ukubwa wa paka yanaendelea kuzunguka muafaka 4 pi hutumia GPIO yake kupeleka nguvu kuanza arduino

4, arduino hutuma ishara kwa nguvu relay ya pili kwa sekunde 5 ambazo zinaamsha solenoid

5, Solenoid inapowezeshwa inaruhusu maji kwa kunyunyiza

6, Wakati kunyunyizia ni kamera inayofanya kazi inaacha kugundua na kurekodi video

7, Video imepakiwa kwenye Youtube

8, Stills zilizopakiwa kwenye kisanduku cha chini kwa mfumo mzuri wa kuweka

Kumbuka - Kwanini niliishia kutumia relays 2 na arduino kuwasha solenoid kwa sekunde 5…..

1, pi haiwezi kuanza na kusitisha solenoid wakati inarekodi video kama chakavu cha chatu kinasimama hadi video imalize, kwa hivyo hitaji la arduino (au kipima muda cha 555) kuruhusu solenoid kufungua na kufunga huru kwa hati wakati video bado inarekodi.

2, Relay ya kwanza na arduino inaweza kubadilishwa na kipima muda cha 555 lakini hiyo haikuja kwenye chapisho kwa wakati wa mradi huu, 555 ingeokoa pesa na hatua nyingi za wakati.

3, pi haiwezi kuchochea solenoid moja kwa moja kwani Pi GPIO inafanya kazi kwa 3.3v na 51mA max, na solenoid inataka 5V na zaidi ya 51mA kuchochea.

4, Kila fremu inaweza kupunguzwa ili kuondoa kugundua mwendo katika maeneo yasiyotakikana, kama vile bustani ya neigbors. Kukosa kufanya hivyo kutasababisha jirani kutoa sura zilizochanganyikiwa ndani ya bustani yako kwa sababu mnyunyizio huenda kila wakati anataka kwenda kwenye banda lake.

5, labda nilikosa kitu dhahiri na nikapoteza wakati wangu kuiweka kama hii.

Nambari hapa chini

kuagiza cv2import numpy kama np kuagiza argparse #cat kuagiza muda kuagiza RPi. GPIO kama GPIO kuagiza os kuagiza dropbox kutoka picamera.array kuagiza PiRGBArray kutoka picamera kuagiza PiCamera # ------------------ ------------------------------ Pakia kwa youtube ----------------- ------- ("_% d-% m-% Y") vidname = ctime + cdate #Trigger relay GPIO.output (saa 11, Kweli) wakati wa kulala (.5) GPIO.pato (11, Uongo) chapa ("Kuchukua Video" jaribu: #Chukua Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Pakia kwa kuchapisha kwa youtube ("Kupakia kwa YouTube") os. mfumo ('sudo youtube-upload --title = "Paka Imepata Maji {0}" - siri za mteja = client_secret.json vid {0}.h264'.format (vidname)) #Toa faili ya video ukimaliza os.remove ('vid {0}.h264'.format (vidname)) chapa ("Video imepakiwa na kuondolewa kutoka kwa Pi") isipokuwa: pitisha # ---------------- -------------- -------------------- anafafanua St. illsToDropbox (): chapa ("Kupakia Bado Kwa Kazi ya Dropbox") access_token = 'Ah ah ah, haukusema neno la uchawi … Ah ah ah, haukusema neno la uchawi' ctime = time.strftime (" % H:% M:% S ") cdate = time.strftime ("% d-% m-% Y ") jaribu: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (filename) mteja = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (jina la faili, picha) image.close () os.remove ("ToDropbox.jpg ") isipokuwa: pitisha # ---------------------------------------------- ------ Gundua mwendo ------------------------------------------- def DetectMotion (): #Fafanua vars min_area = 400 tolarance = 25 #change in pixel bluramount = 21 timetoforget = 0.5 kernel = npones. ((5, 5), np.uint8) # kutumika kwa mazungumzo MotionCounter = 0 MinTargetArea = 600 # saizi ndogo zaidi kugundua MaxTargetArea = 5000 #Ukubwa mkubwa kugundua sasa = wakati.wakati () basi = wakati.wakati () #kuanzisha kamera ya kamera = Kamera ya PiCamera () kamera. azimio = (640, 480) kamera.framerate = 10 mbichi Capture = PiRGBArray (camera, size = (640, 480)) #warmup camera time. Lala (1) #Shika fremu ya kwanza na uitayarishe kuingia kwenye cv2.kusanya kamera ya uzani.capture (rawCapture, format = "bgr") avg = RawCapture.array #Ondoa eneo lisilohitajika PolyCrop = np.array (

#JinsiToTriggerRealProgrammersWithBadCode

Hatua ya 4: Kuiweka Pamoja

Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja

Shika umeme kwa nyumba isiyo na maji, vunja vitu kwenye kuta na utumie mkanda mwingi na gundi moto

Hatua ya 5: Matokeo

Image
Image
Matokeo
Matokeo

Wakati inafanya kazi inafanya kazi

Hatua ya 6: Vyema vya uwongo

Chanya za Uwongo
Chanya za Uwongo

Wakati haifanyi hivyo hupuliza vivuli vya paka, mke wako na binti yako.

Pro-ncha - Weka swichi kwa mlango ambao unasitisha programu ya kugundua mwendo…. kisha usahau kuitumia na kulowekwa wakati wa kuweka mapipa nje.

Natumahi nilifanya wataalam wowote katika programu, vifaa vya elektroniki na ujanja wa DIY na makosa yote ambayo labda nilifanya, na haswa natumahi kuwa umefurahiya makosa yangu yote ya tahajia.

Ilipendekeza: