Mục lục:

Bird Feeder Monitor: 7 bước (có hình ảnh)
Bird Feeder Monitor: 7 bước (có hình ảnh)

Video: Bird Feeder Monitor: 7 bước (có hình ảnh)

Video: Bird Feeder Monitor: 7 bước (có hình ảnh)
Video: Biến hình khi văn phòng Schannel có khách đến 2024, Tháng bảy
Anonim
Màn hình cho chim ăn
Màn hình cho chim ăn

Đây là một dự án nhằm theo dõi số lượng chim ghé thăm máy cho chim ăn của tôi, cũng như ghi lại khoảng thời gian cho ăn. Tôi đã sử dụng Arduino Yún và cảm biến cảm ứng điện dung, Adafruit CAP1188, để phát hiện và ghi lại tiếng chim ăn. Theo thường lệ, dữ liệu tích lũy được gửi đến bảng tính Google Tài liệu để ghi lại số lượng và thời gian mà những con chim ghé thăm máng ăn.

Dữ liệu chỉ được truyền trong một khoảng thời gian nhất định trước khi mặt trời mọc và sau khi mặt trời lặn.

Bước 1: Các bộ phận

Các bộ phận
Các bộ phận

Đây là danh sách các bộ phận mà tôi đã sử dụng để lắp ráp dự án của mình. Bạn có thể sử dụng nhiều hộp dự án khác nhau để tạo dự án của mình, nhưng đây là những mục tôi có trong tay vào thời điểm đó.

1 6x3x2 "Bao vây dự án1 3x2x1" Bao vây dự án1 cuộn 1/4 "Băng lá đồng1 CAP1188 Cảm biến cảm ứng điện dung 8 phím 1 Arduino Yun1 thẻ micro-SD2 đầu nối DB-9 nam2 đầu nối DB-9 nữ1 Bộ nạp chim (CedarWorks Plastic Hopper Bird Feeder) 1 Đầu nối Đèn hậu từ cửa hàng cung cấp ô tô

Bước 2: Đấu dây

Đấu dây
Đấu dây

Arduino Yun và CAP1188 có dây để cung cấp khôi phục cài đặt gốc cho cảm biến khi khởi động. Có các cảm biến cảm ứng điện dung khác có sẵn với một, năm hoặc tám cảm biến. Tôi chọn tám vì khay cho chim của tôi có sáu cạnh.

Hệ thống dây:

CAP1188 SDA == Yún Digital 2 CAP1188 SCK == Yún Digital 3 CAP1188 RST == Yún Digital 9 CAP1188 VIN == Yún 3.3V hoặc 5V CAP1188 GND == Yún GND CAP1188 C1-C8 == Kết nối với dây trên mỗi con cá rô

Nguồn điện cho Arduino được cung cấp từ bên ngoài, bằng cách chạy một dây điện ngầm từ ga ra của tôi và đi lên qua đường ống được sử dụng làm giá đỡ cho chim ăn. Dây điện được kết nối với nguồn điện 5-VDC trong nhà để xe. Dự án này sẽ hoạt động với pin, nhưng tôi không muốn gặp rắc rối khi thay pin thường xuyên.

Tôi đã chế tạo một cáp dài 16 với đầu nối DB-9 ở cả hai đầu để kết nối Hộp dự án với Arduino Yun và hộp chứa CAP1188. Cảm biến điện dung cần được đặt càng gần chân cắm càng tốt.

Bước 3: Cài đặt các gói và tập lệnh Python

CAP1188 yêu cầu bạn tải xuống và cài đặt các thư viện cho cảm biến này. Thư viện có thể được tìm thấy tại trang web sau:

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

Hướng dẫn cài đặt thư viện và các ví dụ nằm trong tệp README.txt trong vùng chứa zip.

Chương trình này theo dõi bình minh và hoàng hôn cho vị trí cụ thể của bạn, đồng thời bắt đầu đếm và tính thời gian tại một thời điểm cụ thể trước khi mặt trời mọc và trong một khoảng thời gian tương đương sau khi mặt trời lặn. Trước và sau thời gian đó, không có dữ liệu nào được gửi đến bảng tính của bạn. Dự án này sử dụng tập lệnh python để đọc thông tin mặt trời mọc và lặn từ Yahoo! thời tiết vào mỗi buổi tối hoặc khi khởi động có những khoảng thời gian này.

Thư viện python sau cần được tải xuống và cài đặt trên Arduino Yún.

python-weather-apipywapi -

Hướng dẫn cài đặt thư viện này có tại trang web trên.

Tập lệnh Python ID vị trí trong tập lệnh python 'getastonomy.py' cần được sửa đổi để bao gồm vị trí của bạn. Nó hiện được định cấu hình cho Sugar Land, Texas. Một cách để tìm ID của bạn là truy cập trang web sau:

Mã vị trí thời tiết

Nhập vị trí của bạn và ID vị trí của bạn sẽ xuất hiện. Thay thế USTX1312 trong dòng tập lệnh bằng ID vị trí của bạn.

kết quả = pywapi. get_weather_from_weather_com ('USTX1312')

Điều này sẽ cho phép tập lệnh lấy bình minh và hoàng hôn cho vị trí của bạn. Hướng dẫn sửa đổi 'sendgdocs.py' nằm ở Bước 6.

Khi cả hai tập lệnh đã được sửa đổi, bạn phải chuyển chúng vào thư mục thẻ micro-SD '/ mnt / sda1 /' của Arduino Yun.

Bước 4: Đấu dây cho Bird Feeder

Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder

Mỗi con đậu trên khay nạp được bao phủ bởi băng lá đồng tự dính rộng 1/4 . Một lỗ nhỏ được khoan qua băng và con đậu, và một sợi dây được hàn vào băng lá và định tuyến bên dưới khay nạp.

Lưu ý: Với máng ăn cho chim ở trên, tôi khuyên bạn nên để khoảng cách giữa các đầu của mỗi sọc giấy bạc là 1 1/4 "- 1 1/2". Tôi phát hiện ra rằng những loài chim lớn hơn, chẳng hạn như chim câu và chim bồ câu, có khả năng chạm vào hai dải giấy bạc cùng một lúc nếu chúng được đặt gần nhau.

Một khối gỗ đã được định hình và dán vào đáy khay nạp để tạo ra một khu vực bằng phẳng để gắn Hộp Dự án có chứa CAP1188. Băng dán Velcro đã được dán vào Hộp dự án cũng như khối gỗ để tạo phương tiện gắn vào.

Để nạp đầy bình cho chim, tôi rút nguồn điện bên trong ga ra. Tiếp theo, tôi ngắt kết nối DB-9 khỏi Hộp dự án được gắn vào dưới cùng của bộ nạp, điều này cho phép tôi nhấc bộ nạp ra khỏi đường ống với Hộp dự án vẫn được kết nối với đáy. Khi bộ nạp đã được nạp đầy, tôi đặt nó trở lại giá đỡ ống; kết nối cáp DB-9; và cắm nguồn.

Bước 5: Tạo Biểu mẫu Google Tài liệu

Tạo biểu mẫu Google Tài liệu
Tạo biểu mẫu Google Tài liệu

Để gửi dữ liệu bảng tính Google Tài liệu, trước tiên bạn phải tạo Biểu mẫu với tất cả các trường bắt buộc. Trong ví dụ của tôi, tôi có sáu trường 'cnt' và sáu trường 'thời gian' là đầu vào số nguyên. Ví dụ, các trường được đặt tên là 'cnt1', 'time1', 'cnt2', 'time2', v.v. Sau khi hoàn thành Biểu mẫu, bạn nhấp vào "Xem biểu mẫu trực tiếp" để xem biểu mẫu hoàn chỉnh. Trong khi xem Biểu mẫu, nhấp chuột phải vào trang và chọn "Xem nguồn trang". Tìm kiếm và tìm tất cả các trường "đầu vào" HTML trong mã nguồn. Ghi lại tên cho từng trường bạn đã nhập trên biểu mẫu. Thông tin này là cần thiết để tạo Kịch bản của bạn trong PushingBox.

Bước 6: Định cấu hình PushingBox

Cấu hình PushingBox
Cấu hình PushingBox
Cấu hình PushingBox
Cấu hình PushingBox

Ghi lại địa chỉ url của Biểu mẫu bạn đã tạo trước đó (trong khi xem biểu mẫu đã hoàn thành) và sao chép địa chỉ đó. Địa chỉ này sẽ giống với địa chỉ này:

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

Địa chỉ này được sử dụng để tạo Dịch vụ PushingBox của bạn, ngoại trừ việc nó phải kết thúc bằng '/ formResponse' thay vì '/ viewform'. Cuối cùng, hãy đảm bảo thay đổi Phương thức được Dịch vụ sử dụng thành ĐĂNG.

Tạo một Kịch bản trong PushingBox sẽ yêu cầu dữ liệu đã thu thập trước đó từ biểu mẫu cho mỗi trường đầu vào. Tạo một Kịch bản loại CustomURL như trong ảnh ở trên. Nó sẽ trông giống như sau:

entry.184762354 = $ cnt1 $ & entry.1970438117 = $ ti… 6352124 = $ cnt6 $ & entry.54370319 = $ time6 $ && submit = Gửi

Mỗi mục nhập phải khớp với các trường 'cnt' và 'thời gian' trong biểu mẫu của bạn. Kết thúc chuỗi trên các trường bằng '&& submit = Gửi' như đã thấy ở trên.

ID thiết bị được tạo bằng Kịch bản của bạn sẽ cần thiết trong tập lệnh python 'sendgdocs.py' để truyền dữ liệu tới Google Documents qua PushingBox.

Bước 7: Dữ liệu

Dữ liệu
Dữ liệu
Dữ liệu
Dữ liệu

Chương trình này hiện được định cấu hình để thu thập và gửi dữ liệu đến Google Documents 20 phút một lần. Khoảng thời gian đó có thể được sửa đổi dễ dàng trong bản phác thảo

Dữ liệu gửi về là "số đếm" số lần một con chim (hoặc một số vật thể khác) chạm vào lá đồng trên mình cá rô. Nó cũng gửi tổng thời gian (giây) mà một con chim đã chạm vào cảm biến trong khi cho ăn.

Tôi đã trải qua nhiều kết quả khác nhau. Tất cả phụ thuộc vào nguồn thức ăn mà tôi cung cấp, và những con chim ở trong khu vực. Nếu chim ăn thịt ở trong khu vực, họ có thể đổ thức ăn cho chim theo thứ tự sắp xếp. Chúng có thể phân tán thức ăn bằng mỏ của chúng ở khắp mọi nơi rất nhanh chóng.

Tôi có hai máy cho chim ăn, nhưng chỉ một cái có gắn màn hình. Do đó, dữ liệu của tôi chỉ ra rằng tôi nhận được từ 1, 000 đến 1, 400 số đếm giữa các lần nạp và dung lượng của bộ nạp là 6 lbs. Tuy nhiên, một số con số đó là số lượng gấp đôi do các con chim quây nhiều hơn một con cá rô. Trong mọi trường hợp, thật thú vị khi xem bộ nạp và kiểm tra dữ liệu.

Đề xuất: