
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49

Masalah - Kucing menggunakan kebun Anda sebagai toilet
Solusi - Luangkan terlalu banyak waktu untuk merancang alat penyiram kucing dengan fitur unggah youtube otomatis
Ini bukan langkah demi langkah, tetapi ikhtisar konstruksi dan beberapa kode
#BeforeYouCallPETA - Kucing-kucing itu baik-baik saja, ini adalah alat penyiram bertekanan rendah seperti hujan, yang dapat mereka lari lebih cepat bahkan sebelum berputar ke arah mereka. Proyek ini bukan untuk merendam kucing, tetapi untuk membuangnya sebelum mereka mengotori kebun saya dengan Telur Barkers versi kucing.
Langkah 1: Item Utama Diperlukan

Raspberry Pi nol & kartu SD
Kamera Raspberry Pi
Menyampaikan
555 pengatur waktu…. (atau arduino dan relai lain jika penghitung waktu 555 Anda tidak tiba)
solenoida
Alat penyiram
Beberapa jenis perumahan untuk elektronik
Kesediaan untuk memukul paku metafora dengan palu godam 6 ton
Kamera dengan resolusi yang sangat kecil sehingga Anda hampir tidak dapat melihat air, tetapi masih dapat melihat kucing-kucing berlarian untuk berlindung
Langkah 2: Sistem


1, kamera Pi mendeteksi objek berukuran kucing yang bergerak untuk beberapa bingkai kamera (dijelaskan pada langkah berikutnya)
2, Pi menyalakan alat penyiram
3, Kucing berlari untuk berlindung
4, Video secara otomatis diunggah ke youtube untuk kesenangan menonton
Langkah 3: Waktu Pengkodean

Menggunakan openCV menggunakan pengurangan bingkai Anda dapat menemukan area bingkai yang berubah dari waktu ke waktu, menggunakan beberapa fungsi bagus Anda dapat mengetahui seberapa besar perubahan ini dan apakah mereka bertahan dari waktu ke waktu, dan yang paling penting mengetahui apakah mereka berukuran kucing.
Ada beberapa tutorial tentang pengurangan bingkai yang sangat detail jika Anda melakukan pencarian google cepat.
Ikhtisar tentang cara kerja kode
1, Kamera terus mengambil bingkai dan membandingkannya dengan yang terakhir
2, Jika bentuk seukuran kucing terdeteksi, dicatat
3, Jika perubahan ukuran kucing berlanjut selama sekitar 4 frame, pi menggunakan GPIO-nya untuk menyalakan relai untuk memulai arduino
4, Arduino mengirimkan sinyal untuk menyalakan relai kedua selama 5 detik yang mengaktifkan solenoida
5, Solenoid saat dinyalakan memungkinkan air ke sprinkler
6, Saat sprinkler aktif, kamera berhenti mendeteksi dan merekam video
7, Video diunggah ke Youtube
8, Stills diunggah ke dropbox untuk sistem fine tuning
Catatan - Mengapa saya akhirnya menggunakan 2 relay dan arduino untuk menyalakan solenoid selama 5 detik…..
1, pi tidak dapat memulai dan menghentikan solenoida saat merekam video karena skrip python berhenti hingga video selesai, oleh karena itu perlunya arduino (atau timer 555) untuk memungkinkan solenoida membuka dan menutup secara independen ke skrip sementara video masih merekam.
2, Relay pertama dan arduino dapat diganti dengan timer 555 tapi itu tidak datang tepat waktu untuk proyek ini, 555 akan menghemat banyak waktu, uang dan langkah.
3, Pi tidak dapat memicu solenoid secara langsung karena Pi GPIO bekerja pada 3.3v dan 51mA max, dan solenoid menginginkan 5V dan lebih dari 51mA untuk dipicu.
4, Setiap bingkai dapat dipotong untuk menghilangkan deteksi gerakan di area yang tidak diinginkan, seperti taman tetangga. Kegagalan untuk melakukan ini akan mengakibatkan tetangga tersebut memberikan pandangan bingung ke kebun Anda karena sprinkler berbunyi setiap kali dia ingin masuk ke gudangnya.
5, saya mungkin melewatkan sesuatu yang jelas dan membuang waktu saya untuk mengaturnya seperti ini.
Kode di bawah ini
impor cv2import numpy sebagai np impor argparse #cat impor waktu impor RPi. GPIO sebagai GPIO impor os impor dropbox dari picamera.array impor PiRGArray dari picamera impor PiCamera #------------------ ------------------------------Unggah ke youtube----------------- ---------------------- def HDtoYoutube(): ctime = time.strftime("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Pemicu relai GPIO.output(11, True) time.sleep(.5) GPIO.output(11, False) print("Mengambil Video") coba: #Ambil Video os.system('raspivid -w 1640 -h 922 -o vid{0}.h264 -t 15000'.format(vidname)) #Unggah ke youtube print("Mengunggah ke YouTube") os. system('sudo youtube-upload --title="Cat Got Wet {0}" --client-secrets=client_secret.json vid{0}.h264'.format(vidname)) #Hapus file video saat selesai os.remove ('vid{0}.h264'.format(vidname)) print("Video diunggah dan dihapus dari Pi") kecuali: pass #-------------------- ----------------------------Masih ke dropbox------------------- -------------------- def St illsToDropbox(): print("Mengunggah Masih Ke Fungsi Dropbox") access_token = 'Ah ah ah, Anda tidak mengucapkan kata ajaib…Ah ah ah, Anda tidak mengucapkan kata ajaib' ctime = time.strftime(" %H:%M:%S") cdate = time.strftime("%d-%m-%Y") coba: nama file = "/Motion/{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 file, gambar) image.close() os.remove("ToDropbox.jpg") kecuali: lulus #------------------------------------------ ------Deteksi gerakan------------------------------------------ def DetectMotion(): #Define vars min_area = 400 tolarance = 25 #perubahan pixel bluramount = 21 timetoforget = 0.5 kernel = np.ones((5, 5), np.uint8) #digunakan untuk memutar MotionCounter = 0 MinTargetArea = 600 # ukuran terkecil untuk dideteksi MaxTargetArea = 5000 #Ukuran terbesar untuk dideteksi sekarang = time.time() lalu = time.time() #inisialisasi kamera kamera = PiCamera() camera.resolusi = (640, 480) camera.framerate = 10 mentah Capture = PiRGBArray(camera, size=(640, 480)) #warmup camera time.sleep(1) #Ambil frame pertama & persiapkan untuk masuk ke cv2.acumulate weight camera.capture(rawCapture, format="bgr") rata-rata = rawCapture.array #Memotong wilayah yang tidak diinginkan PolyCrop = np.array(
#HowToTriggerRealProgrammersWithBadCode
Langkah 4: Menyatukannya



