Mục lục:

Tự làm - Tưới vườn tự động - (Arduino / IOT): 9 bước (có hình ảnh)
Tự làm - Tưới vườn tự động - (Arduino / IOT): 9 bước (có hình ảnh)

Video: Tự làm - Tưới vườn tự động - (Arduino / IOT): 9 bước (có hình ảnh)

Video: Tự làm - Tưới vườn tự động - (Arduino / IOT): 9 bước (có hình ảnh)
Video: Full code Hệ Thống Tưới Tự Động ( ĐỘ ẨM ĐẤT + ARDUINO + BLYNK APP) 2024, Tháng bảy
Anonim
Tự làm - Tưới vườn tự động - (Arduino / IOT)
Tự làm - Tưới vườn tự động - (Arduino / IOT)
Tự làm - Tưới vườn tự động - (Arduino / IOT)
Tự làm - Tưới vườn tự động - (Arduino / IOT)
Tự làm - Tưới vườn tự động - (Arduino / IOT)
Tự làm - Tưới vườn tự động - (Arduino / IOT)

Dự án này sẽ hướng dẫn bạn cách xây dựng bộ điều khiển tưới cho vườn nhà. Có khả năng đo chỉ số độ ẩm của đất và kích hoạt tưới từ vòi vườn nếu đất trở nên quá khô. Bộ điều khiển cũng bao gồm một cảm biến nhiệt độ và độ ẩm. Bộ điều khiển sẽ không kích hoạt vòi vườn nếu nhiệt độ quá thấp. Các chỉ số cảm biến và số liệu thống kê về thời gian sử dụng / chạy nước được ghi lại trên IOT của ThingsBoard để hiển thị và phân tích. Cảnh báo và email được kích hoạt nếu bộ điều khiển tưới ngừng truyền dữ liệu, đất trở nên quá khô hoặc quá bão hòa.

Điều kiện tiên quyết

  • Kiến thức về Arduino bao gồm ít nhất là viết mã cơ bản cho Arduino và hàn.
  • 1x vòi vườn điều áp

Hóa đơn nguyên vật liệu

  • Ống poly tưới vườn, vòi phun, vòi nhỏ giọt, v.v.
  • Hẹn giờ bấm giờ điện tử hai mặt số (ví dụ: Hẹn giờ bấm giờ điện tử kỹ thuật số Aqua Systems)
  • Bộ giảm áp vòi 300kpa
  • Arduino Uno
  • Lá chắn Lora Arduino
  • Lora Gateway (Không cần thiết nếu bạn có cổng mạng Things Network cục bộ trong phạm vi)
  • Cảm biến độ ẩm nhiệt độ DHT11
  • Rơ le 5v
  • Cáp điện thoại
  • Ties cáp
  • Ô tô tách sóng ống
  • Dải kết nối đầu cuối ô tô
  • 2x đinh mạ kẽm
  • 1x điện trở
  • Silicon / Caulk
  • Xi măng PVC
  • Sơn lót PVC
  • Ống PVC chiều rộng 32mm x chiều dài 60mm
  • Ống PVC chiều rộng 90mm x chiều dài 30cm
  • 3x Mũ cuối đẩy PVC 90mm
  • 1x Đầu cuối vít PVC 90mm
  • 1x Đầu cắm có ren PVC 90mm
  • 1x Mũ cuối đẩy PVC 32mm
  • Nguồn điện 1x 3.2V (bộ đếm thời gian chạm) [pin, bộ chuyển đổi đa năng AC]
  • Nguồn điện 1x 6-12V (arduino) [pin, USB, bộ chuyển đổi USB sang AC]
  • băng keo ren
  • băng điện

Bước 1: Cài đặt hệ thống tưới vườn

Cài đặt hệ thống tưới vườn
Cài đặt hệ thống tưới vườn
Cài đặt hệ thống tưới vườn
Cài đặt hệ thống tưới vườn

Bố trí ống poly, vòi phun phù hợp, đường nhỏ giọt và vòi nhỏ giọt. Bộ điều khiển tưới sẽ hoạt động với bất kỳ thiết bị tưới nào. Cốt lõi của nó là đo độ ẩm của đất và kích hoạt đồng hồ bấm giờ nếu và khi đất quá khô. Bộ điều khiển có thể được hiệu chỉnh để đặt điểm thấp cho độ bão hòa, bộ đếm thời gian chạm nên được bật trong bao lâu và tần suất bộ điều khiển nên kiểm tra độ bão hòa.

Các cài đặt này có thể được thay đổi trên arduino và được lưu trữ trong bộ nhớ EPROM. Các cài đặt cũng có thể được cập nhật bằng tích hợp IOT. Dự án này sẽ chạy bộ điều khiển bốn giờ một lần và bật vòi trong 3 phút nếu đất quá khô. Nó có thể chạy một vài lần liên tiếp nếu khô / nóng hoặc một hoặc hai ngày một lần nếu không.

Bước 2: Phù hợp với Bộ hẹn giờ

Phù hợp với bộ hẹn giờ nhấn
Phù hợp với bộ hẹn giờ nhấn

Lắp bộ hẹn giờ ở vòi và thử nghiệm với các mặt đồng hồ có thể điều chỉnh để tìm ra tần số và thời gian chạy thô phù hợp nhất cho việc lắp đặt hệ thống tưới của bạn. Chúng tôi sẽ gỡ bỏ bộ đếm thời gian và sửa đổi nó để hoạt động với Arduino.

Bước 3: Xây dựng Arduino

Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino
Bản dựng Arduino

Sử dụng sơ đồ đi dây làm hướng dẫn cho việc xây dựng. Trong ảnh, hệ thống dây cáp điện thoại đã được sử dụng và các dải thiết bị đầu cuối bắt vít cho các điểm nối. Một số hàn là cần thiết.

Nhấn vào Sửa đổi bộ hẹn giờ

Cẩn thận tháo đồng hồ bấm giờ. Chúng tôi sẽ khó đi dây hai mặt số điều chỉnh để chúng có thể được điều khiển bởi arduino thay vì quay số bằng tay. Quay số tần số bên trái sẽ được cố định vào vị trí đặt lại để quay số bên phải có thể được chuyển đổi giữa vị trí bật / tắt. Mặt số bên phải sẽ có một dây đến từ tiếp điểm bên phải trung tâm và tiếp điểm bên phải ngoài cùng như hình minh họa. Theo mặc định, bộ hẹn giờ sẽ ở vị trí tắt. Nếu hai dây tiếp xúc với nhau, bộ hẹn giờ sẽ bật. Với hai dây được kết nối với một rơ le 5V, một arduino sau đó có thể đóng / mở tiếp điểm giữa hai dây. Với một dây ở đầu cuối rơ le chung và dây còn lại ở đầu cuối thường đóng, chúng tôi sẽ đảm bảo rằng bộ hẹn giờ sẽ tắt khi arduino tắt. Đặt chân rơ le thành CAO sẽ bật bộ đếm thời gian; đặt nó thành LOW sẽ tắt hẹn giờ.

Đầu dò đất

Đối với dự án này, hai đinh được hàn vào dây kết nối với các đầu cuối vít. Thiết bị đầu cuối của một chiếc đinh đi thẳng xuống đất. Cái kia kết nối với một đầu vào tương tự trong arduino và một điện trở. Điện trở kết nối với tín hiệu arduinos 5v. Được thể hiện trong sơ đồ vắt.

Cảm biến nhiệt độ / độ ẩm

Cảm biến nhiệt độ / độ ẩm DHT11 được kết nối với chân cắm kỹ thuật số 5V của arduino, nối đất và trên arduino.

Khiên Lora

Dự án này cũng sử dụng Dragino Lora Shield (không được hiển thị trong sơ đồ đấu dây).

Cơ sở PVC

Đế PVC cho arduino được sử dụng trong dự án này được thiết kế để cảm biến nhiệt độ / độ ẩm có thể tiếp xúc với tất cả các thành phần khác bên trong vỏ PVC chống thấm nước. Một lỗ nhỏ được khoan / khoét cho cảm biến và silicon được sử dụng để giữ nó cố định trong khi ngăn hơi ẩm tiếp cận với arduino. Được thể hiện trong sơ đồ.

Bước 4: Lập trình Arduino

Lập trình Arduino
Lập trình Arduino

Kết nối các thành phần với nhau thông qua bảng mạch hoặc dải thiết bị đầu cuối để lập trình và kiểm tra

Cấu hình EPROM

Đầu tiên chúng ta cần ghi các biến cấu hình vào bộ nhớ EPROM. Chạy mã sau trên arduino của bạn:

Mã có sẵn trên Github

Ở đây DRY_VALUE được đặt ở 960. 1024 có nghĩa là đất hoàn toàn khô, 0 có nghĩa là bão hòa hoàn toàn, 960 là mức bão hòa tốt cho điện trở, chiều dài cáp và đinh được sử dụng. Điều này có thể khác nhau tùy thuộc vào cấu hình của riêng bạn.

VALVE_OPEN được đặt ở 180000 mili giây (3 phút). Khi / nếu đồng hồ bấm giờ được bật, nó sẽ mở trong 3 phút.

RUN_INTERVAL được đặt ở 14400000 mili giây (4 giờ). Điều này có nghĩa là bộ điều khiển sẽ kiểm tra độ ẩm của đất bốn giờ một lần và bật đồng hồ bấm giờ trong 3 phút nếu độ bão hòa thấp (lớn hơn 960).

Mã trên có thể được thay đổi và các giá trị này được sửa đổi bất kỳ lúc nào.

Mã chương trình

Mã có sẵn trên Github

Sự phụ thuộc:

  • TimedAction
  • Đầu đài

Ví dụ này sử dụng lá chắn Dragino Lora và cụ thể là ví dụ đồng thời Lora với lá chắn kết nối trực tiếp với Cổng Dragino Lora.

Điều này có thể được điều chỉnh để sử dụng Mạng Vạn vật bằng cách xóa mã trong phần "BEGIN: lora vars" và thay đổi chương trình để bao gồm ví dụ Dragino sau hoặc điều chỉnh để hoạt động với các tấm chắn sóng / wifi khác, v.v.

Mã được cung cấp giả định rằng DHT11_PIN là chân kỹ thuật số 4, RELAY_PIN là chân kỹ thuật số 3 và chân tương tự độ ẩm đất là đầu vào tương tự 0.

Một biến gỡ lỗi có thể được đặt thành true để các thông báo gỡ lỗi nối tiếp có thể được ghi lại ở tốc độ truyền 9600.

Bước 5: Xây dựng bao vây

Xây dựng bao vây
Xây dựng bao vây

Cắt ống PVC cho phù hợp với bộ hẹn giờ vòi và đế Arduino. Khoan lỗ để lắp vòi hẹn giờ và lắp vòi. Khoan các lỗ trên ống đủ rộng cho ống dẫn ô tô, luồn các đoạn ống dài 10cm vào các lỗ và lấy dây ra khỏi arduino và bộ đếm thời gian vòi. Điều này nên bao gồm:

Từ Arduino

  • Dây cấp nguồn và / hoặc cáp USB từ cổng USB của arduino.
  • Cáp độ ẩm đất (VCC, GND, A0)
  • Hai dây từ đầu nối NC & vít chung của Rơle

Từ đồng hồ bấm giờ

  • Cáp cung cấp điện
  • Hai dây từ các số liên lạc quay số bên phải

Bước 6: Kiểm tra bộ điều khiển trước khi dán

Kiểm tra bộ điều khiển trước khi dán
Kiểm tra bộ điều khiển trước khi dán
Kiểm tra bộ điều khiển trước khi dán
Kiểm tra bộ điều khiển trước khi dán

Đảm bảo mọi thứ vẫn hoạt động trước khi niêm phong mọi thứ.

Các bức ảnh trên cho thấy một thiết lập mẫu trong một nơi kín đáo, nơi đặt đầu dò độ ẩm của đất trong một cái chậu và bộ hẹn giờ ở vòi được gắn với nước từ chai nước ngọt.

Một ống nhỏ giọt được gắn vào bộ hẹn giờ vòi.

Đây là một cách tốt để kiểm tra xem việc thiết lập không bị ngập úng hay ngập úng cây.

Ví dụ này có thể được chạy miễn là cần thiết để hiệu chỉnh bộ điều khiển.

Bước 7: Keo / Vỏ chống thấm

Keo / Vỏ chống thấm
Keo / Vỏ chống thấm

Sử dụng Lớp lót PVC và Xi măng PVC để giữ chặt nắp đầu cuối và khớp nối.

Sử dụng caulk / silicon để lấp đầy bất kỳ khoảng trống nào xung quanh ống dẫn ô tô và phụ kiện hẹn giờ vòi.

Ở đây, một nắp đầu vít được sử dụng trên vỏ arduino để hỗ trợ tiếp cận.

Bước 8: Cài đặt

Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt

Cài đặt vào một ngày rõ ràng. Các thành phần và dây điện sẽ cần phải khô ráo trước khi chúng được niêm phong.

Đặt bộ điều khiển ở đâu đó chính giữa nơi đặt vòi vườn và nơi sẽ đặt đầu dò đất.

Lắp đồng hồ bấm giờ và đảm bảo nó không được cấp nguồn cho đến khi quá trình cài đặt hoàn tất.

Lắp đầu dò đất.

Gắn các thiết bị đầu cuối dải vào từng thành phần, sau đó đặt cáp điện thoại từ các đầu nối vít của từng thành phần để đảm bảo cáp được bọc trong ống dẫn tự động. Kết nối mọi thứ với nhau

Bịt tất cả các đầu nối và mọi bộ phận tiếp xúc khác bằng băng keo chỉ sau đó dùng băng dính điện.

Bịt bất kỳ khu vực lỏng lẻo / tiếp xúc nào của ống dẫn phân chia bằng băng keo chỉ sau đó dùng băng dính điện.

Kết nối bộ hẹn giờ với nguồn điện 3.2v. Pin hoặc bộ chuyển đổi DC - AC 3.2V chạy tới ổ cắm điện chính.

Kết nối Arduino với nguồn điện DC 6-12V. Pin hoặc bộ chuyển đổi USB / DC-AC chạy tới ổ cắm điện.

