![Cat-a-way - Computer Vision Cat Sprinkler: 6 Adım (Resimlerle) Cat-a-way - Computer Vision Cat Sprinkler: 6 Adım (Resimlerle)](https://i.howwhatproduce.com/images/001/image-171-56-j.webp)
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
![Cat-a-way - Computer Vision Cat Sprinkler Cat-a-way - Computer Vision Cat Sprinkler](https://i.howwhatproduce.com/images/001/image-171-57-j.webp)
Sorun - Bahçenizi tuvalet olarak kullanan kediler
Çözüm - Otomatik youtube yükleme özelliğine sahip bir kedi fıskiyesi tasarlamak için çok fazla zaman harcayın
Bu adım adım bir adım değil, yapıya ve bazı kodlara genel bir bakış
#BeforeYouCallPETA - Kediler iyidir, tıpkı yağmur gibi düşük basınçlı bir sprinklerdir ve etraflarında dönmeden önce kaçabilirler. Proje bir kediyi ıslatmak değil, bahçemi Barkers Eggs'in kedi versiyonuyla kirletmeden önce onları uzaklaştırmak.
Adım 1: Gerekli Ana Öğeler
![Gerekli Ana Öğeler Gerekli Ana Öğeler](https://i.howwhatproduce.com/images/001/image-171-58-j.webp)
Raspberry Pi sıfır ve SD kart
Ahududu Pi kamera
Röle
555 zamanlayıcı…. (veya 555 zamanlayıcınız gelmezse bir arduino ve başka bir röle)
solenoid
yağmurlama
Elektronik için bir tür muhafaza
6 tonluk balyozla mecazi bir çiviyi vurmaya istekli olmak
Suyu zar zor görebileceğiniz, ancak yine de saklanmak için koşan kedileri görebileceğiniz çok az çözünürlüğe sahip bir kamera
Adım 2: Sistem
![Image Image](https://i.howwhatproduce.com/images/001/image-171-60-j.webp)
![](https://i.ytimg.com/vi/_YKvCFbMTOQ/hqdefault.jpg)
1, Pi kamera, birkaç kamera çerçevesi için hareket eden kedi boyutunda bir nesne algılar (bir sonraki adımda açıklanmıştır)
2, Pi sprinkleri başlatır
3, Kedi kapak için çalışır
4, Video, izleme keyfi için otomatik olarak youtube'a yüklendi
Adım 3: Kodlama Süresi
![Bir araya getirmek Bir araya getirmek](https://i.howwhatproduce.com/images/001/image-171-61-j.webp)
Çerçeve çıkarmayı kullanarak openCV'yi kullanarak, çerçevenin zamanla değişen alanlarını bulabilir, bazı şık işlevleri kullanarak bu değişikliklerin ne kadar büyük olduğunu ve zamanla devam edip etmediklerini anlayabilir ve en önemlisi kedi boyutunda olup olmadıklarını öğrenebilirsiniz.
Hızlı bir google araması yaparsanız, çerçeve çıkarma hakkında çok ayrıntılı bilgi veren birkaç öğretici var.
Kodun nasıl çalıştığına genel bakış
1, Kamera kareler almaya ve bunları sonuncusuyla karşılaştırmaya devam ediyor
2, Kedi boyutunda bir şekil tespit edilirse not edilir
3, Kedi boyutundaki değişiklik yaklaşık 4 kare üzerinde devam ederse, pi, arduino'yu başlatmak için röleyi çalıştırmak için GPIO'sunu kullanır
4, arduino, solenoidi etkinleştiren ikinci röleye 5 saniye boyunca güç sağlamak için bir sinyal gönderir.
5, Güç verildiğinde solenoid, sprinklere su girmesine izin verir
6, Sprinkler aktifken kamera algılamayı durdurur ve video kaydeder
7, Video Youtube'a yüklendi
8, İnce ayar sistemi için Dropbox'a yüklenen fotoğraflar
Not - Neden bir solenoidi 5 saniyeliğine açmak için 2 röle ve bir arduino kullandım…..
1, python komut dosyası video bitene kadar durakladığından videoyu kaydederken pi solenoidi başlatamaz ve durduramaz, bu nedenle arduino'nun (veya 555 zamanlayıcının) solenoidin komut dosyasından bağımsız olarak açılıp kapanmasına izin vermesi gerekir. video hala kaydediliyor.
2, İlk röle ve arduino bir 555 zamanlayıcı ile değiştirilebilir, ancak bu proje için postaya zamanında gelmedi, 555 çok fazla zaman tasarrufu ve adım tasarrufu sağlayacaktır.
3, Pi GPIO, maksimum 3.3v ve 51mA üzerinde çalıştığından ve solenoid tetiklemek için 5V ve 51mA'dan çok daha fazlasını istediğinden, pi solenoidi doğrudan tetikleyemez.
4, komşu bahçe gibi istenmeyen alanlarda hareket algılamayı kaldırmak için her çerçeve kırpılabilir. Bunu yapmamak, söz konusu komşunun bahçenize şaşkın bakışlar yapmasına neden olacaktır, çünkü yağmurlama sistemi kulübesine her girmek istediğinde patlayacaktır.
5, muhtemelen bariz bir şeyi kaçırdım ve bunu böyle kurmakla zamanımı boşa harcadım.
Aşağıdaki kod
cv2import numpy as np içe aktar argparse #cat içe aktarma zamanı RPi. GPIO'yu GPIO olarak içe aktar işletim sistemi dropbox'ı picamera.array'den içe aktar PiRGBArray'i picamera'dan içe aktar PiCamera'yı içe aktar #------------------ ----------------------------------Youtube'a yükle ------------------ ---------------------- def HDtoYoutube(): ctime = time.strftime("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger rölesi GPIO.output(11, True) time.sleep(.5) GPIO.output(11, False) print("Video Çekiliyor") deneyin: #Take Video os.system('raspivid -w 1640 -h 922 -o vid{0}.h264 -t 15000'.format(vidname)) #Youtube'a yükleyin print("YouTube'a Yükleniyor") os. system('sudo youtube-upload --title="Cat Got Wet {0}" --client-secrets=client_secret.json vid{0}.h264'.format(vidname)) #İş bittiğinde video dosyasını kaldır os.remove ('vid{0}.h264'.format(vidname)) print("Video yüklendi ve Pi'den kaldırıldı") hariç: pas #-------------------- ----------------------------Dropbox'a devam ediyor-------- -------------------- def St illsToDropbox(): print("Hala Dropbox Fonksiyonuna Yükleniyor") access_token = 'Ah ah ah, sihirli kelimeyi söylemedin…Ah ah ah, sihirli kelimeyi söylemedin' ctime = time.strftime(" %H:%M:%S") cdate = time.strftime("%d-%m-%Y") deneyin: filename = "/Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print(filename) client = dropbox.client. DropboxClient(access_token) image = open("ToDropbox.jpg", 'rb') client.put_file(filename, image) image.close() os.remove("ToDropbox.jpg") hariç: pas #------------------------------------------ ------Hareket algılama -------------------------------------------- def DetectMotion(): #Define değişken min_area = 400 tolerans = 25 #pikselde değişiklik bluramount = 21 unutulma zamanı = 0,5 çekirdek = np.ones((5, 5), np.uint8) #dialate için kullanılır MotionCounter = 0 MinTargetArea = 600 # algılanacak en küçük boyut MaxTargetArea = 5000 #Şimdi algılanacak en büyük boyut = time.time() sonra = time.time() #initialise camera camera = PiCamera() camera. Resolution = (640, 480) camera.framerate = 10 raw Capture = PiRGBArray(kamera, size=(640, 480)) #warmup camera time.sleep(1) #İlk kareyi alın ve cv2.acumulate ağırlık kamerasına girmeye hazırlayın.capture(rawCapture, format="bgr") ort = rawCapture.array #İstenmeyen bölgeyi kırp PolyCrop = np.array(
#HowToTriggerRealProgrammersWithBadCode
Adım 4: Bir araya getirmek
![Bir araya getirmek Bir araya getirmek](https://i.howwhatproduce.com/images/001/image-171-62-j.webp)
![Bir araya getirmek Bir araya getirmek](https://i.howwhatproduce.com/images/001/image-171-63-j.webp)
![Bir araya getirmek Bir araya getirmek](https://i.howwhatproduce.com/images/001/image-171-64-j.webp)
Elektriği su geçirmez bir muhafazaya sıkıştırın, bir şeyleri duvarlara vidalayın ve çok sayıda koli bandı ve sıcak tutkal kullanın.
Adım 5: Sonuçlar
![Image Image](https://i.howwhatproduce.com/images/001/image-171-66-j.webp)
![](https://i.ytimg.com/vi/wMR8D1AWQKc/hqdefault.jpg)
![Sonuçlar Sonuçlar](https://i.howwhatproduce.com/images/001/image-171-67-j.webp)
Çalıştığında çalışır
Adım 6: Yanlış Pozitifler
![Yanlış Pozitifler Yanlış Pozitifler](https://i.howwhatproduce.com/images/001/image-171-68-j.webp)
Yapmadığında kedi gölgelerini, karınızı ve kızınızı püskürtür.
Uzman ipucu - Kapının yanına hareket algılama programını duraklatan bir anahtar koyun….. sonra kullanmayı unutun ve kutuları dışarı çıkarırken ıslanmayın.
Umarım programlama, elektronik ve DIY konusunda herhangi bir uzmanı muhtemelen yaptığım tüm hatalarla karıştırmışımdır ve özellikle tüm yazım hatalarımı beğenmişsinizdir.
Önerilen:
Raspberry PI Vision İşlemci (SpartaCam): 8 Adım (Resimlerle)
![Raspberry PI Vision İşlemci (SpartaCam): 8 Adım (Resimlerle) Raspberry PI Vision İşlemci (SpartaCam): 8 Adım (Resimlerle)](https://i.howwhatproduce.com/images/005/image-14326-j.webp)
Raspberry PI Vision Processor (SpartaCam): FIRST Robotics Competition robotunuz için bir Raspberry PI görüntü işlemci sistemi. FIRST Hakkında Ücretsiz ansiklopedi olan Wikipedia'dan https://en.wikipedia.org/wiki/FIRST_Robotics_Compe…FIRST Robotik Yarışması (FRC), uluslararası bir yüksek sch
PiFace ve Ubidots Kullanarak Uzaktan Etkinleştirilen Sprinkler Oluşturun: 13 Adım
![PiFace ve Ubidots Kullanarak Uzaktan Etkinleştirilen Sprinkler Oluşturun: 13 Adım PiFace ve Ubidots Kullanarak Uzaktan Etkinleştirilen Sprinkler Oluşturun: 13 Adım](https://i.howwhatproduce.com/images/010/image-28813-j.webp)
PiFace ve Ubidots Kullanarak Uzaktan Aktive Edilen bir Sprinkler Oluşturun: Bu, bahçenizi uzaklardan sulamak için bir Raspberry Pi, bir PiFace ve Ubidots'u nasıl kullanacağınızı öğreten harika bir örnek. Sadece telefonunuzu kullanarak herhangi bir yerden bitkilerinizi sulamak için bir elektro valfi uzaktan kontrol edebileceksiniz
Yapılışı: Een Mini Sprinkler Ölçümü (groep 12): 8 Adım
![Yapılışı: Een Mini Sprinkler Ölçümü (groep 12): 8 Adım Yapılışı: Een Mini Sprinkler Ölçümü (groep 12): 8 Adım](https://i.howwhatproduce.com/images/001/image-2453-36-j.webp)
Yapımı: Een Mini Sprinkler Meting (groep 12): Groep 12Noortje Romeijn 4651464Milton Fox 4652622Deze Instructable, Milton Fox (öğrenci Maritieme Techniek, TU Delft) ve Noortje Romeijn (öğrenci Civiele Techniek, TU Delft). Allebei volgen biz de sivil minör 'De delta denker, wa
Evrensel Zamanlayıcı - Sprinkler Kontrolörü: 5 Adım
![Evrensel Zamanlayıcı - Sprinkler Kontrolörü: 5 Adım Evrensel Zamanlayıcı - Sprinkler Kontrolörü: 5 Adım](https://i.howwhatproduce.com/images/001/image-627-98-j.webp)
Universal Timer - Sprinkler Controller: Uni-timer, 24 farklı zaman periyodunda tek tek veya grup halinde açılıp kapanacak şekilde programlanabilen, 4 röleli, Arduino donanım tabanlı evrensel bir zamanlayıcıdır. Projenin amacı, ultra cıvıl cıvıl programlanabilir bir zamanlayıcı inşa etmekti
(POV) Vision Globe'un Kalıcılığı: 8 Adım (Resimlerle)
![(POV) Vision Globe'un Kalıcılığı: 8 Adım (Resimlerle) (POV) Vision Globe'un Kalıcılığı: 8 Adım (Resimlerle)](https://i.howwhatproduce.com/images/004/image-9428-40-j.webp)
(POV) Vision Globe'un Kalıcılığı: !Güncelleme! Yeni resimler çizmeyi ve kodlamayı çok daha kolay hale getiren bir excel programı ekledim! Basit bir vizyon küresi kalıcılığı. VİDEOYU OYNABu, uzun zamandır aklımda olan bir proje ve "Glow Yap" yarışma sadece th