Obsah:
- Krok 1: Požadované hlavní položky
- Krok 2: Systém
- Krok 3: Čas kódování
- Krok 4: Dát to dohromady
- Krok 5: Výsledky
- Krok 6: Falešná pozitiva
Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Problém - Kočky využívají vaši zahradu jako toaletu
Řešení - Věnujte příliš mnoho času tvorbě postřikovače pro kočky s funkcí automatického nahrávání na YouTube
Nejde o krok za krokem, ale o přehled konstrukce a nějaký kód
#BeforeYouCallPETA - Kočky jsou v pořádku, je to nízkotlaký postřikovač stejně jako déšť, který mohou předběhnout, než se k nim dokonce otočí. Cílem není namočit kočku, ale odhalit ji, než mou zahradu posypou kočičí verzí Barkers Eggs.
Krok 1: Požadované hlavní položky
Raspberry Pi nula a SD karta
Fotoaparát Raspberry Pi
Relé
555 časovač…. (nebo arduino a další relé, pokud nedorazí časovače 555)
Solenoid
Sprinkler
Nějaký kryt pro elektroniku
Ochota zasáhnout metaforický hřebík 6tunovým kladivem
Fotoaparát s tak malým rozlišením, že sotva vidíte vodu, ale stále můžete vidět, jak se kočky utíkají schovat
Krok 2: Systém
1, kamera Pi detekuje objekt velikosti kočky, který se pohybuje po několik rámečků kamery (vysvětleno v dalším kroku)
2, Pi spouští postřikovač
3, Cat běží na úkryt
4, Video se automaticky nahrává na youtube pro potěšení ze sledování
Krok 3: Čas kódování
Pomocí openCV pomocí odčítání rámců můžete najít oblasti rámce, které se v průběhu času mění, pomocí některých šikovných funkcí můžete zjistit, jak velké tyto změny jsou a zda v průběhu času přetrvávají, a hlavně zjistit, zda mají velikost kočky.
Existuje několik návodů na odečítání snímků, které jdou velmi rychle, pokud provedete rychlé vyhledávání Google.
Přehled toho, jak kód funguje
1, Fotoaparát stále snímá snímky a porovnává je s posledními
2, Pokud je detekován tvar velikosti kočky, je zaznamenán
3, Pokud změna velikosti kočky přetrvává kolem 4 snímků, pi používá GPIO k napájení relé pro spuštění arduina
4, Arduino vyšle signál k napájení druhého relé na 5 sekund, které aktivuje solenoid
5, Solenoid při napájení propouští vodu do postřikovače
6, Je -li sprinkler aktivní, kamera přestane detekovat a nahrávat video
7, Video se nahraje na Youtube
8, Stills uploaded to dropbox for fine tuning system
Poznámka - Proč jsem nakonec použil 2 relé a arduino k zapnutí solenoidu na 5 sekund…..
1, Pi nemůže spouštět a zastavovat solenoid při nahrávání videa, protože python scrips se pozastavuje, dokud není video dokončeno, a proto je potřeba arduino (nebo časovač 555) umožnit solenoidu otevřít a zavřít nezávisle na skriptu, zatímco video se stále nahrává.
2, První relé a arduino lze nahradit časovačem 555, ale to pro tento projekt nepřišlo včas, 555 by ušetřilo spoustu času, peněz a kroků.
3, Pi nemůže spouštět solenoid přímo, protože Pi GPIO pracuje na max. 3,3 V a 51 mA a solenoid chce spustit 5 V a mnohem více než 51 mA.
4, každý snímek lze oříznout, aby se odstranila detekce pohybu v nežádoucích oblastech, jako je například zahrada neigbors. Pokud tak neučiníte, bude mít uvedený soused zmatený pohled do vaší zahrady, protože postřikovač se vypne pokaždé, když chce jít do své kůlny.
5, Pravděpodobně mi něco zjevného uniklo a promrhal jsem čas tím, že jsem to takto nastavil.
Kód níže
import cv2import numpy as np import argparse #cat doba importu import RPi. GPIO as GPIO import os import dropbox from picamera.array import PiRGBArray from picamera import PiCamera #------------------ ------------------------------ Nahrát 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") zkuste: #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)) tisk ("Video nahráno a odstraněno z Pi") kromě: průchod #-------------------- ---------------------------- Stále do schránky ------------------- -------------------- def St illsToDropbox (): print ("Nahrávání stále do funkce Dropbox") access_token = 'Ah ah ah, neřekl jsi kouzelné slovo … Ah ah ah, neřekl jsi kouzelné slovo' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) tisk (název souboru) klient = dropbox.client. DropboxClient (access_token) obrázek = otevřený ("ToDropbox.jpg", 'rb') client.put_file (název souboru, obrázek) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
Krok 4: Dát to dohromady
Namáčkněte elektriku do vodotěsného pouzdra, zašroubujte věci do zdí a použijte spoustu lepicí pásky a horkého lepidla
Krok 5: Výsledky
Když to funguje, funguje to
Krok 6: Falešná pozitiva
Když ne, stříká stíny koček, vaše žena a vaše dcera.
Pro -tip - Zapněte spínač u dveří, který pozastaví program detekce pohybu ….. pak jej zapomeňte použít a při vykládání popelnic se namočte.
Doufám, že jsem udělal nějaké odborníky na programování, elektroniku a kutilství se všemi chybami, kterých jsem se pravděpodobně dopustil, a hlavně doufám, že se vám všechny moje pravopisné chyby líbily.
Doporučuje:
Procesor Raspberry PI Vision (SpartaCam): 8 kroků (s obrázky)
Vision Processor Raspberry PI (SpartaCam): Systém obrazového procesoru Raspberry PI pro vašeho robota FIRST Robotics Competition. O FIRST Z Wikipedie, encyklopedie zdarma https://en.wikipedia.org/wiki/FIRST_Robotics_Compe..FIRST Robotics Competition (FRC) je mezinárodní vysoká škola
Persistence of Vision Fidget Spinner: 8 kroků (s obrázky)
Persistence of Vision Fidget Spinner: Jedná se o fidget spinner, který využívá efekt Persistence of Vision, což je optická iluze, kdy se více diskrétních obrazů mísí do jednoho obrazu v lidské mysli. Text nebo grafiku lze změnit pomocí odkazu Bluetooth Low Energy pomocí a P
DIY Persistence of Vision: 6 kroků (s obrázky)
DIY Persistence of Vision: V tomto projektu vás seznámím s perspektivou vize nebo POV displeje s několika dodávkami, jako jsou Arduino a Hall senzory, které vytvoří otočný displej, který zobrazí cokoli, co se vám líbí, jako je text, čas a další speciální znaky
The Making Of: Een Mini Sprinkler Meting (groep 12): 8 Steps
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 Techniek, TU Delft). Všechny možnosti jsou menší než delta denker, wa
(POV) Persistence of Vision Globe: 8 kroků (s obrázky)
(POV) Persistence of Vision Globe:! Aktualizace! Přidal jsem program Excel, který výrazně usnadňuje kreslení a kódování nových obrázků! Jednoduchá perzistence vize světa. PŘEHRÁT VIDEO Toto je projekt, který mám na mysli již delší dobu a " Make It Glow " soutěž byla jen