Obsah:
- Krok 1: Vyžadujú sa hlavné položky
- Krok 2: Systém
- Krok 3: Čas kódovania
- Krok 4: Spojenie
- Krok 5: Výsledky
- Krok 6: Falošné pozitíva
Video: Cat-a-way-počítačový vízor Sprinkler pre mačky: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Problém - Mačky používajú vašu záhradu ako toaletu
Riešenie - Strávte príliš veľa času navrhovaním postrekovača pre mačky s funkciou automatického nahrávania na YouTube
Nejde o krok za krokom, ale o prehľad stavby a nejaký kód
#BeforeYouCallPETA - Mačky sú v poriadku, je to nízkotlakový postrekovač ako dážď, ktorý môžu predbehnúť skôr, ako sa k nim dokonca otočí. Cieľom nie je namočiť mačku, ale odhaliť ju skôr, ako moju záhradu posypú mačkou verziou Barkers Eggs.
Krok 1: Vyžadujú sa hlavné položky
Raspberry Pi nula a SD karta
Kamera Raspberry Pi
Relé
Časovač 555 … (alebo arduino a ďalšie relé, ak nedorazí vašich 555 časovačov)
Solenoid
Postrekovač
Nejaký kryt pre elektroniku
Ochota trafiť metaforický klinec 6 tonovým sánkovacím kladivom
Fotoaparát s tak malým rozlíšením, že sotva vidíte vodu, ale stále vidíte mačky, ako sa ukrývajú
Krok 2: Systém
1, Kamera Pi detekuje objekt veľkosti mačky, ktorý sa pohybuje po niekoľkých rámoch kamier (vysvetlené v nasledujúcom kroku)
2, Pi spustí postrekovač
3, Cat beží na úkryt
4, video sa automaticky nahráva na youtube kvôli potešeniu zo sledovania
Krok 3: Čas kódovania
Použitím openCV pomocou odčítania rámcov môžete nájsť oblasti rámca, ktoré sa časom menia, pomocou niektorých šikovných funkcií môžete zistiť, aké veľké sú tieto zmeny a či v priebehu času pretrvávajú, a čo je najdôležitejšie, zistiť, či majú veľkosť mačky.
Existuje niekoľko návodov na odčítanie rámcov, ktoré sa dajú veľmi rýchlo prejsť, ak urobíte rýchle vyhľadávanie v službe Google.
Prehľad fungovania kódu
1, Fotoaparát stále sníma snímky a porovnáva ich s poslednými
2, Ak sa zistí tvar veľkosti mačky, zaznamená sa to
3, Ak zmena veľkosti mačky pretrváva okolo 4 rámcov, pi použije svoje GPIO na napájanie relé na spustenie arduina
4, Arduino vyšle signál na napájanie druhého relé na 5 sekúnd, ktoré aktivuje solenoid
5, Solenoid pri napájaní prepúšťa vodu do postrekovača
6, Keď je postrekovač aktívny, kamera zastaví detekciu a zaznamenáva video
7, Video sa odovzdá na Youtube
8, Fotografie sa nahrávajú do schránky na jemné doladenie systému
Poznámka - Prečo som skončil s použitím 2 relé a arduina na zapnutie solenoidu na 5 sekúnd …
1, Pi nemôže zapínať a vypínať solenoid počas nahrávania videa, pretože pytón sa zastavuje, kým sa video nedokončí, a preto je potrebné, aby arduino (alebo časovač 555) umožnilo solenoidu otvoriť a zatvoriť nezávisle od skriptu, zatiaľ čo video sa stále nahráva.
2, Prvá štafeta a arduino môžu byť nahradené časovačom 555, ale to pre tento projekt neprišlo včas, 555 by ušetrilo veľa času a peňazí.
3, Pi nemôže spúšťať solenoid priamo, pretože Pi GPIO pracuje na max. 3,3 V a 51 mA a solenoid chce, aby sa spustilo 5 V a oveľa viac ako 51 mA.
4, každý rám možno orezať, aby sa odstránila detekcia pohybu v nechcených oblastiach, ako je napríklad záhrada susedov. Ak to neurobíte, bude mať uvedený sused zmätený pohľad do vašej záhrady, pretože postrekovač sa vypne vždy, keď chce ísť do svojej kôlne.
5, pravdepodobne mi uniklo niečo zrejmé a premrhal som čas tým, že som to takto nastavil.
Kód nižšie
import cv2import numpy as np import argparse #cat import time import RPi. GPIO as GPIO import os import dropbox from picamera.array import PiRGBArray from picamera import PiCamera #------------------ ------------------------------ Nahrať na youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger relay GPIO.output (11, True) time.sleep (.5) GPIO.output (11, False) print ("Taking Video") skúste: #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 = "Cat Got Wet {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Remove video file when done os.remove ('vid {0}.h264'.format (vidname)) print ("Video nahrané a odstránené z Pi") okrem: pass #-------------------- ---------------------------- Stále do schránky ------------------- -------------------- def St. illsToDropbox (): print ("Nahrávanie stále do funkcie Dropbox") access_token = 'Ah ah ah, nepovedali ste čarovné slovo … Ah ah ah, nepovedali ste kúzelné slovo' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (názov súboru) klient = dropbox.client. DropboxClient (access_token) obrázok = otvorený ("ToDropbox.jpg", 'rb') client.put_file (názov súboru, obrázok) image.close () os.remove ("ToDropbox.jpg ") okrem: pass #------------------------------------------ ------ Detekcia pohybu ---------------------------------------- def DetectMotion (): #Define vars min_area = 400 tolarance = 25 #change in pixel bluramount = 21 timetoforget = 0.5 kernel = np.ones ((5, 5), np.uint8) #used for dialate MotionCounter = 0 MinTargetArea = 600 # najmenšia veľkosť na zistenie MaxTargetArea = 5000 #Najväčšia veľkosť na zistenie teraz = time.time () then = time.time () #initialise Camera Camera = PiCamera () camera.resolution = (640, 480) camera.framerate = 10 raw Capture = PiRGBArray (kamera, veľkosť = (640, 480)) #warmup kamera time.sleep (1) #Grab first frame & prep it to go into cv2.acumulate weight camera.capture (rawCapture, format = "bgr") avg = rawCapture.array #Vyrežte nechcenú oblasť PolyCrop = np.array (
#HowToTriggerRealProgrammersWithBadCode
Krok 4: Spojenie
Elektriku natlačte do vodotesného krytu, zaskrutkujte veci do stien a použite veľa lepiacej pásky a horúceho lepidla
Krok 5: Výsledky
Keď to funguje, funguje to
Krok 6: Falošné pozitíva
Keď nie, nastrieka tiene mačky, vašu manželku a dcéru.
Pro -tip - Zapnite spínač pri dverách, ktorý pozastaví program detekcie pohybu ….. potom ho zabudnite použiť a namočte sa pri vykladaní košov.
Dúfam, že som urobil všetkých odborníkov v oblasti programovania, elektroniky a domácich majstrov so všetkými chybami, ktoré som pravdepodobne urobil, a hlavne dúfam, že sa vám páčili všetky moje pravopisné chyby.
Odporúča:
Sourino - najlepšia hračka pre mačky a deti: 14 krokov (s obrázkami)
Sourino - najlepšia hračka pre mačky a deti: Predstavte si dlhé večierky s deťmi a mačkami, ktoré hrajú Sourino. Táto hračka ohromí mačky aj deti. Užijete si hranie v diaľkovo ovládanom režime a pobláznite svoju mačku. V autonómnom režime oceníte to, že necháte Sourino pohybovať sa okolo vašej mačky,
Kontrola prístupu k krmivu pre mačky (ESP8266 + servomotor + 3D tlač): 5 krokov (s obrázkami)
Kontrola prístupu k krmivu pre mačky (ESP8266 + servomotor + 3D tlač): Tento projekt prechádza procesom, ktorý som použil na vytvorenie automatizovanej misky na krmivo pre mačky pre moju staršiu diabetickú mačku Chaz. Vidíte, potrebuje si dať raňajky, kým si dá inzulín, ale ja často zabúdam vybrať si jedlo, ktoré si dám pred spaním, ktoré spo
Repelent pre mačky: 4 kroky (s obrázkami)
Odpudzovač mačiek: Na začiatku neznášam mačky, ale milujem vtáky. V mojej záhrade máme niekoľko otvorených klietok, do ktorých môžu vtáky vstupovať a odchádzať, ako sa im zachce. Môžu tam nájsť jedlo a vodu. Nanešťastie niekedy do mojej záhrady vstúpi mačka zo susedstva a ja som
Automatický dávkovač krmiva pre mačky: 7 krokov (s obrázkami)
Automatický dávkovač krmiva pre mačky: Ak neovládate množstvo jedla, ktoré vaša mačka zje, môže to viesť k problémom s prejedaním sa a nadváhou. To platí najmä vtedy, ak ste mimo domova a necháte mačke ďalšie jedlo, ktoré môže konzumovať podľa vlastného plánu. Inokedy môžete
C4TB0T - Bezdrôtová prispôsobiteľná hračka pre mačky: 6 krokov (s obrázkami)
C4TB0T - Bezdrôtová prispôsobiteľná hračka pre mačky: Táto hračka nie je len bezdrôtová laserová hračka, ktorú môžete ovládať pomocou svojho smartfónu, ale nie je to ani viac! Na tohto robota môžete namontovať ďalšie hračky, čo z neho robí konečnú hračku pre mačky na mieru. Ak budete postupovať podľa pokynov, aj vy budete môcť