Isi kandungan:
- Langkah 1: Item Utama Diperlukan
- Langkah 2: Sistem
- Langkah 3: Masa Pengekodan
- Langkah 4: Menyatukannya
- Langkah 5: Hasil
- Langkah 6: Positif Palsu
Video: Cat-a-way - Penyiram Cat Penglihatan Komputer: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Masalah - Kucing menggunakan kebun anda sebagai tandas
Penyelesaian - Luangkan terlalu banyak masa untuk merancang penyiram kucing dengan ciri muat naik youtube automatik
Ini bukan langkah demi langkah, tetapi gambaran keseluruhan pembinaan dan beberapa kod
#BeforeYouCallPETA - Kucing baik-baik saja, ia adalah penyiram tekanan rendah seperti hujan, sehingga mereka dapat berlari lebih awal sebelum ia berpusing ke arah mereka. Projek ini bukan untuk merendam kucing, tetapi untuk menjauhkannya sebelum mereka membuang kebun saya dengan versi kucing dari Barkers Eggs.
Langkah 1: Item Utama Diperlukan
Kad Raspberry Pi zero & SD
Kamera Raspberry Pi
Geganti
Pemasa 555…. (atau arduino dan geganti lain jika pemasa 555 anda tidak tiba)
Solenoid
Penyiram
Beberapa jenis perumahan untuk elektronik
Kesediaan untuk memukul kuku kiasan dengan tukul sledge 6 tan
Kamera dengan resolusi yang begitu sedikit anda hampir tidak dapat melihat airnya, tetapi kucing masih dapat berlindung
Langkah 2: Sistem
1, kamera Pi mengesan objek berukuran kucing bergerak untuk beberapa bingkai kamera (dinyatakan dalam langkah seterusnya)
2, Pi melancarkan pemercik
3, Kucing berlindung
4, Video dimuat naik secara automatik ke youtube untuk melihat keseronokan
Langkah 3: Masa Pengekodan
Dengan menggunakan openCV menggunakan penolakan bingkai, anda dapat mencari kawasan bingkai yang berubah dari masa ke masa, dengan menggunakan beberapa fungsi yang bagus, anda dapat mengetahui seberapa besar perubahan ini dan jika ia berlarutan dari masa ke masa, dan yang paling penting adalah mengetahui apakah ukuran kucing tersebut.
Terdapat beberapa tutorial mengenai pengurangan bingkai yang terperinci jika anda melakukan carian google dengan cepat.
Gambaran keseluruhan bagaimana kod tersebut berfungsi
1, Kamera terus mengambil bingkai dan membandingkannya dengan yang terakhir
2, Sekiranya bentuk berukuran kucing dikesan ia diperhatikan
3, Jika perubahan ukuran kucing berterusan lebih dari 4 bingkai, pi menggunakan GPIO untuk menghidupkan relay untuk memulakan arduino
4, Arduino menghantar isyarat untuk menghidupkan relay kedua selama 5 saat yang mengaktifkan solenoid
5, Solenoid ketika dihidupkan membolehkan air ke penyiram
6, Sementara pemercik aktif kamera berhenti mengesan dan merakam video
7, Video dimuat naik ke Youtube
8, Stills dimuat naik ke dropbox untuk sistem penalaan halus
Catatan - Mengapa saya akhirnya menggunakan 2 relay dan arduino untuk menghidupkan solenoid selama 5 saat…..
1, pi tidak dapat memulakan dan menghentikan solenoid semasa merakam video ketika skrip python berhenti sehingga video selesai, oleh itu perlunya arduino (atau pemasa 555) membenarkan solenoid untuk membuka dan menutup bebas pada skrip semasa video masih dirakam.
2, geganti pertama dan arduino dapat diganti dengan pemasa 555 tetapi itu tidak masuk dalam masa tepat untuk projek ini, 555 akan menjimatkan banyak masa dan wang.
3, Pi tidak boleh mencetuskan solenoid secara langsung kerana Pi GPIO berfungsi pada maksimum 3.3v dan 51mA, dan solenoid mahu pencetus 5V dan lebih daripada 51mA.
4, Setiap bingkai dapat dipotong untuk menghilangkan pengesanan gerakan di daerah yang tidak diinginkan, seperti taman tetangga. Kegagalan untuk melakukan ini akan menyebabkan jiran itu memberi pandangan keliru ke kebun anda kerana penyiram pergi setiap kali dia ingin masuk ke gudangnya.
5, saya mungkin terlepas sesuatu yang jelas dan membuang masa saya mengaturnya seperti ini.
Kod di bawah
import cv2import numpy sebagai np import argparse #cat import time import RPi. GPIO sebagai GPIO import os import dropbox dari picamera.array import PiRGBArray dari picamera import PiCamera # ------------------ ------------------------------ Muat naik ke 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) cetak ("Mengambil Video") cubalah: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Upload ke cetakan youtube ("Memuat naik ke YouTube") os. sistem ('sudo youtube-upload --title = "Cat Got Wet {0}" --client-secret = client_secret.json vid {0}.h264'.format (vidname)) #Keluarkan fail video apabila selesai os.remove ('vid {0}.h264'.format (vidname)) cetak ("Video dimuat dan dikeluarkan dari Pi") kecuali: lulus # -------------------- ---------------------------- Stills to dropbox ------------------- -------------------- def St illsToDropbox (): print ("Uploading To To Dropbox Function") access_token = 'Ah ah ah, anda tidak mengatakan perkataan ajaib … Ah ah ah, anda tidak mengatakan perkataan ajaib' ctime = time.strftime (" % H:% M:% S ") cdate = time.strftime ("% d-% m-% Y ") cuba: nama fail =" / Gerakan/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (nama file) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (nama fail, gambar) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
Langkah 4: Menyatukannya
Masukkan elektrik ke perumahan kalis air, masukkan benda ke dinding dan gunakan banyak pita saluran dan gam panas
Langkah 5: Hasil
Apabila ia berfungsi, ia berfungsi
Langkah 6: Positif Palsu
Apabila tidak, ia menyemburkan bayangan kucing, isteri dan anak perempuan anda.
Pro-tip - Letakkan suis di pintu yang menghentikan program pengesanan gerakan….. kemudian lupa menggunakannya dan rendam ketika membuang tong keluar.
Mudah-mudahan saya membuat pakar dalam pengaturcaraan, elektronik dan DIY dengan semua kesilapan yang mungkin saya buat, dan terutamanya berharap anda menikmati semua kesalahan ejaan saya.
Disyorkan:
Meretas Hexbug Spider XL untuk Menambah Penglihatan Komputer Menggunakan Telefon Pintar Android: 9 Langkah (dengan Gambar)
Meretas Hexbug Spider XL untuk Menambah Visi Komputer Menggunakan Telefon Pintar Android: Saya peminat besar Hexbug & perdagangan asal; Labah-labah. Saya telah memiliki lebih daripada selusin dan menggodam semuanya. Bila-bila masa salah seorang anak lelaki saya pergi ke rakan ’ pesta ulang tahun, rakan mendapat Hexbug ™ labah-labah sebagai hadiah. Saya telah menggodam atau
Pengiktirafan Bintang Menggunakan Penglihatan Komputer (OpenCV): 11 Langkah (dengan Gambar)
Pengiktirafan Bintang Menggunakan Penglihatan Komputer (OpenCV): Instruksional ini akan menerangkan kepada anda bagaimana membuat program penglihatan komputer untuk mengenal pasti corak bintang dalam gambar secara automatik. Kaedah ini menggunakan perpustakaan OpenCV (Open-Source Computer Vision) untuk membuat satu set lata HAAR terlatih yang dapat
Menggunakan Penglihatan Sonar, Lidar, dan Komputer pada Mikrokontroler untuk Membantu Orang-orang yang Gangguan Penglihatan: 16 Langkah
Menggunakan Sonar, Lidar, dan Penglihatan Komputer pada Pengawal Mikro untuk Membantu Orang-orang yang Bermasalah Penglihatan: Saya ingin membuat ‘tongkat’ pintar yang dapat membantu orang-orang dengan masalah penglihatan jauh lebih banyak daripada penyelesaian yang ada. Tebu akan dapat memberitahu pengguna objek di depan atau di sisi dengan membuat bunyi di headphon jenis bunyi sekeliling
SIR (Penglihatan Gangguan Penglihatan): 4 Langkah
SIR (Sight Impairment Replicators): Sight Impairment Replicators (SIR) adalah cara bagi orang yang mengalami masalah penglihatan untuk mengetahui bagaimana kebutaan mereka akan mempengaruhi mereka di masa depan. Googles seharusnya dapat menyekat semua cahaya dan mewujudkan kegelapan yang hampir sempurna untuk digunakan
Kerusi Roda Terkawal Penglihatan Komputer Dengan Manekin: 6 Langkah (dengan Gambar)
Komputer Roda Berkendali Roda Dengan Manekin: Projek oleh AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. Disusun oleh AJ Sapala, Fanyun Peng, Ray LC. Kami membuat kerusi roda dengan roda yang dikendalikan oleh papan Arduino, yang seterusnya dikendalikan oleh raspberry pi menjalankan openCV melalui Pemprosesan