Mục lục:

Bộ nạp vật nuôi thông minh: 9 bước
Bộ nạp vật nuôi thông minh: 9 bước

Video: Bộ nạp vật nuôi thông minh: 9 bước

Video: Bộ nạp vật nuôi thông minh: 9 bước
Video: Xây dần ước mơ "Bảo Tàng Tiền Tệ" 🏛 2024, Tháng mười một
Anonim
Image
Image
Máy cho thú cưng thông minh
Máy cho thú cưng thông minh

Bạn có thú cưng không?

  • Không: nhận một con nuôi! (và quay lại hướng dẫn này).
  • Vâng: công việc tốt!

Thật tuyệt vời nếu bạn có thể cho người thân ăn và uống nước mà không phải hủy kế hoạch để về nhà đúng giờ phải không? Chúng tôi nói rằng không còn lo lắng nữa.

Trong dự án này, chúng tôi đã tạo ra một thiết bị phân phối thực phẩm và nước được điều khiển từ xa (thông qua web).

Thông qua trang tổng quan trực tuyến, bạn có thể xem dữ liệu và kiểm soát bộ phân phối:

  • Xem mực nước và thức ăn trong bể.
  • Xem mực nước và thức ăn trong bát.
  • Con vật có ăn uống vào lúc này không?
  • Lên lịch cho ăn (thiết bị sẽ không phân phát thức ăn nếu có đủ thức ăn trong bát).
  • Tự động đổ nước khi bát cạn.
  • Phân phát thức ăn / nước uống chỉ bằng một nút bấm.
  • Nhận thông báo đẩy đến điện thoại của bạn (bằng ứng dụng Telegram).

Chúng ta là ai?

Được tạo ra bởi Tom Kaufman và Katya Fichman, sinh viên Khoa học Máy tính tại IDC Herzliya.

Dự án này được thực hiện cho một khóa học IOT.

Quân nhu

Thiết bị điện tử

  • 2 X ESP8266 (Wemos d1 mini).
  • Dây nhảy.
  • 2 X Breadboard.
  • 4 X Cảm biến siêu âm.
  • 2 X Cảm biến lực.
  • 2 X Bộ khuếch đại cảm biến lực (HX711).
  • Servo (180 °).
  • Servo (quay liên tục).
  • Nguồn điện 2 X 6V.

Các bộ phận

  • Máy rút bánh ngô (liên kết Amazon).
  • Phễu của máy rút thực phẩm in 3D (https://www.thingiverse.com/thing:3998805).
  • Phần đính kèm servo của máy rút thực phẩm in 3D (https://www.thingiverse.com/thing:3269637).
  • Giá đựng thực phẩm in 3D (được thiết kế cho dự án này:
  • Đế và tấm cảm biến lực in 3D (được thiết kế cho dự án này:
  • Máy lọc nước (liên kết Amazon với một cái gì đó tương tự).
  • Dây (để kết nối núm của bộ phân phối nước với servo).
  • 3 X Chân đế của cảm biến siêu âm.

Bước 1: Nó hoạt động như thế nào?

Làm thế nào nó hoạt động?
Làm thế nào nó hoạt động?

Các bảng ESP8266 gửi các kết quả đọc của cảm biến tới Node-RED thông qua Mosquitto (nhà môi giới MQTT).

Node-RED xử lý dữ liệu, thực hiện các hành động tương ứng (cũng gửi lệnh phân phối đến các bảng ESP8266 thông qua Mosquitto) và hiển thị thông tin trên bảng điều khiển.

Tất cả các tính toán được thực hiện trong Node-RED vì vậy sẽ dễ dàng sao chép dự án này và thay đổi quá trình xử lý dữ liệu theo cài đặt và sở thích của bạn mà không làm bạn vướng tay vào mã hóa.

Bước 2: Phần mềm

Phần mềm
Phần mềm

Arduino IDE

Tải xuống và cài đặt (liên kết:

Mosquitto

Tải xuống và cài đặt (liên kết:

Node.js

Tải xuống và cài đặt (liên kết:

Node-RED

Làm theo hướng dẫn:

ngrok

Tải xuống:

Telegram

Cài đặt ứng dụng trên điện thoại thông minh của bạn.

Bước 3: Bố cục mạch

Bố cục mạch
Bố cục mạch

* Cả hai thiết bị đều có mạch giống hệt nhau

Máy lọc nước

  • Cảm biến siêu âm (cho bể nước)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Cảm biến siêu âm (cho khoảng cách của vật nuôi từ bát)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Load cell

    • XANH LÁ - A + (HX711)
    • TRẮNG - A- (HX711)
    • ĐEN - E- (HX711)
    • ĐỎ - E + (HX711)
  • HX711 (bộ khuếch đại cảm biến lực)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (180 °)

    • GND - G
    • VCC - 5V

Máy rút thức ăn

  • Cảm biến siêu âm (cho bể thực phẩm)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Cảm biến siêu âm (cho khoảng cách của vật nuôi từ bát)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Load cell

    • XANH LÁ - A + (HX711)
    • TRẮNG - A- (HX711)
    • ĐEN - E- (HX711)
    • ĐỎ - E + (HX711)
  • HX711 (bộ khuếch đại cảm biến lực)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (quay liên tục)

    • GND - G
    • VCC - 5V
    • ĐIỀU KHIỂN - D8

Bước 4: Thủ công

Thủ công
Thủ công
Thủ công
Thủ công
Thủ công
Thủ công

Máy lọc nước

  1. Keo servo vào đầu phần dưới cùng của bộ phân phối (như trong ảnh).
  2. Khoan một lỗ nhỏ trên núm của máy lọc nước.
  3. Kết nối đầu servo với núm bằng một sợi dây (đảm bảo rằng đầu servo ở vị trí 0 và đảm bảo rằng dây được thắt chặt).
  4. Dán một cảm biến siêu âm vào mặt trong của bể, gần đỉnh của nó (cảm biến hướng xuống dưới).
  5. Dán một bộ cảm biến siêu âm bên dưới núm vặn nước hướng ra bên ngoài (đảm bảo nó đủ cao để bát nước không ảnh hưởng đến kết quả đọc của nó).

Dụng cụ phân phối thực phẩm

  1. Vặn servo vào giá đỡ của nó (phần được in 3D).
  2. Dán phễu (phần in 3D) vào giá đỡ bể (phần in 3D).
  3. Kết nối ngăn chứa bình với giá đỡ của máy phân phối (phần in 3D) và đặt bình vào vị trí.
  4. Đưa bộ phận kéo sợi (in 3D) vào vị trí của nó và xuyên qua bộ phận cao su kéo sợi của bộ phân phối.
  5. Vặn phần giữ servo vào giá đỡ của bộ phân phối.
  6. Dán một cảm biến siêu âm vào mặt trong của nắp bể (cảm biến hướng xuống dưới).
  7. Dán một bộ cảm biến siêu âm vào mặt bên của giá đỡ của bể chứa hướng về phía nơi thú cưng của bạn sẽ ăn.

Tế bào tải

Dán từng cảm biến lực vào đế và tấm in 3D (mũi tên của cảm biến lực hướng xuống dưới)

Bước 5: Mosquitto

Mosquitto
Mosquitto

Mở Mosquitto (người dùng windows: vào thư mục Mosquitto, mở cmd và nhập: "mosquitto -v").

* Để lấy địa chỉ IP nội bộ của máy tính, chạy cmd và nhập "ipconfig".

Bước 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Mở Arduino IDE và làm theo phần "Cài đặt Tiện ích bổ sung ESP8266 trong Arduino IDE" của hướng dẫn này:

Đi tới Công cụ-> Bảng và chọn "LOLIN (WEMOS) D1 R2 & mini".

Đi tới Sketch-> Bao gồm Thư viện-> Thêm Thư viện. ZIP… và thêm 3 thư viện trong tệp "Libraries.rar".

Mở bản phác thảo "HX711Calibration", tải nó lên cả ESP8266, chạy nó và làm theo hướng dẫn (ở phần đầu của mã và trong màn hình nối tiếp) để hiệu chỉnh cảm biến lực (đảm bảo rằng tốc độ truyền của màn hình nối tiếp được đặt thành 115200 baud).

* Ghi lại hệ số hiệu chuẩn và độ lệch 0 (để sử dụng sau này).

Mở bản phác thảo "FoodDispenser" và "WaterDispenser" thông qua IDE và thay đổi các biến sau với cài đặt của bạn (trong tệp "Settings.h"):

  • WIFI_SSID
  • MẬT KHẨU MẠNG WIFI
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* Trong MQTT_SERVER, nhập địa chỉ IP nội bộ từ bước "Mosquitto".

Tải các bản phác thảo lên hai ESP8266 của bạn (một mã cho mỗi bảng).

* Lưu ý rằng chúng tôi đã sử dụng thư viện "AsyncMqttClient" chứ không phải thư viện "pubsubclient" phổ biến hơn vì esp8266 gặp sự cố khi kết hợp với thư viện "HX711".

* Nếu bạn chọn thực hiện các thay đổi đối với mã, hãy đảm bảo không sử dụng các hàm "trì hoãn" và "năng suất" bên trong các hàm gọi lại vì nó sẽ gây ra lỗi.

Bước 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Giải nén tệp đã tải xuống (từ liên kết trong bước "Phần mềm").

Mở "ngrok.exe" và chạy lệnh "ngrok http 1880".

* Bạn có thể chọn khu vực gần bạn nhất (au, eu, ap, us, jp, in, sa). Mặc định là chúng tôi.

Ví dụ: chạy lệnh: "ngrok http --region = eu 1880" (đặt khu vực thành Châu Âu).

Bây giờ bạn sẽ thấy địa chỉ web của mình để sử dụng bên ngoài (chúng tôi sẽ gọi địa chỉ này là YOUR_NGROK_ADDRESS).

Bước 8: Nút-ĐỎ

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED

Mở Node-RED (người dùng windows: mở cmd và nhập "node-red") và truy cập https:// localhost: 1880 (nếu nó không hoạt động, hãy tìm kiếm địa chỉ trong cửa sổ cmd nơi nó được viết "Máy chủ bây giờ đang chạy tại ").

Mở menu (ở góc trên cùng bên phải) và nhấn "Quản lý bảng màu".

Chuyển đến tab "Cài đặt", tìm kiếm và cài đặt các mô-đun này:

  • nút-đỏ-đóng góp-tồn tại.
  • nút-đỏ-đóng góp-cron-cộng.
  • nút-đỏ-đóng góp-ui-dẫn.
  • nút-đỏ-bảng điều khiển.
  • node-red-Contrib-telegrambot.

Vào menu-> Nhập và tải lên tệp luồng (giải nén tệp RAR đính kèm và tải tệp json lên).

Xem các hình ảnh đính kèm để giải thích về dòng chảy.

Bạn sẽ cần sửa đổi các nút này với cài đặt của mình:

  • Cập nhật hồ sơ của nút "Người gửi Telegram" bằng tên người dùng và mã thông báo bot của bạn (sử dụng hướng dẫn này:
  • Ở cuối quy trình, hãy thay đổi trọng tải của các nút "Địa chỉ Ngrok" và "Id trò chuyện Telegram" (lấy id trò chuyện của bạn bằng cách sử dụng hướng dẫn Telegram trong liên kết ở trên).
  • Ở phần dưới cùng của quy trình có các nút cài đặt - sửa đổi chúng theo nhu cầu của bạn:

    • Kích hoạt cảnh báo thú cưng đang ăn / uống.
    • Xác định khoảng cách để kích hoạt cảnh báo ăn / uống.
    • Xác định xử lý dữ liệu bát và bể chứa.
    • Sửa đổi thời gian phân phối (thời gian phân phối xảy ra - chế độ tự động và nhấn nút).
    • Xác định tỷ lệ phần trăm ngưỡng tràn của bát thức ăn (hủy phân phối thức ăn tự động nếu có đủ thức ăn trong bát).

Triển khai luồng (ở trên cùng bên phải).

* Chỉ ở lần triển khai đầu tiên, bạn sẽ thấy cảnh báo trong cửa sổ gỡ lỗi về việc thiếu tệp 'Persance.json'. Đừng lo lắng về điều đó vì hiện tại bạn sẽ đặt thời gian cho ăn hoặc thay đổi công tắc nước tự động, nó sẽ khởi tạo tệp này và bạn sẽ không còn cảnh báo này nữa.

Bạn có thể xem trang tổng quan của mình trên https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880 / ui (nếu bạn được kết nối với cùng một mạng LAN với máy chủ) hoặc YOUR_NGROK_ADDRESS / ui (từ mọi nơi).

Bước 9: Kết thúc

Gói (lại
Gói (lại

Chúng tôi hy vọng hướng dẫn này đầy đủ thông tin và dễ đọc, hiểu và thực hiện.

Hãy hỏi chúng tôi bất cứ điều gì.

Đề xuất: