Talaan ng mga Nilalaman:

Bird Feeder Monitor: 7 Hakbang (na may Mga Larawan)
Bird Feeder Monitor: 7 Hakbang (na may Mga Larawan)

Video: Bird Feeder Monitor: 7 Hakbang (na may Mga Larawan)

Video: Bird Feeder Monitor: 7 Hakbang (na may Mga Larawan)
Video: The Netvue Birdfy Smart Ai Bird Feeder - The Future Of Bird Feeding! 2024, Hulyo
Anonim
Monitor ng Tagapakain ng Ibon
Monitor ng Tagapakain ng Ibon

Ito ay isang proyekto upang subaybayan ang bilang ng mga ibon na bumibisita sa aking bird feeder, pati na rin naitala ang dami ng oras na ginugol sa pagpapakain. Gumamit ako ng isang Arduino Yún at isang capacitive touch sensor, Adafruit CAP1188, upang makita at maitala ang mga nagpapakain ng mga ibon. Sa isang regular na batayan, ang naipon na data ay ipinapadala sa isang spreadsheet ng Google Docs upang maitala ang bilang at oras na ginugol ng mga ibong dumadalaw sa feeder.

Ang data ay ipinapadala lamang sa isang itinakdang tagal ng oras bago sumikat at pagkatapos ng paglubog ng araw.

Hakbang 1: Mga Bahagi

Mga Bahagi
Mga Bahagi

Ito ang isang listahan ng mga bahagi na ginamit ko upang tipunin ang aking proyekto. Maaari kang gumamit ng iba't ibang mga kahon ng proyekto upang likhain ang iyong proyekto, ngunit ito ang mga item na nasa kamay ko noon.

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 female konektor1 Bird feeder (CedarWorks Plastic Hopper Bird Feeder) 1 Tail Light konektor mula sa automotiw na tindahan ng suplay

Hakbang 2: Mga kable

Kable
Kable

Ang Arduino Yun at ang CAP1188 ay naka-wire upang magbigay ng isang hard reset ng sensor sa pagsisimula. Mayroong iba pang mga capacitive touch sensor na magagamit sa alinman sa isa, lima o walong sensor. Pinili ko ang walo dahil ang aking bird feeder ay may anim na panig.

Mga kable:

CAP1188 SDA == Yún Digital 2 CAP1188 SCK == Yún Digital 3 CAP1188 RST == Yún Digital 9 CAP1188 VIN == Yún 3.3V o 5V CAP1188 GND == Yún GND CAP1188 C1-C8 == Kumonekta sa mga wires sa bawat perch

Ang kapangyarihan para sa Arduino ay ibinigay sa labas, sa pamamagitan ng pagpapatakbo ng isang wire sa ilalim ng lupa mula sa aking garahe, at pataas sa pamamagitan ng tubo na ginamit bilang tagatayo ng bird feeder. Ang kawad ay konektado sa isang 5-VDC power supply sa garahe. Ang proyektong ito ay dapat na gumana sa mga baterya, ngunit hindi ko nais ang abala ng pagbabago ng mga baterya sa isang regular na batayan.

Nagtayo ako ng isang 16 mahabang kable na may mga konektor ng DB-9 sa magkabilang dulo upang ikonekta ang Project Box sa Arduino Yun at ang kahon na naglalaman ng CAP1188. Ang capacitive sensor ay kailangang matagpuan sa malapit sa perches hangga't maaari.

Hakbang 3: Pag-install ng Mga Pakete at Script ng Python

Kinakailangan ng CAP1188 na mag-download at mag-install ng mga aklatan para sa sensor na ito. Ang library ay matatagpuan sa sumusunod na site:

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

Ang mga tagubilin para sa pag-install ng library at mga halimbawa ay matatagpuan sa isang file na README.txt sa loob ng zip container.

Sinusubaybayan ng program na ito ang pagsikat at paglubog ng araw para sa iyong tukoy na lokasyon, at nagsisimulang pagbibilang at tiyempo sa isang tinukoy na oras bago ang pagsikat ng araw at para sa isang pantay na dami ng oras pagkatapos ng paglubog ng araw. Bago at pagkatapos ng oras na iyon, walang data na ipinadala sa iyong spreadsheet. Gumagamit ang proyektong ito ng isang script ng sawa upang basahin ang impormasyon ng pagsikat at paglubog ng araw mula sa Yahoo! panahon tuwing gabi o sa pagsisimula makakuha ng mga oras na ito.

Ang sumusunod na python library ay kailangang i-download at mai-install sa Arduino Yún.

python-weather-apipywapi -

Ang mga tagubilin sa pag-install ng library na ito ay matatagpuan sa itaas na website.

Mga Script ng Python Ang lokasyon ID sa 'getastonomy.py' python script ay kailangang baguhin upang maisama ang iyong lokasyon. Kasalukuyan itong na-configure para sa Sugar Land, Texas. Ang isang paraan upang mahanap ang iyong ID ay upang pumunta sa sumusunod na website:

Mga Code ng Lokasyon ng Panahon

Ipasok ang iyong lokasyon, at lilitaw ang iyong lokasyon ID. Palitan ang USTX1312 sa linya ng script ng iyong lokasyon ID.

resulta = pywapi. get_weather_from_weather_com ('USTX1312')

Papayagan nitong makuha ang script ang pagsikat at paglubog ng araw para sa iyong lokasyon. Ang mga tagubilin para sa pagbabago ng 'sendgdocs.py' ay matatagpuan sa Hakbang 6.

Kapag nabago ang parehong mga script dapat mong ilipat ang mga ito sa direktoryo ng micro-SD card '/ mnt / sda1 /' ng Arduino Yun.

Hakbang 4: Mga kable ng Bird Feeder

Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder

Ang bawat perches sa feeder ay natatakpan ng 1/4 malawak na self adhesive copper foil tape. Ang isang maliit na butas ay drill sa pamamagitan ng tape at perch, at isang kawad ay na-solder sa foil tape at dinala sa ilalim ng feeder.

Tandaan: Sa bird feeder na ipinakita sa itaas, inirerekumenda ko ang isang puwang sa pagitan ng mga dulo ng bawat foil stripe na 1 1/4 "- 1 1/2". Natuklasan ko na ang mas malalaking mga ibon, tulad ng mga grackle at kalapati, ay may kakayahang hawakan ang dalawang piraso ng foil nang sabay-sabay kung inilagay ito upang magkasara.

Ang isang bloke ng kahoy ay hugis at nakadikit sa ilalim ng feeder upang magbigay ng isang antas na antas upang mai-mount ang Project Box na naglalaman ng CAP1188. Ang Velcro tape ay inilapat sa Project Box pati na rin ang kahoy na bloke upang magbigay ng isang paraan ng paglakip.

Upang mapunan ulit ang bird feeder, inaalis ko ang kuryente sa loob ng garahe. Susunod, ididiskonekta ko ang konektor ng DB-9 mula sa Project Box na nakakabit sa ilalim ng feeder, na pinapayagan akong iangat ang feeder mula sa tubo na ang Project Box ay konektado pa rin sa ilalim. Kapag ang feeder ay napunan ulit, inilalagay ko ito pabalik sa tubo ng tubo; ikonekta ang DB-9 cable; at isaksak ang lakas.

Hakbang 5: Lumilikha ng isang Google Doc Form

Lumilikha ng isang Google Doc Form
Lumilikha ng isang Google Doc Form

Upang maipadala ang data ng isang spreadsheet ng Google Docs, dapat mo munang lumikha ng isang Form kasama ang lahat ng kinakailangang mga patlang. Sa aking halimbawa, mayroon akong anim na 'cnt' na patlang at anim na 'time' na patlang na integer input. Halimbawa, ang mga patlang ay pinangalanang 'cnt1', 'time1', 'cnt2', 'time2', atbp Kapag natapos mo na ang Form, na-click mo ang "Tingnan ang live form" upang makita ang natapos na form. Habang tinitingnan ang Form, i-right click ang pahina at piliin ang "Tingnan ang mapagkukunan ng pahina". Maghanap at hanapin ang lahat ng mga patlang na "input" ng HTML sa source code. Gumawa ng tala ng pangalan para sa bawat patlang na iyong inilagay sa form. Ang impormasyong ito ay kinakailangan upang likhain ang iyong Scenario sa PushingBox.

Hakbang 6: Pag-configure ng PushingBox

Pag-configure ng PushingBox
Pag-configure ng PushingBox
Pag-configure ng PushingBox
Pag-configure ng PushingBox

Gumawa ng isang tala ng url address ng Form na nilikha mo dati (habang tinitingnan ang nakumpletong form), at kopyahin ang address na iyon. Dapat itong magmukhang katulad sa address na ito:

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

Ginagamit ang address na ito upang likhain ang iyong Serbisyo ng PushingBox, maliban na dapat itong magtapos sa '/ formResponse' sa halip na '/ viewform'. Panghuli, siguraduhing baguhin ang Pamamaraan na ginamit ng Serbisyo sa POST.

Ang paglikha ng isang Scenario sa PushingBox ay mangangailangan ng data na natipon dati mula sa form para sa bawat isa sa mga field ng pag-input. Lumikha ng isang uri ng CustomURL na Scenario tulad ng nakikita sa larawan sa itaas. Dapat itong magmukhang katulad nito:

entry.184762354 = $ cnt1 $ & entry.1970438117 = $ ti… 6352124 = $ cnt6 $ & entry.54370319 = $ time6 $ && isumite = Isumite

Dapat tumugma ang bawat entry sa mga patlang na 'cnt' at 'time' ng iyong form. Tapusin ang string sa mga patlang ng '&& isumite = Isumite' tulad ng nakikita sa itaas.

Ang Device ID na nilikha gamit ang iyong Scenario ay kinakailangan sa 'sendgdocs.py' python script upang makapagpadala ng data sa Google Docs sa pamamagitan ng PushingBox.

Hakbang 7: Ang Data

Ang Data
Ang Data
Ang Data
Ang Data

Ang program na ito ay kasalukuyang naka-configure upang makalikom at magpadala ng data sa Google Docs tuwing 20 minuto. Ang agwat na iyon ay maaaring madaling mabago sa loob ng sketch

Ang ipinadala na data ay ang "bilang" ng bilang ng beses na ang isang ibon (o ilang iba pang mga bagay) ay hinahawakan ang tanso foil sa dumapo. Nagpapadala din ito ng kabuuang oras (segundo) isang ibon ang humipo sa sensor habang nagpapakain.

Naranasan ko ang magkakaibang mga resulta. Ang lahat ay nakasalalay sa feed na ibinibigay ko, at mga ibon na nasa lugar. Kung ang mga grackle ay nasa lugar, maaari nilang alisan ng laman ang bird feeder sa pagkakasunud-sunod. Nagagawa nilang kalat ang feed sa kanilang mga tuka kahit saan nang napakabilis.

Mayroon akong dalawang mga tagapagpakain ng ibon, ngunit isa lamang ang naka-attach na monitor. Samakatuwid, ipinapahiwatig ng aking data na natatanggap ko sa pagitan ng 1, 000 hanggang 1, 400 na bilang sa pagitan ng mga refill, at ang kapasidad ng feeder ay 6 lbs. Gayunpaman, ang ilan sa mga bilang na iyon ay dobleng bilang bilang resulta ng mga ibon na tumatangkilik ng higit sa isang perch. Sa anumang kaso, naging masaya ang panonood ng feeder, at pagsusuri sa data.

Inirerekumendang: