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

Bird Feeder Monitor: 7 βήματα (με εικόνες)
Bird Feeder Monitor: 7 βήματα (με εικόνες)

Βίντεο: Bird Feeder Monitor: 7 βήματα (με εικόνες)

Βίντεο: Bird Feeder Monitor: 7 βήματα (με εικόνες)
Βίντεο: EDCM-ΠΒ04-Διαχείριση Περιβάλλοντος-7-5-2016-Κ.Παπασπυρόπουλος 2024, Ιούλιος
Anonim
Οθόνη τροφοδότη πουλιών
Οθόνη τροφοδότη πουλιών

Αυτό είναι ένα έργο για την παρακολούθηση του αριθμού των πτηνών που επισκέπτονται τον τροφοδότη πουλιών μου, καθώς και την καταγραφή του χρόνου που δαπανάται για τη σίτιση. Χρησιμοποίησα ένα Arduino Yún και έναν χωρητικό αισθητήρα αφής, Adafruit CAP1188, για να εντοπίσω και να καταγράψω τη διατροφή των πουλιών. Σε τακτική βάση, τα συσσωρευμένα δεδομένα αποστέλλονται σε ένα υπολογιστικό φύλλο των Εγγράφων Google για να καταγράψουν τον αριθμό και τον χρόνο που ξοδεύουν τα πουλιά που επισκέπτονται τον τροφοδότη.

Τα δεδομένα διαβιβάζονται μόνο κατά τη διάρκεια μιας καθορισμένης χρονικής περιόδου πριν από την ανατολή και μετά τη δύση του ήλιου.

Βήμα 1: Μέρη

Ανταλλακτικά
Ανταλλακτικά

Αυτά είναι μια λίστα με τα μέρη που χρησιμοποίησα για τη συναρμολόγηση του έργου μου. Θα μπορούσατε να χρησιμοποιήσετε μια ποικιλία πλαισίων έργου για να δημιουργήσετε το έργο σας, αλλά αυτά είναι τα στοιχεία που είχα στο χέρι εκείνη τη στιγμή.

1 6x3x2 "Project Enclosure1 3x2x1" Project Enclosure1 roll 1/4 "Copper Foil Tape1 CAP1188 8-Key Capacitive Touch Sensor1 Arduino Yun1 micro-SD card2 DB-9 male connectors2 DB-9 θηλυκές υποδοχές1 Bird Feeder (CedarWorks Plastic Hopper 1 Bird Feeded) Υποδοχή Tail Light από κατάστημα προμηθειών αυτοκινήτων

Βήμα 2: Καλωδίωση

Καλωδίωση
Καλωδίωση

Το Arduino Yun και το CAP1188 είναι ενσύρματα για να παρέχουν σκληρή επαναφορά του αισθητήρα κατά την εκκίνηση. Υπάρχουν και άλλοι χωρητικοί αισθητήρες αφής διαθέσιμοι με έναν, πέντε ή οκτώ αισθητήρες. Επέλεξα οκτώ επειδή ο τροφοδότης πουλιών μου έχει έξι πλευρές.

Καλωδίωση:

CAP1188 SDA == Yún Digital 2 CAP1188 SCK == Yún Digital 3 CAP1188 RST == Yún Digital 9 CAP1188 VIN == Yún 3.3V ή 5V CAP1188 GND == Yún GND CAP1188 C1-C8 == Συνδέστε καλώδια σε κάθε πέρκα

Η τροφοδοσία του Arduino παρέχεται εξωτερικά, περνώντας ένα καλώδιο υπόγεια από το γκαράζ μου και προς τα πάνω μέσω του σωλήνα που χρησιμοποιείται ως βάση τροφοδοσίας πουλιών. Το καλώδιο συνδέθηκε με τροφοδοτικό 5 VDC στο γκαράζ. Αυτό το έργο πρέπει να λειτουργεί με μπαταρίες, αλλά δεν ήθελα την ταλαιπωρία της αλλαγής μπαταριών σε ρουτίνα.

Κατασκεύασα ένα καλώδιο μήκους 16 με βύσματα DB-9 και στα δύο άκρα για να συνδέσω το Project Box με το Arduino Yun και το κουτί που περιέχει το CAP1188. Ο χωρητικός αισθητήρας πρέπει να βρίσκεται όσο το δυνατόν πιο κοντά στις κούρνιες.

Βήμα 3: Εγκατάσταση πακέτων και σεναρίων Python

Το CAP1188 απαιτεί τη λήψη και εγκατάσταση των βιβλιοθηκών για αυτόν τον αισθητήρα. Μπορείτε να βρείτε τη βιβλιοθήκη στον ακόλουθο ιστότοπο:

github.com/adafruit/Adafruit_CAP1188_Library/archive/master.zip

Οδηγίες για την εγκατάσταση της βιβλιοθήκης και παραδείγματα βρίσκονται σε ένα αρχείο README.txt μέσα στο zip container.

Αυτό το πρόγραμμα παρακολουθεί την ανατολή και τη δύση του ηλίου για τη συγκεκριμένη τοποθεσία σας και ξεκινά την καταμέτρηση και το χρονοδιάγραμμα σε μια καθορισμένη ώρα πριν από την ανατολή του ηλίου και για ίσο χρονικό διάστημα μετά τη δύση του ηλίου. Πριν και μετά από αυτό το διάστημα, δεν αποστέλλονται δεδομένα στο υπολογιστικό φύλλο σας. Αυτό το έργο χρησιμοποιεί ένα σενάριο python για να διαβάσει τις πληροφορίες ανατολής και δύσης του ηλίου από το Yahoo! καιρός κάθε βράδυ ή κατά την εκκίνηση λάβετε αυτές τις ώρες.

Η ακόλουθη βιβλιοθήκη python πρέπει να μεταφορτωθεί και να εγκατασταθεί στο Arduino Yún.

python-weather-apipywapi-https://code.google.com/p/python-weather-api/

Οι οδηγίες εγκατάστασης αυτής της βιβλιοθήκης βρίσκονται στον παραπάνω ιστότοπο.

Σενάρια PythonΤο αναγνωριστικό τοποθεσίας στο σενάριο python «getastonomy.py» πρέπει να τροποποιηθεί ώστε να περιλαμβάνει την τοποθεσία σας. Αυτή τη στιγμή έχει διαμορφωθεί για το Sugar Land, Texas. Ένας τρόπος για να βρείτε το αναγνωριστικό σας είναι να μεταβείτε στον ακόλουθο ιστότοπο:

Κωδικοί Τοποθεσίας Καιρού

Εισαγάγετε την τοποθεσία σας και θα εμφανιστεί το αναγνωριστικό τοποθεσίας σας. Αντικαταστήστε το USTX1312 στη γραμμή του σεναρίου με το αναγνωριστικό τοποθεσίας σας.

αποτέλεσμα = pywapi. get_weather_from_weather_com ('USTX1312')

Αυτό θα επιτρέψει στο σενάριο να φέρει την ανατολή και το ηλιοβασίλεμα για την τοποθεσία σας. Οι οδηγίες για την τροποποίηση του 'sendgdocs.py' βρίσκονται στο Βήμα 6.

Μόλις τροποποιηθούν και τα δύο σενάρια, πρέπει να τα μετακινήσετε στον κατάλογο καρτών micro-SD '/mnt/sda1/' του Arduino Yun.

Βήμα 4: Καλωδίωση του τροφοδότη πουλιών

Καλωδίωση του τροφοδότη πουλιών
Καλωδίωση του τροφοδότη πουλιών
Καλωδίωση του τροφοδότη πουλιών
Καλωδίωση του τροφοδότη πουλιών

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

Σημείωση: Με τον τροφοδότη πουλιών που φαίνεται παραπάνω, συνιστώ ένα κενό μεταξύ των άκρων κάθε λωρίδας φύλλου 1 1/4 " - 1 1/2". Ανακάλυψα ότι τα μεγαλύτερα πουλιά, όπως τα γκρίκια και τα περιστέρια, είναι ικανά να αγγίζουν δύο λωρίδες φύλλου ταυτόχρονα, εάν είναι τοποθετημένα για να κλείνουν μεταξύ τους.

Ένα κομμάτι ξύλου διαμορφώθηκε και κολλήθηκε στο κάτω μέρος του τροφοδότη για να παρέχει μια επίπεδη περιοχή για την τοποθέτηση του Project Box που περιέχει το CAP1188. Η ταινία Velcro εφαρμόστηκε στο Project Box καθώς και στο ξύλινο μπλοκ για να προσφέρουν ένα μέσο στερέωσης.

Για να ξαναγεμίσω τον τροφοδότη πουλιών, αποσυνδέω το ρεύμα από το γκαράζ. Στη συνέχεια, αποσυνδέω το βύσμα DB-9 από το Project Box που είναι προσαρτημένο στο κάτω μέρος του τροφοδότη, το οποίο μου επιτρέπει να σηκώσω τον τροφοδότη από το σωλήνα με το Project Box να είναι ακόμα συνδεδεμένο στο κάτω μέρος. Μόλις ξαναγεμίσει ο τροφοδότης, τον ξαναβάζω στη βάση του σωλήνα. συνδέστε το καλώδιο DB-9. και συνδέστε το ρεύμα.

Βήμα 5: Δημιουργία φόρμας Google Doc

Δημιουργία φόρμας Google Doc
Δημιουργία φόρμας Google Doc

Για να στείλετε δεδομένα ένα υπολογιστικό φύλλο των Εγγράφων Google, πρέπει πρώτα να δημιουργήσετε μια φόρμα με όλα τα απαιτούμενα πεδία. Στο παράδειγμά μου, έχω έξι πεδία «cnt» και έξι πεδία «χρόνου» που είναι ακέραιες εισαγωγές. Για παράδειγμα, τα πεδία ονομάζονται 'cnt1', 'time1', 'cnt2', 'time2' κλπ. Μόλις τελειώσετε με τη φόρμα, κάνετε κλικ στην επιλογή "Προβολή ζωντανής φόρμας" για να δείτε την τελική φόρμα. Κατά την προβολή της φόρμας, κάντε δεξί κλικ στη σελίδα και επιλέξτε "Προβολή πηγής σελίδας". Αναζητήστε και βρείτε όλα τα πεδία "εισαγωγής" HTML στον πηγαίο κώδικα. Σημειώστε το όνομα για καθένα από τα πεδία που καταχωρίσατε στη φόρμα. Αυτές οι πληροφορίες είναι απαραίτητες για τη δημιουργία του σεναρίου σας στο PushingBox.

Βήμα 6: Διαμόρφωση του PushingBox

Διαμόρφωση του PushingBox
Διαμόρφωση του PushingBox
Διαμόρφωση του PushingBox
Διαμόρφωση του PushingBox

Σημειώστε τη διεύθυνση url της φόρμας που δημιουργήσατε προηγουμένως (κατά την προβολή της συμπληρωμένης φόρμας) και αντιγράψτε αυτήν τη διεύθυνση. Θα πρέπει να μοιάζει με αυτήν τη διεύθυνση:

"https://docs.google.com/forms/d/42QRHPzZzI4fdMZdC4…EbF8juE/viewform"

Αυτή η διεύθυνση χρησιμοποιείται για τη δημιουργία της υπηρεσίας PushingBox, εκτός από το ότι πρέπει να τελειώνει με ' /formResponse' αντί για ' /viewform'. Τέλος, φροντίστε να αλλάξετε τη Μέθοδο που χρησιμοποιείται από την Υπηρεσία σε POST.

Για τη δημιουργία ενός σεναρίου στο PushingBox θα απαιτηθούν τα δεδομένα που συγκεντρώθηκαν προηγουμένως από τη φόρμα για καθένα από τα πεδία εισαγωγής. Δημιουργήστε ένα σενάριο τύπου CustomURL όπως φαίνεται στην παραπάνω φωτογραφία. Θα πρέπει να μοιάζει με αυτό:

entry.184762354 = $ cnt1 $ & entry.1970438117 = $ ti… 6352124 = $ cnt6 $ & entry.54370319 = $ time6 $ && υποβολή = Υποβολή

Κάθε καταχώριση πρέπει να ταιριάζει με τα πεδία "cnt" και "time" της φόρμας σας. Τερματίστε τη συμβολοσειρά στα πεδία με '&& submit = Submit' όπως φαίνεται παραπάνω.

Το αναγνωριστικό συσκευής που δημιουργήθηκε με το σενάριό σας θα χρειαστεί στο σενάριο python 'sendgdocs.py' προκειμένου να μεταδώσετε δεδομένα στα Έγγραφα Google μέσω του PushingBox.

Βήμα 7: Τα δεδομένα

Τα δεδομένα
Τα δεδομένα
Τα δεδομένα
Τα δεδομένα

Αυτό το πρόγραμμα έχει διαμορφωθεί αυτήν τη στιγμή για τη συλλογή και αποστολή δεδομένων στα Έγγραφα Google κάθε 20 λεπτά. Αυτό το διάστημα μπορεί εύκολα να τροποποιηθεί μέσα στο σκίτσο

Τα δεδομένα που αποστέλλονται είναι ο «αριθμός» του αριθμού των φορών που ένα πουλί (ή κάποιο άλλο αντικείμενο) αγγίζει το φύλλο χαλκού στην πέρκα. Στέλνει επίσης το συνολικό χρόνο (δευτερόλεπτα) που ένα πουλί άγγιξε τον αισθητήρα κατά τη σίτιση.

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

Έχω δύο τροφοδότες πουλιών, αλλά μόνο ο ένας έχει προσαρτημένη την οθόνη. Επομένως, τα δεδομένα μου υποδεικνύουν ότι λαμβάνω μεταξύ 1, 000 και 1, 400 μετρήσεων μεταξύ επαναπλήρωσης και η χωρητικότητα του τροφοδότη είναι 6 κιλά. Ωστόσο, μερικοί από αυτούς τους αριθμούς είναι διπλοί, ως αποτέλεσμα των πτηνών να αγκαλιάζουν περισσότερες από μία πέρκες. Σε κάθε περίπτωση, ήταν διασκεδαστικό να παρακολουθείς τον τροφοδότη και να εξετάζεις τα δεδομένα.

Συνιστάται: