Πίνακας περιεχομένων:

Cat-a-way-Computer Vision Cat Sprinkler: 6 βήματα (με εικόνες)
Cat-a-way-Computer Vision Cat Sprinkler: 6 βήματα (με εικόνες)

Βίντεο: Cat-a-way-Computer Vision Cat Sprinkler: 6 βήματα (με εικόνες)

Βίντεο: Cat-a-way-Computer Vision Cat Sprinkler: 6 βήματα (με εικόνες)
Βίντεο: Η ΣΙΝΤΕΡΕΛΑ ΚΑΝΕΙ ΤΑΤΟΥ ΣΕ ΚΡΥΦΟ ΣΗΜΕΙΟ 2024, Νοέμβριος
Anonim
Cat-a-way-Computer Vision Cat Sprinkler
Cat-a-way-Computer Vision Cat Sprinkler

Πρόβλημα - Οι γάτες χρησιμοποιούν τον κήπο σας ως τουαλέτα

Λύση - Ξοδέψτε πάρα πολύ χρόνο για να σχεδιάσετε έναν ψεκαστήρα γάτας με δυνατότητα αυτόματης μεταφόρτωσης στο YouTube

Αυτό δεν είναι βήμα προς βήμα, αλλά μια επισκόπηση της κατασκευής και κάποιου κώδικα

#BeforeYouCallPETA - Οι γάτες είναι μια χαρά, είναι ένας ψεκαστήρας χαμηλής πίεσης ακριβώς όπως η βροχή, που μπορούν να ξεπεράσουν πριν ακόμη στριφογυρίσει γύρω τους. Το έργο δεν είναι να μουλιάσουν μια γάτα, αλλά να την απομακρύνουν πριν σκουπίσουν τον κήπο μου με τη γάτα έκδοση του Barkers Eggs.

Βήμα 1: Απαιτούνται κύρια στοιχεία

Απαιτούνται κύρια στοιχεία
Απαιτούνται κύρια στοιχεία

Raspberry Pi zero & SD card

Κάμερα Raspberry Pi

Αναμετάδοση

Χρονόμετρο 555…. (ή ένα arduino και ένα άλλο ρελέ αν δεν φτάσουν τα 555 χρονόμετρα)

Ηλεκτρομαγνητική βαλβίδα

Ψεκαστήρας

Κάποιο είδος περιβλήματος για τα ηλεκτρονικά

Μια προθυμία να χτυπήσει ένα μεταφορικό καρφί με ένα σφυρί έλκηθρο 6 τόνων

Μια κάμερα με τόσο μικρή ανάλυση που μόλις βλέπεις το νερό, αλλά μπορείς ακόμα να δεις τις γάτες να τρέχουν για κάλυψη

Βήμα 2: Το σύστημα

Image
Image

1, Η κάμερα Pi ανιχνεύει ένα αντικείμενο μεγέθους γάτας που κινείται για μερικά καρέ κάμερας (εξηγείται στο επόμενο βήμα)

2, ο Πι ξεκινά τον ψεκαστήρα

3, Η γάτα τρέχει για κάλυψη

4, Βίντεο που ανεβαίνει αυτόματα στο youtube για ευχάριστη προβολή

Βήμα 3: Χρόνος κωδικοποίησης

Το βάζουμε μαζί
Το βάζουμε μαζί

Χρησιμοποιώντας το openCV χρησιμοποιώντας την αφαίρεση πλαισίου, μπορείτε να βρείτε περιοχές του πλαισίου που αλλάζουν με την πάροδο του χρόνου, χρησιμοποιώντας μερικές έξυπνες συναρτήσεις μπορείτε να καταλάβετε πόσο μεγάλες είναι αυτές οι αλλαγές και εάν επιμένουν με την πάροδο του χρόνου και το πιο σημαντικό να μάθετε εάν έχουν μέγεθος γάτας.

Υπάρχουν αρκετά σεμινάρια σχετικά με την αφαίρεση πλαισίων που αναλύονται πολύ αν κάνετε μια γρήγορη αναζήτηση στο Google.

Επισκόπηση του τρόπου λειτουργίας του κώδικα

1, Η κάμερα συνεχίζει να παίρνει καρέ και να τα συγκρίνει με τα τελευταία

2, Εάν εντοπιστεί σχήμα μεγέθους γάτας, σημειώνεται

3, Εάν η αλλαγή μεγέθους γάτας επιμένει σε περίπου 4 καρέ, το pi χρησιμοποιεί το GPIO του για να ενεργοποιήσει το ρελέ για να ξεκινήσει το arduino

4, Το arduino στέλνει ένα σήμα για να τροφοδοτήσει το δεύτερο ρελέ για 5 δευτερόλεπτα, το οποίο ενεργοποιεί το σωληνοειδές

