Sisällysluettelo:
- Vaihe 1: Pakolliset pääkohteet
- Vaihe 2: Järjestelmä
- Vaihe 3: Koodausaika
- Vaihe 4: Yhdistäminen
- Vaihe 5: Tulokset
- Vaihe 6: Väärät positiiviset
Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Ongelma - Kissat käyttävät puutarhaasi wc: nä
Ratkaisu - Vietä liikaa aikaa kissan sprinklerin suunnitteluun, jossa on automaattinen YouTube -latausominaisuus
Tämä ei ole askel askeleelta, vaan yleiskatsaus rakentamiseen ja tietty koodi
#BeforeYouCallPETA - Kissat ovat kunnossa, sen matalapaineinen sprinkleri aivan kuten sade, että he voivat juosta ennen kuin se edes kääntyy heidän ympärilleen. Projektin tarkoituksena ei ole liottaa kissaa, vaan näyttää heidät pois ennen kuin he pilaavat puutarhan Barkers Eggs -kissa -versiolla.
Vaihe 1: Pakolliset pääkohteet
Raspberry Pi nolla- ja SD -kortti
Raspberry Pi kamera
Rele
555 ajastin … (tai arduino ja toinen rele, jos 555 ajastintasi eivät tule perille)
Solenoidi
Sprinkleri
Jonkinlainen kotelo elektroniikalle
Valmius lyödä vertauskuvallinen naula 6 tonnin kelkkavasaralla
Kamera, jolla on niin pieni resoluutio, et tuskin näe vettä, mutta näet silti kissat, jotka juoksevat peittoon
Vaihe 2: Järjestelmä
1, Pi -kamera havaitsee kissan kokoisen kohteen liikkuvan muutaman kameran kehyksen aikana (esimerkki seuraavassa vaiheessa)
2, Pi käynnistää sprinklerin
3, kissa juoksee suojaan
4, Video ladataan automaattisesti YouTubeen katseluelämän vuoksi
Vaihe 3: Koodausaika
Käyttämällä openCV: tä kehyksen vähennyksen avulla voit löytää kehyksen alueet, jotka muuttuvat ajan myötä. Käyttämällä hienoja toimintoja voit selvittää, kuinka suuria nämä muutokset ovat ja pysyvätkö ne ajan mittaan, ja mikä tärkeintä, selvittää, ovatko ne kissan kokoisia.
Kehyksen vähentämisestä on olemassa muutamia opetusohjelmia, jotka menevät hyvin yksityiskohtaisesti, jos teet nopean google -haun.
Katsaus koodin toimintaan
1, Kamera ottaa kehyksiä ja vertaa niitä viimeisiin
2, Jos havaitaan kissan kokoinen muoto, se merkitään
3, Jos kissan koon muutos jatkuu noin 4 kehyksen aikana, pi käyttää GPIO: taan releen käynnistämiseen arduino
4, Arduino lähettää signaalin toisen releen virtalähteeksi 5 sekunniksi, mikä aktivoi solenoidin
5, Solenoidi, kun se saa virtaa, sallii veden sprinkleriin
6, Kun sprinkleri on aktiivinen, kamera lopettaa havaitsemisen ja tallentaa videota
7, Video ladataan Youtubeen
8, Kuvat ladattu dropboxiin hienosäätöjärjestelmää varten
Huomautus - Miksi päädyin käyttämään 2 relettä ja arduinoa solenoidin kytkemiseksi päälle 5 sekunniksi….
1, Pi ei voi käynnistää ja pysäyttää solenoidia videon tallennuksen aikana, kun python -skripti pysähtyy, kunnes video on valmis, joten arduino (tai 555 -ajastin) tarvitsee, jotta solenoidi avautuu ja sulkeutuu käsikirjoituksesta riippumatta. videota tallennetaan edelleen.
2, Ensimmäinen rele ja arduino voidaan korvata 555 -ajastimella, mutta se ei saapunut ajoissa tähän projektiin, 555 säästäisi paljon aikaa ja rahaa.
3, Pi ei voi laukaista solenoidia suoraan, koska Pi GPIO toimii 3,3 V: n ja 51 mA: n maksimiteholla, ja solenoidi haluaa laukaista 5 V ja paljon enemmän kuin 51 mA.
4, Jokainen kehys voidaan rajata poistamaan liiketunnistus ei -toivotuilta alueilta, kuten naapuripuutarhasta. Jos tätä ei tehdä, mainittu naapuri antaa hämmentyneitä katseita puutarhaan, koska sprinkleri sammuu aina, kun hän haluaa mennä ahtaaseen.
5, olen luultavasti unohtanut jotain ilmeistä ja tuhlannut aikaani sen asettamiseen näin.
Koodi alla
tuonti cv2import numpy np tuonti argparse #kissa tuonti aika tuonti RPi. GPIO GPIOna tuonti os tuonti pudotuslaatikko picamera.array tuonti PiRGBArray picamerasta tuonti PiCamera #------------------ ------------------------------ Lataa youtubeen ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger rele GPIO.output (11, True) time.sleep (.5) GPIO.output (11, False) print ("Taking Video") kokeile: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Lataa youtube -tulosteeseen ("Uploading to YouTube") os. system ('sudo youtube-upload --title = "Cat Got Wet {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Poista videotiedosto, kun se on valmis. os.remove ('vid {0}.h264'.format (vidname)) print ("Video ladattu ja poistettu Pi: stä") paitsi: pass #-------------------- ---------------------------- Kuvat dropboxiin ------------------- -------------------- def St illsToDropbox (): print ("Ladataan edelleen Dropbox -toimintoon") access_token = 'Ah ah ah, et sanonut taikasanaa … Ah ah ah, et sanonut taikasanaa' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (tiedostonimi) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (tiedostonimi, kuva) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
Vaihe 4: Yhdistäminen
Pakkaa sähköt vedenpitävään koteloon, ruuvaa asiat seiniin ja käytä paljon teippiä ja kuumaa liimaa
Vaihe 5: Tulokset
Kun se toimii, se toimii
Vaihe 6: Väärät positiiviset
Kun se ei onnistu, se suihkuttaa kissan varjoja, vaimosi ja tyttäresi.
Vihje - Laita oven viereen kytkin, joka pysäyttää liiketunnistusohjelman….. sitten unohda käyttää sitä ja liota, kun laitat säiliöt ulos.
Toivon, että sain ohjelmoinnin, elektroniikan ja DIY -asiantuntijoiden ahdistusta kaikista luultavasti tekemistäni virheistä, ja etenkin toivon, että pidit kaikista kirjoitusvirheistäni.
Suositeltava:
Vision LED -henkilöstön pysyvyys: 11 vaihetta (kuvilla)
Vision LED -henkilöstön pysyvyys: Tiedetään, että vaikka valo on sammutettu, ihmissilmä "näkee" se murto -osaksi. Tämä tunnetaan nimellä Persistence of Vision tai POV, ja sen avulla voidaan "maalata" kuvia siirtämällä nopeasti nauhaa
Hexbug Spider XL: n hakkerointi tietokoneen vision lisäämiseksi Android -älypuhelimella: 9 vaihetta (kuvilla)
Hexbug Spider XL: n hakkerointi tietokoneen vision lisäämiseksi Android -älypuhelimen avulla: Olen suuri fani alkuperäinen Hexbug ™ Hämähäkki. Olen omistanut yli kymmenen ja hakkeroinut ne kaikki. Aina kun yksi pojistani menee ystävien luo ’ syntymäpäiväjuhlat, ystävä saa Hexbug ™ hämähäkki lahjaksi. Olen hakkeroinut tai
Vadelma PI Vision -prosessori (SpartaCam): 8 vaihetta (kuvilla)
Raspberry PI Vision -prosessori (SpartaCam): Vadelma PI -näköprosessorijärjestelmä FIRST Robotics Competition -robotillesi. Tietoja FIRSTistä Wikipediasta, ilmaisesta tietosanakirjasta https://en.wikipedia.org/wiki/FIRST_Robotics_Compe..FIRST Robotics Competition (FRC) on kansainvälinen korkeakoulu
Vision Fidget Spinnerin pysyvyys: 8 vaihetta (kuvilla)
Vision Fidget Spinnerin pysyvyys: Tämä on fidget -kehruu, joka käyttää Vision pysyvyys -efektiä, joka on optinen harha, jossa useita erillisiä kuvia sekoittuu yhdeksi kuvaksi ihmisen mielessä. Tekstiä tai grafiikkaa voidaan muuttaa Bluetooth Low Energy -yhteyden kautta käyttämällä a P
DIY Persision of Vision: 6 vaihetta (kuvilla)
DIY Persision of Vision: Tässä projektissa esittelen sinulle näkö- tai POV -näytön näkökulmasta muutamalla tarvikkeella, kuten Arduinolla ja Hall -anturilla, jotta voit tehdä pyörivän näytön, joka näyttää mitä tahansa, kuten tekstiä, aikaa ja muita erikoismerkkejä