Tăng sức mạnh và kiểm tra!

Bước 9: Tích hợp ThingsBoard - Giám sát và Báo cáo

Tích hợp ThingsBoard - Giám sát và Báo cáo
Tích hợp ThingsBoard - Giám sát và Báo cáo

Ví dụ này sử dụng Khiên Dragino Lora được kết nối với Cổng Dragino Lora. Cho dù sử dụng thiết lập này, thiết lập Lora khác hoặc bất kỳ kết nối IOT nào khác, dữ liệu do bộ điều khiển tưới thu thập có thể được chuyển tiếp sang nền tảng IOT như Thingsboard. Theo mặc định, chương trình truyền chuỗi dữ liệu sau trong đó mỗi byte ký tự được mã hóa hex:

TXXXHXXXSXXXXRX

Trong đó T theo sau là nhiệt độ, H theo sau là độ ẩm, S theo sau là mức bão hòa và R theo sau là một chữ số liên quan đến hành động mà nó đã thực hiện trong khoảng thời gian chạy cuối cùng. Đây có thể là 0-5 trong đó mỗi chữ số có nghĩa là:

0: Chương trình đang chạy

Có một số cách để cài đặt bản sao Thingsboard trên thiết bị của riêng bạn hoặc bạn có thể thiết lập một tài khoản miễn phí khi cài đặt ThingsBoard của chúng tôi tại đây.

Thiết lập thiết bị của bạn trong Thingsboard

Làm theo các hướng dẫn sau để thêm một thiết bị mới trong Thingsboard gọi nó là "Bộ điều khiển tưới".

Đẩy dữ liệu Đo từ xa từ thiết bị

Làm theo các hướng dẫn sau để thiết lập phương pháp đẩy dữ liệu viễn thông từ thiết bị sang Thingboard qua MQTT, HTTP hoặc CoAp.

Trên máy chủ của chúng tôi, chúng tôi đang đẩy JSON sau vào https://thingsboard.meansofproduction.tech/api/v1/… bốn giờ một lần khi thiết bị được chạy (với dữ liệu trực tiếp):

Ngoài ra, chúng tôi đang đẩy các thuộc tính sau vào https://thingsboard.meansofproduction.tech/api/v1/… theo định kỳ với dữ liệu về thời điểm nút được nhìn thấy lần cuối:

Điều này được sử dụng cho các cảnh báo được kích hoạt nếu thiết bị ngừng truyền dữ liệu.

Tạo Trang tổng quan

Tạo một bảng điều khiển như được mô tả ở đây. Các vật dụng của chúng tôi bao gồm:

Một tiện ích thẻ đơn giản được tạo từ trường đo từ xa lastRunResult Một thước đo kỹ thuật số dọc cho trường đo từ xa nhiệt độ Một bảng Timeseries được tạo từ trường đo từ xa lastRunResult hiển thị dữ liệu của những ngày qua. Một thanh ngang hiển thị trường đo từ xa bão hòa. Điều này sử dụng một chức năng xử lý sau dữ liệu:

trả về giá trị 1024;

Và đặt giá trị tối thiểu và tối đa 0-100. Bằng cách này, mức độ bão hòa có thể được biểu thị dưới dạng phần trăm. Một thước đo để hiển thị giá trị độ ẩm. Biểu đồ thanh chuỗi thời gian bao gồm nhiệt độ, độ ẩm và kết quả chạy, được nhóm thành các khoảng thời gian 5 giờ cho tuần trước, được tổng hợp để hiển thị giá trị tối đa. Điều này cung cấp cho chúng tôi một thanh cho một sự kiện chạy bốn giờ. Một chức năng xử lý dữ liệu sau xử lý được sử dụng để biểu thị kết quả chạy là 0 hoặc 120 tùy thuộc vào việc có nước chạy hay không. Điều đó mang lại phản hồi trực quan dễ dàng để biết tần suất nước chảy trong một tuần. Thẻ HTML tĩnh hiển thị hình ảnh của khu vườn.

Thông báo qua email

Chúng tôi đã sử dụng các quy tắc để thiết lập cảnh báo qua email cho bộ điều khiển tưới. Tất cả đều sử dụng bộ lọc tin nhắn và một Hành động plugin Hành động Gửi thư.

Để gửi cảnh báo qua email nếu bộ điều khiển tưới không gửi được dữ liệu, chúng tôi đã sử dụng 'Bộ lọc thuộc tính thiết bị' với bộ lọc sau:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

Để gửi email nếu đất trở nên quá khô, hãy sử dụng bộ lọc Đo từ xa sau

typeof saturation! = "undefined" && saturation> 1010

Để gửi email dựa trên nếu đất trở nên quá ẩm, hãy sử dụng bộ lọc Đo từ xa sau

typeof saturation! = "undefined" && saturation

Đề xuất: