Sadržaj:
- Korak 1: Potrebne glavne stavke
- Korak 2: Sustav
- 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 promjena: 2024-01-30 09:36
Problem - Mačke koriste vaš vrt kao toalet
Rješenje - Provedite previše vremena u projektiranju prskalice za mačke sa značajkom automatskog slanja 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 i okrene. Projekt nije natopiti mačku, već ih odbaciti prije nego što mi zasipaju vrt mačjom verzijom jaja Barkera.
Korak 1: Potrebne glavne stavke
Raspberry Pi zero & SD kartica
Fotoaparat Raspberry Pi
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 udarite metaforičkim čavlom sa čekićem od 6 tona
Kamera s tako malom rezolucijom da jedva vidite vodu, ali i dalje možete vidjeti mačke kako trče za zaklonom
Korak 2: Sustav
1, Pi kamera detektira objekt veličine mačke koji se pomiče za nekoliko okvira kamere (pojašnjeno u sljedećem koraku)
2, Pi pokreće prskalicu
3, Mačka bježi u zaklon
4, Video se automatski prenosi 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, pomoću nekih sjajnih funkcija možete shvatiti koliko su te promjene velike i ako se s vremenom nastavljaju, i što je najvažnije, saznati jesu li veličine mačke.
Postoji nekoliko tutoriala o oduzimanju okvira koji ulaze u velike detalje ako brzo pretražite Google.
Pregled načina funkcioniranja koda
1, Kamera nastavlja snimati kadrove i uspoređivati ih s posljednjima
2, Ako se otkrije oblik veličine mačke, to se bilježi
3, ako promjena veličine mačke potraje 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, Stills uploaded to dropbox for fine tuning system
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 je potreba za arduinom (ili 555 mjeračem vremena) da omogući solenoidu otvaranje i zatvaranje neovisno o skripti dok video se još uvijek snima.
2, prvi relej i arduino mogu se zamijeniti mjeračem vremena 555, ali to nije stiglo na vrijeme za ovaj projekt, 555 bi uštedio mnogo vremena i novca.
3, pi ne može izravno 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 se okvir može izrezati kako bi se uklonilo otkrivanje pokreta na neželjenim područjima, poput vrta susjeda. Ako to ne učinite, susjeda će zbunjeno pogledati u vaš vrt jer se raspršivač isključuje svaki put kad želi ući u svoju šupu.
5, vjerojatno sam propustio nešto očito i potratio sam vrijeme postavljajući ga ovako.
Kod ispod
uvoz cv2import numpy kao np uvoz argparse #cat vrijeme uvoza uvoz RPi. GPIO kao GPIO uvoz os uvoz dropbox iz picamera.array uvoz PiRGBArray iz picamere uvoz PiCamera #------------------ ------------------------------ Prenesi na youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger relej GPIO.output (11, True) 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 to 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 kad 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 čarobnu 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
Kad se to ne dogodi, raspršuje sjene mačaka, vašu ženu i kćer.
Savjet - Postavite prekidač kraj 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 stručnjaka za programiranje, elektroniku i DIY sa svim greškama koje sam vjerojatno napravio, a posebno se nadam da ste uživali u svim mojim pravopisnim pogreškama.
Preporučeni:
Postojanost Vision LED osoblja: 11 koraka (sa slikama)
Postojanost Vision LED osoblja: Dobro je poznato da čak i nakon što je svjetlo isključeno, ljudsko oko čuva " vidi " to za djelić sekunde. To je poznato kao Persistence of Vision ili POV i omogućuje "bojanje" slike brzim pomicanjem trake
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 upotrijebio za izradu automatizirane zdjele za hranu za mačke, za moju stariju mačku s dijabetesom Chaz. Vidite, on mora doručkovati prije nego što dobije inzulin, ali često zaboravim pokupiti njegovo jelo s hranom prije nego što odem u krevet, što
Procesor PI Vision od maline (SpartaCam): 8 koraka (sa slikama)
Procesor Raspberry PI Vision (SpartaCam): Sustav procesora Raspberry PI Vision za vašeg prvog robota za natjecanje u robotici. O FIRST -uIz Wikipedije, besplatne enciklopedije https://en.wikipedia.org/wiki/FIRST_Robotics_Compe … PRVO natjecanje u robotici (FRC) međunarodno je visoko sch
Perzistentnost Vision Fidget Spinnera: 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 pomoću a P
(POV) Postojanost globusa Vision: 8 koraka (sa slikama)
(POV) Postojanost Vision Globea:! Ažurirajte! Dodao sam Excel program koji uvelike olakšava crtanje i kodiranje novih slika! Jednostavna postojanost globusa vida. IGRAJ VIDEOOvo je projekt koji sam imao na umu već neko vrijeme i " Make It Glow " natjecanje je bilo upravo