5, Η ηλεκτρομαγνητική βαλβίδα όταν τροφοδοτείται επιτρέπει το νερό στον ψεκαστήρα

6, Ενώ ο ψεκαστήρας είναι ενεργός, η κάμερα σταματά να ανιχνεύει και καταγράφει βίντεο

7, Το βίντεο ανεβαίνει στο Youtube

8, Stills μεταφορτώθηκε στο dropbox για σύστημα λεπτού συντονισμού

Σημείωση - Γιατί κατέληξα να χρησιμοποιώ 2 ρελέ και ένα arduino για να ενεργοποιήσω μια ηλεκτρομαγνητική βαλβίδα για 5 δευτερόλεπτα…..

1, Το pi δεν μπορεί να ξεκινήσει και να σταματήσει την ηλεκτρομαγνητική βαλβίδα κατά την εγγραφή του βίντεο, καθώς το scrups του python σταματά μέχρι να τελειώσει το βίντεο, επομένως η ανάγκη για το arduino (ή το χρονόμετρο 555) να επιτρέψει στο σωληνοειδές να ανοίγει και να κλείνει ανεξάρτητα από το σενάριο ενώ βίντεο εξακολουθεί να εγγράφεται.

2, Το πρώτο ρελέ και το arduino μπορούν να αντικατασταθούν με ένα χρονόμετρο 555 αλλά αυτό δεν ήρθε εγκαίρως στη θέση για αυτό το έργο, το 555 θα εξοικονομούσε πολύ χρόνο και χρήματα.

3, Το pi δεν μπορεί να ενεργοποιήσει το σωληνοειδές απευθείας, καθώς το Pi GPIO λειτουργεί σε μέγιστο 3,3v και 51mA και το ηλεκτρομαγνητικό βύσμα θέλει 5V και πολύ περισσότερα από 51mA για ενεργοποίηση.

4, Κάθε πλαίσιο μπορεί να περικοπεί για να αφαιρέσει την ανίχνευση κίνησης σε ανεπιθύμητες περιοχές, όπως έναν κήπο γειτόνων. Η αποτυχία να γίνει αυτό θα έχει ως αποτέλεσμα ο εν λόγω γείτονας να δίνει μπερδεμένα βλέμματα στον κήπο σας επειδή ο ψεκαστήρας σβήνει κάθε φορά που θέλει να μπει στο υπόστεγο του.

5, Μάλλον έχασα κάτι προφανές και έχασα τον χρόνο μου για να το στήσω έτσι.

Κωδικός παρακάτω

εισαγωγή cv2import numpy ως np import argparse #cat time import import RPi. GPIO as GPIO import os import dropbox from picamera.array import PiRGBArray from picamera import PiCamera #------------------ ------------------------------ Μεταφόρτωση στο 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") δοκιμάστε: #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 = "Η γάτα βρέχθηκε {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Αφαίρεση αρχείου βίντεο όταν τελειώσει os.remove ('vid {0}.h264'.format (vidname)) εκτύπωση ("Το βίντεο ανέβηκε και αφαιρέθηκε από το Pi") εκτός από: πάσο #-------------------- ----------------------------- Παραμένει στο dropbox ------------------- -------------------- def St illsToDropbox (): print ("Uploading Still To Dropbox Function") access_token = 'Αχ αχ, δεν είπες τη μαγική λέξη … Αχ αχ αχ, δεν είπες τη μαγική λέξη' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (όνομα αρχείου) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (όνομα αρχείου, εικόνα) image.close () os.remove ("ToDropbox-j.webp

#HowToTriggerRealProgrammersWithBadCode

Βήμα 4: Το βάζουμε μαζί

Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί

Στριμώξτε τα ηλεκτρικά σε ένα αδιάβροχο περίβλημα, βιδώστε τα πράγματα σε τοίχους και χρησιμοποιήστε πολλές κολλητικές ταινίες και ζεστή κόλλα

Βήμα 5: Αποτελέσματα

Image
Image
Αποτελέσματα
Αποτελέσματα

Όταν λειτουργεί λειτουργεί

Βήμα 6: seευδώς θετικά

Seευδώς θετικά
Seευδώς θετικά

Όταν δεν ψεκάζει σκιές γάτας, τη γυναίκα σας και την κόρη σας.

Συμβουλή - Βάλτε έναν διακόπτη στην πόρτα που κάνει παύση του προγράμματος ανίχνευσης κίνησης….. στη συνέχεια ξεχάστε να τον χρησιμοποιήσετε και μούσκεμα όταν βάζετε τους κάδους έξω.

Ελπίζω να έκανα εμπειρογνώμονες στον προγραμματισμό, την ηλεκτρονική και το DIY με όλα τα λάθη που πιθανότατα έκανα, και ιδιαίτερα ελπίζω να απολαύσατε όλα τα ορθογραφικά λάθη μου.

Συνιστάται: