Sadržaj:
- Korak 1: Potrebne glavne stavke
- Korak 2: Sistem
- Korak 3: Vrijeme kodiranja
- Korak 4: Sastavite to zajedno
- Korak 5: Rezultati
- Korak 6: Lažno pozitivni rezultati
Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Problem - Mačke koriste vaš vrt kao toalet
Rješenje - Provedite previše vremena u projektiranju prskalice za mačke s funkcijom automatskog otpremanja na YouTube
Ovo nije korak po korak, već pregled konstrukcije i nekog koda
#BeforeYouCallPETA - Mačke su dobro, prskalica niskog pritiska, poput kiše, koju mogu nadmašiti prije nego što im se čak okrene. Projekt nije natopiti mačku, već ih otkotrljati prije nego što mi zasute vrt s mačjom verzijom jaja Barkera.
Korak 1: Potrebne glavne stavke
Raspberry Pi zero & SD kartica
Raspberry Pi kamera
Relej
555 mjerač vremena…. (ili arduino i drugi relej ako vam ne dođe 555 mjerača vremena)
Solenoid
Prskalica
Neka vrsta kućišta za elektroniku
Spremnost da se metalnim čekićem udari u metaforički ekser
Kamera s tako malom rezolucijom da jedva vidite vodu, ali i dalje možete vidjeti mačke kako trče za zaklonom
Korak 2: Sistem
1, Pi kamera detektira objekt veličine mačke koji se kreće za nekoliko okvira kamere (pojašnjeno u sljedećem koraku)
2, Pi pokreće prskalicu
3, Mačka trči za zaklonom
4, Video se automatski postavlja na youtube radi uživanja u gledanju
Korak 3: Vrijeme kodiranja
Korištenjem openCV -a pomoću oduzimanja okvira možete pronaći područja okvira koja se mijenjaju s vremenom, koristeći neke sjajne funkcije možete shvatiti koliko su te promjene velike i ako se nastavljaju s vremenom, i najvažnije saznati jesu li veličine mačke.
Postoji nekoliko vodiča o oduzimanju okvira koji ulaze u velike detalje ako brzo pretražite Google.
Pregled načina funkcioniranja koda
1, Kamera stalno snima kadrove i upoređuje ih sa posljednjim
2, Ako se otkrije oblik veličine mačke, to se bilježi
3, ako se promjena veličine mačke nastavi na oko 4 sličice, pi koristi svoj GPIO za napajanje releja za pokretanje arduina
4, Arduino šalje signal za napajanje drugog releja na 5 sekundi koji aktivira solenoid
5, solenoid kada se napaja dopušta vodu do prskalice
6, Dok je raspršivač aktivan, kamera prestaje otkrivati i snima video
7, Video se postavlja na Youtube
8, Snimci su postavljeni u dropbox radi finog podešavanja sistema
Napomena - Zašto sam na kraju upotrijebio 2 releja i arduino za uključivanje solenoida na 5 sekundi …
1, Pi ne može pokrenuti i zaustaviti solenoid tijekom snimanja videozapisa dok python skripte pauziraju dok videozapis ne završi, pa postoji potreba za arduinom (ili 555 tajmerom) da omogući solenoidu otvaranje i zatvaranje neovisno o skripti dok video se i dalje snima.
2, prvi relej i arduino mogu se zamijeniti sa 555 mjeračem vremena, ali to nije stiglo na vrijeme za ovaj projekt, 555 bi uštedio mnogo vremena i novca.
3, pi ne može direktno pokrenuti solenoid jer Pi GPIO radi na 3.3v i 51mA max, a solenoid želi da se aktivira 5V i mnogo više od 51mA.
4, Svaki okvir se može izrezati kako bi se uklonilo otkrivanje pokreta u neželjenim područjima, poput vrta susjeda. Ako to ne učinite, komšija će zbunjeno pogledati u vaš vrt jer se raspršivač isključuje svaki put kad želi ući u svoju šupu.
5, vjerovatno sam propustio nešto očigledno i potratio sam vrijeme postavljajući to ovako.
Kod ispod
uvoz cv2import numpy kao np uvoz argparse #cat vrijeme uvoza uvoz RPi. GPIO kao GPIO uvoz ili uvoz dropbox iz picamera.array uvoz PiRGBArray iz pikamere uvoz PiCamera #------------------ ------------------------------ Otpremite na youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Relej trigera GPIO.output (11, Tačno) time.sleep (.5) GPIO.output (11, False) print ("Taking Video") pokušajte: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Upload na youtube print ("Uploading to YouTube") os system ('sudo youtube-upload --title = "Mačka je postala mokra {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Uklonite video datoteku kada završite os.remove ('vid {0}.h264'.format (vidname)) print ("Video postavljen i uklonjen iz Pi") osim: pass #-------------------- ---------------------------- Stiže u dropbox ------------------- -------------------- def St. illsToDropbox (): print ("Uploading Still To Dropbox Function") access_token = 'Ah ah ah, nisi rekao čarobnu riječ … Ah ah ah, nisi rekao magičnu riječ' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (naziv datoteke) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (naziv datoteke, slika) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
Korak 4: Sastavite to zajedno
Ugurajte elektriku u vodootporno kućište, uvrnite stvari u zidove i upotrijebite puno ljepljive trake i vrućeg ljepila
Korak 5: Rezultati
Kad radi, radi
Korak 6: Lažno pozitivni rezultati
Kada se to ne dogodi, raspršuje mačje sjene, vašu ženu i kćer.
Savjet - Postavite prekidač pored vrata koji pauzira program za otkrivanje pokreta … … a zatim ga zaboravite koristiti i natopiti se prilikom vađenja kanti.
Nadam se da sam se naježio od bilo kojeg stručnjaka za programiranje, elektroniku i uradi sam sa svim greškama koje sam vjerovatno napravio, a posebno se nadam da ste uživali u svim mojim pravopisnim greškama.
Preporučuje se:
Postojanost osoblja Vision LED: 11 koraka (sa slikama)
Postojanost Vision LED osoblja: Dobro je poznato da čak i nakon što je svjetlo isključeno, ljudsko oko "vidi" to na djelić sekunde. Ovo je poznato kao Postojanost vida ili POV i omogućava "bojanje" slike brzim pomicanjem trake o
Cat kontrola pristupa hrani (ESP8266 + servo motor + 3D ispis): 5 koraka (sa slikama)
Kontrola pristupa hrani za mačke (ESP8266 + Servo motor + 3D ispis): Ovaj projekt prelazi proces koji sam koristio za stvaranje automatizirane zdjele za hranu za mačke, za moju stariju mačku sa dijabetesom Chaz. Vidite, mora doručkovati prije nego što dobije inzulin, ali često zaboravim uzeti mu jelo s hranom prije nego što odem u krevet, što
Cat audio ploča pod pritiskom W/ Makey Makey: 8 koraka (sa slikama)
Cat Audio Pressure Plate W/ Makey Makey: Mačke mogu biti dosadne, ali to ih ne čini manje ljupkim. Oni su naši živi, ušuškani memi. Počnimo s problemom i pogledajmo rješenje. Pogledajte video ispod
Procesor Raspberry PI Vision (SpartaCam): 8 koraka (sa slikama)
Raspberry PI Vision procesor (SpartaCam): Raspberry PI sistem procesora za vašeg prvog robota za takmičenje u robotici. O FIRST -u Sa Wikipedije, besplatne enciklopedije https://en.wikipedia.org/wiki/FIRST_Robotics_Compe … PRVO takmičenje u robotici (FRC) je međunarodno visoko s
Perzistentnost Vision Fidget Spinner: 8 koraka (sa slikama)
Persistence of Vision Fidget Spinner: Ovo je fidget spinner koji koristi efekt Persistence of Vision koji je optička iluzija pri čemu se više diskretnih slika stapa u jednu sliku u ljudskom umu. Tekst ili grafika mogu se promijeniti putem Bluetooth Low Energy veze koristeći a P