Hướng dẫn xây dựng hệ thống tưới cây thông minh kết nối web server và SIM900 với Arduino

Khám phá hệ thống tưới cây thông minh sử dụng Arduino, tích hợp Web Server và SIM900 để quản lý từ xa, tiết kiệm nước và tối ưu hiệu quả.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2015

82
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

TRANG BÌA PHỤ

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CẢM ƠN

TÓM TẮT

ABSTRACT

1. CHƯƠNG 1: TỔNG QUAN

1.1. Tình hình nghiên cứu hiện nay

1.2. Tính cấp thiết của đề tài

1.3. Mục tiêu nghiên cứu

1.4. Nhiệm vụ nghiên cứu

1.5. Đối tượng và phạm vi nghiên cứu

1.6. Phương pháp nghiên cứu

1.7. Bố cục của Đồ án

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG

2.1. Tổng quan về Arduino

2.2. Khả năng của bo mạch Arduino

2.3. Phần mềm lập trình

2.4. Shield tương thích mở rộng

3. CHƯƠNG 3: CƠ SỞ LÝ THUYẾT PHẦN MỀM

3.1. Xây dựng web server

3.2. Điều khiển dùng SMS

4. CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

4.1. Sơ đồ khối của hệ thống và hoạt động

4.2. Thiết kế, tính toán hệ thống

4.3. Lưu đồ thuật toán của hệ thống

5. CHƯƠNG 5: KẾT QUẢ THI CÔNG

5.1. Xây dựng web server dựng trên phần mềm XAMPP trên máy chủ ảo VPS

5.2. Xây dựng mạch điều khiển

5.3. Xây dựng mô hình hệ thống

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Ưu điểm của hệ thống

6.2. Nhược điểm của hệ thống

6.3. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về hệ thống tưới cây thông minh

Hệ thống tưới cây thông minh là một giải pháp công nghệ hiện đại, kết hợp giữa IoTtự động hóa để quản lý và điều khiển quá trình tưới tiêu. Hệ thống này sử dụng Arduino làm bộ xử lý trung tâm, kết hợp với SIM900 để giao tiếp qua SMS và web server để giám sát từ xa. Mục tiêu chính của hệ thống là tối ưu hóa việc sử dụng nước, đảm bảo cây trồng được chăm sóc hiệu quả mà không cần sự can thiệp thủ công. Hệ thống cũng tích hợp các cảm biến độ ẩm để đo lường chính xác điều kiện môi trường, từ đó điều chỉnh lượng nước tưới phù hợp.

1.1. Công nghệ IoT trong nông nghiệp

IoT đóng vai trò quan trọng trong việc chuyển đổi nền nông nghiệp truyền thống sang nông nghiệp thông minh. Việc kết nối các thiết bị qua internet cho phép người dùng giám sát và điều khiển hệ thống từ xa. Trong hệ thống này, web server được sử dụng để hiển thị dữ liệu từ các cảm biến và cung cấp giao diện điều khiển trực quan. Điều này giúp người dùng dễ dàng theo dõi và quản lý hệ thống tưới tiêu một cách hiệu quả.

1.2. Vai trò của Arduino và SIM900

Arduino là bộ xử lý trung tâm của hệ thống, đảm nhận việc thu thập dữ liệu từ các cảm biến và điều khiển các thiết bị tưới tiêu. SIM900 được tích hợp để giao tiếp qua SMS, cho phép người dùng điều khiển hệ thống từ xa thông qua tin nhắn. Sự kết hợp này mang lại tính linh hoạt cao, giúp hệ thống hoạt động ổn định ngay cả khi không có kết nối internet.

II. Thiết kế và hoạt động của hệ thống

Hệ thống được thiết kế gồm hai module chính: MasterSlave. Module Master đảm nhận việc xử lý dữ liệu và điều khiển các thiết bị tưới tiêu, trong khi module Slave thu thập dữ liệu từ các cảm biến như cảm biến độ ẩm đất, cảm biến nhiệt độ, và cảm biến siêu âm. Dữ liệu được truyền giữa hai module thông qua kết nối không dây sử dụng module RF APC220-43. Hệ thống hoạt động dựa trên hai chế độ: tự độngthủ công, cho phép người dùng linh hoạt điều chỉnh theo nhu cầu.

2.1. Module Master và Slave

Module Master là trung tâm điều khiển của hệ thống, tích hợp Arduino Uno R3 và các shield mở rộng như SIM900 shieldEthernet shield. Module Slave được trang bị các cảm biến để đo lường điều kiện môi trường. Dữ liệu từ Slave được truyền về Master thông qua kết nối RF, đảm bảo phạm vi hoạt động rộng và độ tin cậy cao.

2.2. Chế độ tự động và thủ công

Trong chế độ tự động, hệ thống tự động điều chỉnh lượng nước tưới dựa trên dữ liệu từ các cảm biến. Chế độ thủ công cho phép người dùng điều khiển hệ thống thông qua web server hoặc SMS. Tính linh hoạt này giúp hệ thống phù hợp với nhiều loại cây trồng và điều kiện môi trường khác nhau.

