- Các thành phần bắt buộc cho dự án hệ thống tưới cây Arduino
- Giải thích mạch:
- Giải thích làm việc:
- Giải thích lập trình:
Bất cứ khi nào chúng tôi đi ra khỏi thị trấn trong vài ngày, chúng tôi luôn lo lắng về cây của chúng tôi vì chúng cần nước thường xuyên. Vì vậy, ở đây chúng tôi đang tạo Hệ thống tưới cây tự động bằng Arduino, hệ thống này tự động cung cấp nước cho cây của bạn và cập nhật thông tin cho bạn bằng cách gửi tin nhắn đến điện thoại di động của bạn.
Trong Hệ thống Tưới Nước cho Cây này, Cảm biến Độ ẩm của Đất sẽ kiểm tra độ ẩm trong đất và nếu độ ẩm thấp thì Arduino sẽ Bật máy bơm nước để cung cấp nước cho cây. Máy bơm nước sẽ tự động tắt khi hệ thống tìm thấy đủ độ ẩm trong đất. Bất cứ khi nào hệ thống Bật hoặc tắt máy bơm, một thông báo sẽ được gửi đến người dùng qua mô-đun GSM, cập nhật trạng thái của máy bơm nước và độ ẩm của đất. Hệ thống này rất hữu ích trong trang trại, vườn, nhà, vv Hệ thống này hoàn toàn tự động và không cần bất kỳ sự can thiệp của con người.
Các thành phần bắt buộc cho dự án hệ thống tưới cây Arduino
- Arduino Uno
- Mô-đun GSM
- Bóng bán dẫn BC547 (2)
- Kết nối dây
- LCD 16x2 (tùy chọn)
- Nguồn điện 12v 1A
- Rơ le 12v
- Máy bơm nước làm mát
- Cảm biến độ ẩm của đất
- Điện trở (1k, 10k)
- Đăng ký biến (10k, 100k)
- Đầu nối đầu cuối
- IC điều chỉnh điện áp LM317
Mô-đun GSM:
Ở đây chúng tôi đã sử dụng mô-đun TTL SIM800 GSM. SIM800 là một Mô-đun GSM / GPRS bốn băng tần hoàn chỉnh có thể được khách hàng hoặc người yêu thích nhúng vào dễ dàng. Mô-đun SIM900 GSM cung cấp giao diện tiêu chuẩn công nghiệp; SIM800 mang lại hiệu suất GSM / GPRS 850/900/1800 / 1900MHz cho thoại, SMS, Dữ liệu với mức tiêu thụ điện năng thấp. Thiết kế của Mô-đun GSM SIM800 này mỏng và nhỏ gọn. Nó dễ dàng có sẵn trên thị trường hoặc trực tuyến từ eBay.
- Mô-đun GSM / GPRS bốn băng tần có kích thước nhỏ.
- GPRS đã bật
- Đầu ra TTL
Tìm hiểu thêm về mô-đun GSM và lệnh AT tại đây. Ngoài ra, hãy kiểm tra các dự án khác nhau của chúng tôi sử dụng GSM và Arduino để hiểu đúng về giao diện của chúng.
Giải thích mạch:
Trong Hệ thống tưới cây này, chúng tôi đã sử dụng Đầu dò cảm biến độ ẩm đất tự chế để cảm nhận độ ẩm của đất. Để làm cho đầu dò, chúng tôi đã cắt và khắc một Bảng ốp đồng theo Hình bên dưới. Một bên của đầu dò được kết nối trực tiếp với Vcc và đầu cuối của đầu dò khác đi đến đế của bóng bán dẫn BC547. Một chiết áp được kết nối với đế của bóng bán dẫn để điều chỉnh độ nhạy của cảm biến.
Arduino được sử dụng để kiểm soát toàn bộ quy trình của Hệ thống tưới cây tự động này. Đầu ra của mạch cảm biến đất được kết nối trực tiếp với chân số D7 của Arduino. Một đèn LED được sử dụng ở mạch cảm biến, trạng thái BẬT của đèn LED này cho biết sự hiện diện của độ ẩm trong đất và trạng thái TẮT cho biết độ ẩm trong đất đã cạn kiệt.
Mô-đun GSM được sử dụng để gửi SMS đến người dùng. Ở đây chúng tôi đã sử dụng mô-đun TTL SIM800 GSM, mô-đun này cung cấp và nhận trực tiếp logic TTL (người dùng có thể sử dụng bất kỳ mô-đun GSM nào). Bộ điều chỉnh điện áp LM317 được sử dụng để cấp nguồn cho mô-đun SIM800 GSM. LM317 rất nhạy cảm với xếp hạng điện áp và bạn nên đọc biểu dữ liệu của nó trước khi sử dụng. Đánh giá điện áp hoạt động của nó là 3,8v đến 4,2v (vui lòng thích 3,8v để vận hành nó). Dưới đây là Sơ đồ mạch của Nguồn cung cấp cho Mô-đun TTL sim800 GSM:
Nếu người dùng muốn sử dụng Mô-đun TTL của SIM900 thì nên sử dụng 5V và nếu người dùng muốn sử dụng Mô-đun SIM900 thì sử dụng 12v trong khe cắm DC Jack của bo mạch.
Một 12V relay được sử dụng để điều khiển máy bơm nước nhỏ 220VAC. Rơ le được điều khiển bởi một Transistor BC547 được kết nối thêm với chân số 11 của Arduino.
Một màn hình LCD tùy chọn cũng được sử dụng để hiển thị trạng thái và thông báo. Các chân điều khiển của LCD, RS và EN được kết nối với chân 14 và 15 của Arduino và các chân dữ liệu của LCD D4-D7 được kết nối trực tiếp tại chân 16, 17, 18 và 19 của Arduino. LCD được sử dụng ở chế độ 4 bit và được điều khiển bởi thư viện LCD có sẵn của Arduino.
Dưới đây là sơ đồ mạch của Hệ thống tưới này với arduino và cảm biến độ ẩm của đất:
Giải thích làm việc:
Làm việc này hệ thống thủy lợi thực vật tự động là khá đơn giản. Trước hết, nó là một hệ thống hoàn toàn tự động và không cần nhân lực để điều khiển hệ thống. Arduino được sử dụng để kiểm soát toàn bộ quá trình và mô-đun GSM được sử dụng để gửi tin nhắn cảnh báo cho người dùng trên điện thoại di động của họ.
Nếu có hơi ẩm trong đất thì có sự dẫn truyền giữa hai đầu dò của cảm biến Độ ẩm đất và do sự dẫn truyền này, bóng bán dẫn Q2 vẫn ở trạng thái kích hoạt / bật và chân Arduino D7 vẫn ở mức Thấp. Khi Arduino đọc tín hiệu THẤP tại D7, sau đó nó sẽ gửi SMS cho người dùng về “Độ ẩm của đất là bình thường. Động cơ TẮT ”và máy bơm nước vẫn ở trạng thái Tắt.
Bây giờ nếu không có Độ ẩm trong đất thì Transistor Q2 trở nên Tắt và Pin D7 trở nên Cao. Sau đó, Arduino đọc Pin D7 và Bật động cơ nước và cũng gửi thông báo cho người dùng về “Đã phát hiện thấy độ ẩm đất thấp. Động cơ đã BẬT ”. Mô tơ sẽ tự động tắt khi có đủ độ ẩm trong đất. Kiểm tra thêm Video và Mã trình diễn (được đưa ra ở cuối) để hiểu rõ hơn về quy trình làm việc của dự án.
Giải thích lập trình:
Mã cho chương trình này rất dễ hiểu. Trước hết, chúng tôi đã bao gồm thư viện SoftwareSerial để tạo chân 2 và 3 là Rx & Tx và cũng bao gồm LiquidCrystal cho LCD. Sau đó, chúng tôi xác định một số biến cho động cơ, cảm biến độ ẩm đất, đèn LED, v.v.
#include
Sau đó, trong hàm void setup () , giao tiếp nối tiếp được khởi tạo ở tốc độ 9600 bps và các hướng được đưa ra cho các Ghim khác nhau. Hàm gsmInit được gọi để khởi tạo mô-đun GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (động cơ, OUTPUT); pinMode (cảm biến, INPUT_PULLUP); lcd.print ("Nước Irrigaton"); lcd.setCursor (4,1); chậm trễ (2000); lcd.clear (); lcd.print ("Thông báo Mạch"); lcd.setCursor (0,1); lcd.print ("Hoan nghênh bạn"); chậm trễ (2000); gsmInit ();
Sau đó, cảm biến được đọc trong hàm void loop () và động cơ được bật hoặc tắt theo trạng thái cảm biến và một tin nhắn SMS cũng đang được gửi đến người dùng bằng chức năng sendSMS . Kiểm tra các chức năng khác nhau trong mã đầy đủ được cung cấp ở cuối.
void loop () {lcd.setCursor (0,0); lcd.print ("Chế độ Tự động"); if (digitalRead (sensor) == 1 && flag == 0) {delay (1000); if (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Đã phát hiện độ ẩm đất thấp. Động cơ đã BẬT"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Ở đây, hàm gsmInit () rất quan trọng và người dùng hầu như cảm thấy khó đặt nếu đúng cách. Nó được sử dụng để khởi tạo mô-đun GSM, nơi trước tiên mô-đun GSM được kiểm tra xem nó có được kết nối hay không bằng cách gửi lệnh 'AT' đến mô-đun GSM. Nếu nhận được phản hồi OK, nghĩa là nó đã sẵn sàng. Hệ thống tiếp tục kiểm tra mô-đun cho đến khi nó sẵn sàng hoặc cho đến khi nhận được 'OK'. Sau đó, ECHO bị tắt bằng cách gửi lệnh ATE0, nếu không mô-đun GSM sẽ lặp lại tất cả các lệnh. Sau đó, cuối cùng tính khả dụng của mạng được kiểm tra thông qua 'AT + CPIN?' lệnh, nếu thẻ được lắp là thẻ SIM và có mã PIN, nó sẽ đưa ra phản hồi SN SÀNG. Điều này cũng được kiểm tra nhiều lần cho đến khi tìm thấy mạng. Điều này có thể được hiểu rõ qua Video dưới đây.
void gsmInit () {lcd.clear (); lcd.print ("Tìm Mô-đun.."); boolean at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } delay (1000); }………………..
Vì vậy, với Hệ thống Tưới Tự động này, bạn không cần phải lo lắng về cây trồng của mình khi bạn vắng nhà. Nó có thể được nâng cao hơn nữa để được vận hành và giám sát qua internet.