Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούνται κύρια στοιχεία
- Βήμα 2: Το σύστημα
- Βήμα 3: Χρόνος κωδικοποίησης
- Βήμα 4: Το βάζουμε μαζί
- Βήμα 5: Αποτελέσματα
- Βήμα 6: seευδώς θετικά
Βίντεο: Cat-a-way-Computer Vision Cat Sprinkler: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Πρόβλημα - Οι γάτες χρησιμοποιούν τον κήπο σας ως τουαλέτα
Λύση - Ξοδέψτε πάρα πολύ χρόνο για να σχεδιάσετε έναν ψεκαστήρα γάτας με δυνατότητα αυτόματης μεταφόρτωσης στο YouTube
Αυτό δεν είναι βήμα προς βήμα, αλλά μια επισκόπηση της κατασκευής και κάποιου κώδικα
#BeforeYouCallPETA - Οι γάτες είναι μια χαρά, είναι ένας ψεκαστήρας χαμηλής πίεσης ακριβώς όπως η βροχή, που μπορούν να ξεπεράσουν πριν ακόμη στριφογυρίσει γύρω τους. Το έργο δεν είναι να μουλιάσουν μια γάτα, αλλά να την απομακρύνουν πριν σκουπίσουν τον κήπο μου με τη γάτα έκδοση του Barkers Eggs.
Βήμα 1: Απαιτούνται κύρια στοιχεία
Raspberry Pi zero & SD card
Κάμερα Raspberry Pi
Αναμετάδοση
Χρονόμετρο 555…. (ή ένα arduino και ένα άλλο ρελέ αν δεν φτάσουν τα 555 χρονόμετρα)
Ηλεκτρομαγνητική βαλβίδα
Ψεκαστήρας
Κάποιο είδος περιβλήματος για τα ηλεκτρονικά
Μια προθυμία να χτυπήσει ένα μεταφορικό καρφί με ένα σφυρί έλκηθρο 6 τόνων
Μια κάμερα με τόσο μικρή ανάλυση που μόλις βλέπεις το νερό, αλλά μπορείς ακόμα να δεις τις γάτες να τρέχουν για κάλυψη
Βήμα 2: Το σύστημα
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: Αποτελέσματα
Όταν λειτουργεί λειτουργεί
Βήμα 6: seευδώς θετικά
Όταν δεν ψεκάζει σκιές γάτας, τη γυναίκα σας και την κόρη σας.
Συμβουλή - Βάλτε έναν διακόπτη στην πόρτα που κάνει παύση του προγράμματος ανίχνευσης κίνησης….. στη συνέχεια ξεχάστε να τον χρησιμοποιήσετε και μούσκεμα όταν βάζετε τους κάδους έξω.
Ελπίζω να έκανα εμπειρογνώμονες στον προγραμματισμό, την ηλεκτρονική και το DIY με όλα τα λάθη που πιθανότατα έκανα, και ιδιαίτερα ελπίζω να απολαύσατε όλα τα ορθογραφικά λάθη μου.
Συνιστάται:
Επιμονή του προσωπικού LED Vision: 11 βήματα (με εικόνες)
Επιμονή του προσωπικού LED της όρασης: Είναι γνωστό ότι ακόμη και μετά το σβήσιμο του φωτός, το ανθρώπινο μάτι διατηρεί " βλέπει " αυτό για ένα κλάσμα του δευτερολέπτου. Αυτό είναι γνωστό ως Persistence of Vision ή POV και επιτρέπει σε κάποιον να " χρωματίσει " εικόνες μετακινώντας γρήγορα μια λωρίδα
Raspberry PI Vision Processor (SpartaCam): 8 βήματα (με εικόνες)
Raspberry PI Vision Processor (SpartaCam): Ένα σύστημα επεξεργαστή Raspberry PI για το ρομπότ FIRST Robotics Competition. Σχετικά με το FIRSTΑπό τη Wikipedia, η δωρεάν εγκυκλοπαίδεια https://en.wikipedia.org/wiki/FIRST_Robotics_Compe..Ο ΠΡΩΤΟΣ Διαγωνισμός Ρομποτικής (FRC) είναι διεθνής σχολή
Persistence of Vision Fidget Spinner: 8 βήματα (με εικόνες)
Persistence of Vision Fidget Spinner: Πρόκειται για ένα fidget spinner που χρησιμοποιεί το εφέ Persistence of Vision, το οποίο είναι μια οπτική ψευδαίσθηση, όπου πολλαπλές διακριτές εικόνες αναμειγνύονται σε μια εικόνα στο ανθρώπινο μυαλό. Το κείμενο ή τα γραφικά μπορούν να αλλάξουν μέσω συνδέσμου Bluetooth Low Energy χρησιμοποιώντας ένα Π
Sad Cat Fixer, Catch -Me Cat Toy - School Project: 3 Βήματα
Sad Cat Fixer, Catch-Me Cat Toy-School Project: Εδώ είναι το προϊόν μας, Είναι ένα διαδραστικό ποντίκι παιχνιδιών: Catch-Me Cat Toy. Ακολουθεί μια λίστα με τα προβλήματα που αντιμετωπίζουν πολλές γάτες στην κοινωνία μας: Οι γάτες αυτές τις μέρες γίνονται ανενεργές και καταθλιπτικές χωρίς τίποτα να κάνουν Οι περισσότεροι ιδιοκτήτες είναι απασχολημένοι με τη δουλειά ή το σχολείο και το
The Making Of: Een Mini Sprinkler Meting (groep 12): 8 Βήματα
The Making Of: Een Mini Sprinkler Meting (groep 12): Groep 12Noortje Romeijn 4651464Milton Fox 4652622Deze Instructable is geschreven door Milton Fox (student Maritieme Techniek, TU Delft) en Noortje Romeijn (studente Civiele Techniek), Allebei volgen we de civiele minor 'De delta denker, wa