III. Ứng dụng và giá trị thực tiễn

Hệ thống tưới cây thông minh mang lại nhiều lợi ích thiết thực trong công nghệ nông nghiệp. Việc tự động hóa quá trình tưới tiêu giúp tiết kiệm nước và nâng cao năng suất cây trồng. Hệ thống cũng giảm thiểu sự phụ thuộc vào lao động thủ công, giúp người dùng quản lý vườn cây một cách hiệu quả hơn. Với khả năng giám sát thông minhđiều khiển từ xa, hệ thống này là giải pháp tối ưu cho các hộ gia đình và doanh nghiệp nông nghiệp.

3.1. Tiết kiệm tài nguyên

Hệ thống sử dụng các cảm biến độ ẩm để đo lường chính xác nhu cầu nước của cây trồng, từ đó điều chỉnh lượng nước tưới phù hợp. Điều này giúp tiết kiệm nước và giảm chi phí vận hành.

3.2. Nâng cao hiệu quả quản lý

Với khả năng giám sát từ xa thông qua web serverSMS, người dùng có thể quản lý hệ thống tưới tiêu một cách dễ dàng và hiệu quả. Điều này đặc biệt hữu ích trong các khu vực có diện tích lớn hoặc khó tiếp cận.

21/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan 3 Đồ án tốt nghiệp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG 2.1 Tổng quan về Arduino. Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source). Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều. Vậy Arduino là “cái” gì? 2.1 Arduino là gì? Arduino là một nền tảng điện tử mã nguồn mở, với phần cứng và phần mềm linh hoạt, dễ dàng sử dụng.

Arduino thường gồm một board mạch điện tử có vi xử lý, có thể kết nối với máy tính thông qua cổng USB. Bằng phần mềm Arduino trên máy tính, người dùng có thể viết và nạp chương trình xuống board, để thực hiện các tác vụ như mong muốn. Người dùng có thể ứng dụng Arduino để lập trình tương tác với đèn, động cơ, cảm biến hoặc các thiết bị khác.2 Khả năng của bo mạch Arduino Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560. Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả Chương 2: Cở sở lý thuyết phần cứng Trang 4 Đồ án tốt nghiệp năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).

Xung nhịp: 16MHz EEPROM: 1KB (ATmega328) và 4KB (ATmega2560) SRAM: 2KB (Atmega328) và 8KB (Atmega2560) Flash: 32KB (Atmega328) và 256KB (Atmega2560) Đọc tín hiệu cảm biến ngõ vào: a) Digital: Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. b) Analog: Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10 bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.

Số lượng cổng vào analog là 6 đối với Atmega328. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, siêu âm Xuất tín hiệu điều khiển ngõ ra: a) Digital output: Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. b) PWM output: Trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín hiệu điều chế xung PWM.

Độ phân giải của các tín hiệu PWM này là 8-bit. Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560 là 14. PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình.3 Phần mềm lập trình Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm.

Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có khả năng biên dịch và tải lên các chương Chương 2: Cơ sở lý thuyết phần cứng 5 Đồ án tốt nghiệp trình vào bo mạch với một nhấp chuột duy nhất. Một chương trình hoặc mã viết cho Arduino được gọi là “sketch”. Chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là “Wiring” từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều.

Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ: setup( ): hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập đầu chương trình. loop( ): hàm được gọi vòng lặp tuần hoàn cho đến khi bo mạch được tắt đi.2: Lưu đồ chương trình Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và sử dụng avrdude để tải lên các chương trình vào bo mạch chủ. Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino 2.4 Shield tương thích mở rộng Arduino và bảng mạch Arduino tương thích sử dụng các shield – bo mạch mạch điện được cắm vào bo mạch Arduino chính thường thông qua các đầu chân cắm trên bo mạch Arduino chủ. Shiel có thể cung cấp chức năng điều khiển động cơ, GPS, kết nối mạng ethernet, màn hình LCD, hoặc bảng mạch khung (tạo mẫu).

Một số shield cũng có thể được chế tạo để thực hiện DIY. Chương 2: Cơ sở lý thuyết phần cứng 6 Đồ án tốt nghiệp Hình 2.3: các loại shield cho arduino 2.2 Các loại bo mạch Arduino Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield). Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth.

Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.4: Các loại Board Arduino Chương 2: Cơ sở lý thuyết phần cứng 7 Đồ án tốt nghiệp 2.1 Arduino Uno R3 Hình 2.5: Board Arduino Uno R3 Hình trên là cận cảnh con Arduino Uno. Đối với chúng ta để sử dụng Arduino thì trước tiên cần quan tâm các thành phần được đánh số ở trên: (1) Cổng USB (loại B): đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính. (2) Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được.

