Përmbajtje:
- Hapi 1: Kërkohen artikujt kryesorë
- Hapi 2: Sistemi
- Hapi 3: Koha e kodimit
- Hapi 4: Vendosja së bashku
- Hapi 5: Rezultatet
- Hapi 6: Pozitivë të rremë
Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Problem - Macet që përdorin kopshtin tuaj si tualet
Zgjidhja - Kaloni shumë kohë për të krijuar një spërkatës mace me funksionin e ngarkimit automatik në youtube
Ky nuk është një hap pas hapi, por një përmbledhje e ndërtimit dhe një kodi
#Para se të thërrisniPETA - Macet janë mirë, është një spërkatës me presion të ulët ashtu si shiu, që ata mund të kalojnë para se të rrotullohet rreth tyre. Projekti nuk është për të njomur një mace, por për t'i larguar ata para se të më pjellin kopshtin me versionin e maceve të Barkers Eggs.
Hapi 1: Kërkohen artikujt kryesorë
Raspberry Pi zero & kartë SD
Kamera Raspberry Pi
Stafetë
Kohëmatësi 555…. (ose një arduino dhe një stafetë tjetër nëse kohëmatësit tuaj 555 nuk mbërrijnë)
Solenoid
Spërkatës
Një lloj strehimi për pajisjet elektronike
Gatishmëria për të goditur një gozhdë metaforike me një çekiç me sajë 6 ton
Një aparat fotografik me aq pak rezolucion sa mezi mund të shihni ujin, por prapë mund të shihni macet që vrapojnë për mbulim
Hapi 2: Sistemi
1, kamera Pi zbulon një objekt me madhësinë e një mace që lëviz për disa korniza të kamerës (e përshkruar në hapin tjetër)
2, Pi nis spërkatësin
3, Mac vrapon për mbulesë
4, Video ngarkohet automatikisht në youtube për shikimin e kënaqësisë
Hapi 3: Koha e kodimit
Duke përdorur openCV duke përdorur zbritjen e kornizës, mund të gjeni zona të kornizës që ndryshojnë me kalimin e kohës, duke përdorur disa funksione të mrekullueshme mund të kuptoni se sa të mëdha janë këto ndryshime dhe nëse ato vazhdojnë me kalimin e kohës, dhe më e rëndësishmja të zbuloni nëse ato janë të përmasave të maceve.
Ka shumë mësime mbi zbritjen e kornizës që hyjnë në detaje të shkëlqyera nëse bëni një kërkim të shpejtë në Google.
Pasqyrë se si funksionon kodi
1, Kamera vazhdon të marrë korniza dhe i krahason ato me të fundit
2, Nëse zbulohet një formë e një madhësie maceje, vihet re
3, Nëse ndryshimi i madhësisë së maceve vazhdon për rreth 4 korniza, pi përdor GPIO -në e tij për të stafetuar fuqinë për të filluar arduino
4, arduino dërgon një sinjal për të fuqizuar stafetën e dytë për 5 sekonda i cili aktivizon solenoidin
5, Solenoidi kur mundësohet i lejon ujë spërkatës
6, Ndërsa spërkatësi është aktiv kamera ndalon zbulimin dhe regjistron video
7, Video është ngarkuar në Youtube
8, Stills ngarkuar në dropbox për sistem të mirë akordimi
Shënim - Pse përfundova duke përdorur 2 stafetë dhe një arduino për të ndezur një solenoid për 5 sekonda…..
1, Pi nuk mund të fillojë dhe ndalojë solenoidin gjatë regjistrimit të videos ndërsa python scrups ndalon derisa të përfundojë videoja, kështu që nevoja që arduino (ose kohëmatësi 555) të lejojë që solenoidi të hapet dhe mbyllet pavarësisht nga skenari ndërsa video është ende duke u regjistruar.
2, Stafeta e parë dhe arduino mund të zëvendësohen me një kohëmatës 555, por që nuk erdhi në postim në kohë për këtë projekt, 555 do të kursente shumë kohë para dhe hapa.
3, pi nuk mund të shkaktojë solenoidin drejtpërdrejt pasi Pi GPIO punon në 3.3v dhe 51mA max, dhe solenoidi dëshiron 5V dhe shumë më tepër se 51mA për të shkaktuar.
4, Çdo kornizë mund të shkurtohet për të hequr zbulimin e lëvizjes në zona të padëshiruara, të tilla si një kopsht i fqinjëve. Dështimi për ta bërë këtë do të rezultojë që fqinji i dhënë të shikojë të hutuar në kopshtin tuaj, sepse spërkatësi fiket sa herë që dëshiron të hyjë në hambarin e tij.
5, me siguri kam humbur diçka të qartë dhe kam humbur kohën duke e vendosur atë kështu.
Kodi më poshtë
import cv2import numpy si np import argparse #cat kohë import import import RPi. GPIO si GPIO import os import dropbox nga picamera.array import PiRGBArray nga picamera import PiCamera #------------------ ------------------------------ Ngarko në youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Tlayger stafetë GPIO.output (11, E vërtetë) time.sleep (.5) GPIO.putput (11, False) print ("Marrja e videos") provoni: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Ngarko në printimin e youtube ("Ngarkimi në YouTube") os. system ('sudo youtube-upload --title = "Macja u lag {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Hiq skedarin e videos kur të bëhet os.remove ('vid {0}.h264'.format (vidname)) print ("Video u ngarkua dhe u hoq nga Pi") përveç: kalimit #-------------------- ---------------------------- Ende në dropbox ------------------- -------------------- def Rr illsToDropbox (): print ("Ngarkimi akoma në funksionin Dropbox") access_token = 'Ah ah ah, nuk e the fjalën magjike … Ah ah ah, nuk e the fjalën magjike' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") provo: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (emri i skedarit) klienti = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (emri i skedarit, imazhi) image.close () os.remove ("ToDropbox.jpg ") përveç: kalimit #------------------------------------------ ------ Zbuloni lëvizjen --------------------------------------------- def DetectMotion (): #Përcaktoni vars min_area = 400 tolerancë = 25 #ndryshim në pixel bluramount = 21 timetoforget = 0.5 kernel = np.ones ((5, 5), np.uint8) #përdorur për dilatim MotionCounter = 0 MinTargetArea = 600 # madhësia më e vogël për të zbuluar MaxTargetArea = 5000 #Madhësia më e madhe për të zbuluar tani = koha.kohë () atëherë = kohë.kohë () #initialize camera camera = PiCamera () camera.resolution = (640, 480) camera.framerate = 10 raw Capture = PiRGBArray (kamera, madhësia = (640, 480)) #ngrohja e kohës së kamerës. Gjumë (1) #Kapni kornizën e parë dhe përgatiteni për të hyrë në cv2. Grumbulloni peshë të kamerës. Kapje (rawCapture, format = "bgr") mes = rawCapture.array #Prer rajonin e padëshiruar PolyCrop = np.array (
#SiToTriggerRealProgramuesitWithBadCode
Hapi 4: Vendosja së bashku
Mblidhni pajisjet elektrike në një strehim të papërshkueshëm nga uji, vidhosini gjërat në mure dhe përdorni shumë shirit ngjitës dhe zam të nxehtë
Hapi 5: Rezultatet
Kur punon funksionon
Hapi 6: Pozitivë të rremë
Kur jo, spërkat hijet e maceve, gruan tuaj dhe vajzën tuaj.
Këshillë - Vendosni një çelës pranë derës që ndalon programin e zbulimit të lëvizjes ….. pastaj harroni ta përdorni dhe njomuni kur i vendosni koshat jashtë.
Shpresoj se kam bërë ndonjë ekspert në programim, elektronikë dhe DIY duke u ngacmuar me të gjitha gabimet që ndoshta kam bërë, dhe veçanërisht shpresoj që të keni shijuar të gjitha gabimet e mia drejtshkrimore.
Recommended:
Kontrolli i Qasjes në Ushqimin e Cat (ESP8266 + Servo Motor + Printim 3D): 5 hapa (me fotografi)
Kontrolli i Qasjes në Ushqimin e Cat (ESP8266 + Servo Motor + Printimi 3D): Ky projekt kalon mbi procesin që kam përdorur për të krijuar një tas të automatizuar të ushqimit të maceve, për macen time të moshuar diabetike Chaz. Shikoni, ai duhet të hajë mëngjes para se të marrë insulinë, por unë shpesh harroj të marr pjatën e tij para se të shkoj në shtrat, gjë që prish
Raspberry PI Vision Processor (SpartaCam): 8 hapa (me fotografi)
Raspberry PI Vision Processor (SpartaCam): Një sistem përpunues i vizionit Raspberry PI për robotin tuaj FIRST Robotics Competition. Rreth FIRST Nga Wikipedia, enciklopedia falas https://en.wikipedia.org/wiki/FIRST_Robotics_Compe .. Konkursi i Parë i Robotikës (FRC) është një shkollë e mesme ndërkombëtare
Këmbëngulja e Vision Fidget Spinner: 8 hapa (me fotografi)
Këmbëngulja e Vizionit Fidget Spinner: Ky është një fidget spinner i cili përdor Persistence of Vision effect i cili është një iluzion optik ku imazhe të shumta diskrete përzihen në një imazh të vetëm në mendjen e njeriut. Teksti ose grafika mund të ndryshohen nëpërmjet lidhjes Bluetooth Low Energy duke përdorur nje P
Mikro: bit MU Vision Sensor dhe Zip Tile Kombinuar: 9 hapa (me fotografi)
Mikro: bit MU Vision Sensor dhe Zip Tile Kombinuar: Pra, në këtë projekt ne do të kombinojmë sensorin e vizionit MU me një Pllakë Zip Kitronik. Ne do të përdorim sensorin e vizionit MU për të njohur ngjyrat dhe për të bërë që Tip Zip të na e tregojë atë. Ne do të përdorim disa nga teknikat që kemi përdorur para
Marrja e: Een Mini Sprinkler Meting (fut 12): 8 hapa
The Making Of: Een Mini Sprinkler Meting (groep 12): Groep 12Noortje Romeijn 4651464Milton Fox 4652622Deze Instructable is geschreven door Milton Fox (student Maritieme Techniek, TU Delft) en Noortje Romeijn (studente Civiele Teftniek), Allebei volgen we de civiele minor 'De delta denker, wa