Tartalomjegyzék:
- 1. lépés: Főbb elemek szükségesek
- 2. lépés: A rendszer
- 3. lépés: Kódolási idő
- 4. lépés: Összeállítás
- 5. lépés: Eredmények
- 6. lépés: Hamis pozitív
Videó: Cat-a-way-Computer Vision Cat Sprinkler: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Probléma - A macskák a kertet WC -ként használják
Megoldás - Töltsön túl sok időt egy macska -öntözőgép tervezésénél az automatikus YouTube -feltöltési funkcióval
Ez nem lépésről lépésre, hanem az építés áttekintése és néhány kód
#BeforeYouCallPETA - A macskák jól vannak, alacsony nyomású öntözőberendezése, akár az eső, hogy megelőzhetik, mielőtt még megfordulna körülöttük. A projekt célja nem egy macska áztatása, hanem az, hogy elpusztítsam őket, mielőtt a Barkers Eggs macskaváltozatával szemetelnek a kertemben.
1. lépés: Főbb elemek szükségesek
Raspberry Pi nulla és SD kártya
Raspberry Pi kamera
Relé
555 időzítő … (vagy egy arduino és egy másik relé, ha az 555 időzítő nem érkezik meg)
Szolenoid
Sprinkler
Valamilyen ház az elektronikához
Hajlandóság egy metaforikus szöget ütni egy 6 tonnás szánkalapáccsal
A kamera olyan kis felbontású, hogy alig látja a vizet, de még mindig látja a macskákat, akik fedezékért futnak
2. lépés: A rendszer
1, A Pi kamera észleli, hogy egy macska méretű tárgy néhány kamera képkockáján mozog (példaként a következő lépésben)
2, Pi elindítja az esőztetőt
3, Cat fut fedezékért
4, A videó automatikusan feltöltődik a youtube -ra a megtekintés örömére
3. lépés: Kódolási idő
Az openCV használatával a keret kivonásával megtalálhatja a keret azon területeit, amelyek idővel változnak, néhány remek funkció használatával kitalálhatja, hogy ezek a változások mekkora méretűek, és tartósan fennállnak -e, és ami a legfontosabb, megtudhatja, hogy macska méretűek -e.
Elég sok oktatóanyag található a keret kivonásáról, amelyek nagyon részletesek, ha gyors Google -keresést végez.
A kód működésének áttekintése
1, A fényképezőgép folyamatosan készít képkockákat és összehasonlítja őket az utolsóig
2, Ha macska méretű alakot észlel, akkor azt megjegyzi
3, Ha a macska méretváltozása 4 képkocka körül is fennáll, a pi a GPIO -ját használja a relé bekapcsolásához az arduino elindításához
4, Az arduino jelet küld a második relé 5 másodpercre történő táplálásához, amely aktiválja a mágnesszelepet
5, A mágnesszelep bekapcsolt állapotban vizet enged a sprinklerhez
6, Amíg a sprinkler aktív, a kamera leállítja az észlelést és rögzíti a videót
7, A videót feltöltik a Youtube -ra
8, Állóképek feltöltve a dropboxba a finomhangoló rendszerhez
Megjegyzés - Miért használtam végül 2 relét és egy arduinot, hogy 5 másodpercre bekapcsoljam a mágnesszelepet…..
1, A pi nem tudja elindítani és leállítani a mágnesszelepet a videó rögzítése közben, miközben a python scrip szüneteket tart, amíg a videó befejeződik, ezért szükség van az arduino -ra (vagy az 555 -ös időzítőre), hogy lehetővé tegye a mágnesszelep nyitását és bezárását a szkripttől függetlenül, miközben a a videó még rögzítés alatt áll.
2, Az első relé és arduino helyettesíthető egy 555 -ös időzítővel, de ez nem érkezett meg időben a projekthez, az 555 sok időt és pénzt takarít meg.
3, A pi nem tudja közvetlenül bekapcsolni a mágnesszelepet, mivel a Pi GPIO 3,3 és 51 mA áramerősséggel működik, a mágnesszelep pedig 5 V -os és 51 mA -nél nagyobb indítást szeretne.
4, Minden keret levágható, hogy eltávolítsa a mozgásérzékelést a nem kívánt területeken, például a szomszédos kertben. Ennek elmulasztása azt eredményezi, hogy az említett szomszéd zavart pillantást vet a kertjébe, mert az esőztető minden alkalommal kikapcsol, amikor be akar menni a fészerébe.
5, Valószínűleg kihagytam valami nyilvánvaló dolgot, és elvesztegettem az időmet az ilyen beállítással.
Kód alább
import cv2import numpy as np import argparse #cat import time import RPi. GPIO as GPIO import import os drop import from picamera.array import PiRGBArray from picamera import PiCamera #------------------ ------------------------------ Feltöltés a youtube-ra ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger relé GPIO.output (11, True) time.sleep (.5) GPIO.output (11, False) print ("Videó készítése") try: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Feltöltés a youtube printre ("Feltöltés a YouTube -ra") os. rendszer ('sudo youtube-upload --title = "Cat Got Wet {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Videó eltávolítása, ha kész os.remove ('vid {0}.h264'.format (vidname)) print ("A videó feltöltve és eltávolítva a Pi-ből"), kivéve: pass #-------------------- ---------------------------- Állóképek a dropboxba ------------------- -------------------- def St. illsToDropbox (): print ("Stillloading to Dropbox Function") access_token = 'Ah ah ah, nem mondtad a varázsszót … Ah ah ah, nem mondtad a' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (fájlnév) kliens = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (fájlnév, kép) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
4. lépés: Összeállítás
Szúrja be az elektromos készülékeket vízálló házba, csavarja be a dolgokat a falakba, és használjon sok ragasztószalagot és forró ragasztót
5. lépés: Eredmények
Amikor működik, akkor működik
6. lépés: Hamis pozitív
Ha nem, akkor a macska árnyékát permetezi, a felesége és a lánya.
Hasznos tipp - Tegyen egy kapcsolót az ajtó mellé, amely szünetelteti a mozgásérzékelő programot….. majd felejtse el használni, és ázik be a tárolók kihelyezésekor.
Remélem, hogy a programozás, az elektronika és a barkácsolás szakértőit összezavarodtam az összes valószínűleg elkövetett hibámmal, és különösen remélem, hogy tetszett minden helyesírási hibám.
Ajánlott:
A Vision LED személyzetének kitartása: 11 lépés (képekkel)
A Vision LED személyzetének perzisztenciája: Köztudott, hogy a fény kikapcsolása után is az emberi szem "lát". a másodperc töredékéig. Ezt látás perzisztenciájának vagy POV -nak nevezik, és lehetővé teszi a "festést". képek egy csík gyors mozgatásával
Málna PI Vision processzor (SpartaCam): 8 lépés (képekkel)
Raspberry PI Vision Processor (SpartaCam): Málna PI látásprocesszor rendszer az ELSŐ Robotics Competition robothoz. A FIRST -ről A Wikipedia ingyenes enciklopédiája https://en.wikipedia.org/wiki/FIRST_Robotics_Compe … Az FIRST Robotics Competition (FRC) egy nemzetközi középiskolai
A Vision Fidget Spinner perzisztenciája: 8 lépés (képekkel)
A Vision Fidget Spinner perzisztenciája: Ez a fidget spinner, amely a Persision of Vision effektust használja, amely egy optikai csalódás, amely során több diszkrét kép egyetlen képbe keveredik az emberi elmében. A szöveg vagy a grafika megváltoztatható a Bluetooth Low Energy link használatával a P
Távoli aktiválású sprinkler készítése PiFace és Ubidots segítségével: 13 lépés
Távoli aktiválású öntözőgép építése PiFace és Ubidots segítségével: Ez egy remek példa, amely megtanítja Önt, hogyan kell a Raspberry Pi, a PiFace és az Ubidots használatával öntözni kertjét messziről. A telefon segítségével távolról vezérelhet egy elektro-szelepet, amellyel öntözheti növényeit bármely helyről
Készítése: Een Mini Sprinkler mérés (12. sor): 8 lépés
The Making Of: Een Mini Sprinkler Meting (groep 12): Groep 12Noortje Romeijn 4651464Milton Fox 4652622Deze Instructable is geschreven door Milton Fox (hallgató Maritieme Techniek, TU Delft) és Noortje Romeijn (studente Civiele Techniek, TU Delft). Allebei volgen we de civiele minor 'De delta denker, wa