Lúc đó, ta cần một nguồn 9V đến 12V. (3) Hàng Header: đánh số từ 0 đến 13 là hàng digital pin, nhận vào hoặc xuất ra các tín hiệu số. Ngoài ra có một pin đất (GND) và pin điện áp tham chiếu (AREF). (4) Hàng header thứ hai: chủ yếu liên quan đến điện áp đất, nguồn.

(5) Hàng header thứ ba: các chân để nhận vào hoặc xuất ra các tín hiệu analog. Ví dụ như đọc thông tin của các thiết bị cảm biến. (6) Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip này khác nhau.

Ở con Arduino Uno này thì sử dụng ATMega328. Chương 2: Cơ sở lý thuyết phần cứng 8 Đồ án tốt nghiệp Bảng 2.1: Thông số kĩ thuật của board Uno R3 Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ 30mA Điện áp vào khuyên dùng 7-12V – DC Điện áp vào giới hạn 6-20V – DC Số chân Digital I/O 14 (6 chân PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA 32 KB (ATmega328) với 0.5KB dùng bởi Bộ nhớ flash bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) 2.2 Arduino sim900 shield Modules SIM900 GSM/GPRS Shield sử dụng mạng điện thoại di động GSM để nhận dữ liệu từ một địa điểm từ xa. Module Sim900 đáp ứng được cả 3 dịch vụ:  Tin nhắn (Short Message Service)  Âm thanh  Dịch vụ GPRS Chương 2: Cơ sở lý thuyết phần cứng 9 Đồ án tốt nghiệp Module Sim900 GSM/GPRS Shield tương thích và phù hợp với hầu hết các board Arduino như (Uno R3, Mega 2560…). GPRS Shield được cấu hình và điều khiển thông qua UART bằng cách sử dụng lệnh AT.

Dựa trên các mô-đun SIM900, GPRS Shield giống như một điện thoại di động. Ngoài những tính năng truyền thông, GPRS Shield có 12 GPIOs, 2 PWM và ADC.6: Moduled sim900 shield  Tính năng − Dựa trên SIMCOM của module SIM900 − Quad-Band 850/900/1800/1900 MHz – sẽ làm việc trên các mạng GSM ở tất cả các nước trên thế giới. − Điều khiển thông qua lệnh AT − Dịch vụ tin nhắn ngắn – để bạn có thể gửi một lượng nhỏ dữ liệu qua mạng (ASCII hoặc thập lục phân thô). − Embedded TCP/UDP stack – cho phép bạn upload dữ liệu lên một máy chủ web.

− Loa và jack cắm tai nghe – để bạn có thể gửi tín hiệu DTMF hoặc ghi âm như một máy trả lời. − Hiện được chủ thẻ SIM và GSM Antenna. − 12 GPIOs, 2 PWM và ADC (tất cả các logic 2.8 volt) – để tăng thêm chân Arduino của bạn. − Tiêu thụ điện năng thấp – 1.5mA (chế độ ngủ) − Dải nhiệt độ hoạt động -40 ° C đến 85 ° C Chương 2: Cơ sở lý thuyết phần cứng 10 Đồ án tốt nghiệp  Mô tả phần cứng Hình 2.6: Mô tả phần cứng sim900 shield - Power select – Công tắc bật nguồn cho module sim900 GSM/GPRS.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Hệ thống tưới cây thông minh kết nối web server và SIM900 sử dụng Arduino là một tài liệu chuyên sâu về việc ứng dụng công nghệ IoT trong nông nghiệp. Tài liệu này tập trung vào việc thiết kế và triển khai hệ thống tưới tự động thông minh, sử dụng Arduino làm bộ điều khiển trung tâm, kết hợp với module SIM900 để kết nối Internet và web server. Hệ thống này cho phép người dùng giám sát và điều khiển quá trình tưới cây từ xa, tiết kiệm thời gian và tối ưu hóa nguồn nước. Đây là giải pháp hiệu quả cho nông nghiệp thông minh, đặc biệt trong bối cảnh biến đổi khí hậu và nhu cầu tăng năng suất cây trồng.

Để hiểu rõ hơn về các ứng dụng IoT trong nông nghiệp, bạn có thể tham khảo Đồ án hcmute điều khiển và giám sát vườn rau thông minh tiêu chuẩn vietgap bằng arduino và sim900, tài liệu này cung cấp chi tiết về việc áp dụng Arduino và SIM900 trong giám sát vườn rau. Ngoài ra, Đồ án hcmute thiết kế và thi công mô hình nhà kính trồng cà chua sử dụng IoT sẽ giúp bạn khám phá cách IoT được tích hợp vào nhà kính để tối ưu hóa điều kiện trồng trọt. Cuối cùng, Đồ án tốt nghiệp hệ thống điều khiển và giám sát trang trại nông nghiệp bằng công nghệ IoT là một tài liệu toàn diện về việc quản lý trang trại thông minh, mang lại cái nhìn tổng quan về tiềm năng của IoT trong nông nghiệp.