Jepitkan listrik ke dalam rumah tahan air, kencangkan benda-benda ke dinding dan gunakan banyak selotip dan lem panas
Langkah 5: Hasil



Ketika bekerja itu berhasil
Langkah 6: Positif Palsu

Ketika tidak menyemprotkan bayangan kucing, istri Anda dan putri Anda.
Pro-tip - Letakkan sakelar di dekat pintu yang menghentikan program pendeteksi gerakan….. lalu lupa menggunakannya dan basah kuyup saat membuang tempat sampah.
Semoga saya membuat ahli pemrograman, elektronik, dan DIY merasa ngeri dengan semua kesalahan yang mungkin saya buat, dan terutama harap Anda menikmati semua kesalahan ejaan saya.
Direkomendasikan:
Night Vision Goggles untuk Google Cardboard: 10 Langkah (dengan Gambar)

Kacamata Penglihatan Malam untuk Google Karton: Penafian: Penggunaan perangkat ini dimaksudkan untuk hiburan, pendidikan, dan penggunaan ilmiah saja; bukan untuk mata-mata dan/atau pengawasan. "Gadget mata-mata" fitur ditambahkan ke aplikasi hanya untuk bersenang-senang dan tidak memiliki tujuan praktis untuk
Kamera Night Vision: 16 Langkah (dengan Gambar)

Kamera Penglihatan Malam: Sama seperti Cahaya Eärendil yang memandu Frodo di tempat-tempat gelap, kamera penglihatan malam buatan Anda juga akan menjadi suar pemandu Anda. Baik saat berkemah di hutan bersama teman-teman, menangkap sekilas troll Skandinavia yang sulit dipahami, atau saat
Sad Cat Fixer, Catch-Me Cat Toy - Proyek Sekolah: 3 Langkah

Sad Cat Fixer, Catch-Me Cat Toy - Proyek Sekolah: Ini adalah produk kami, Ini adalah mouse mainan interaktif: Catch-Me Cat Toy. Berikut adalah daftar masalah yang dihadapi banyak kucing di masyarakat kita: Kucing akhir-akhir ini menjadi tidak aktif dan tertekan tanpa melakukan apa-apaSebagian besar pemilik sibuk dengan pekerjaan atau sekolah dan
Bangun Sprinkler yang Diaktifkan dari Jarak Jauh Menggunakan PiFace dan Ubidots: 13 Langkah

Bangun Sprinkler yang Diaktifkan dari Jarak Jauh Menggunakan PiFace dan Ubidots: Ini adalah contoh keren yang mengajarkan Anda cara menggunakan Raspberry Pi, PiFace, dan Ubidots untuk menyirami taman Anda dari jauh. Anda akan dapat mengontrol katup listrik dari jarak jauh untuk menyirami tanaman Anda dari mana saja, hanya menggunakan ponsel Anda
Pembuatan: Een Mini Sprinkler Meting (groep 12): 8 Langkah

Pembuatan: Een Mini Sprinkler Meting (groep 12): Groep 12Noortje Romeijn 4651464Milton Fox 4652622Deze Instructable adalah pintu geschreven Milton Fox (mahasiswa Maritieme Techniek, TU Delft) dan Noortje Romeijn (mahasiswa Civiele Techniek, TU Delft). Allebei volgen we de civiele minor 'De delta denker, wa