Tải bản đầy đủ (.docx) (28 trang)

Nghiên cứu và thiết kế giải pháp cho hệ thống tưới tiêu nông nghiệp tự động theo giá trị độ ẩm của đất canh tác

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.85 MB, 28 trang )

MỤC LỤC
BẢNG PHÂN CHIA CÔNG VIỆC.............................................................................6
LỜI MỞ ĐẦU..............................................................................................................7
NỘI DUNG................................................................................................................... 9
Chương I: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI.........................................................9
1.1.

Yêu cầu thực tiễn của việc lựa chọn và xây dựng đề tài..............................9

1.2. Tổng quan về sản phẩm....................................................................................9
1.2.1. Khái niệm......................................................................................................9
1.2.2. Sơ lược về chức năng của sản phẩm..............................................................9
1.2.3. Ứng dụng thực tiễn......................................................................................10
Chương 2: CẤU TRÚC PHẦN CỨNG CỦA HỆ THỐNG.....................................12
2.1. Bo mạch Arduino Uno R3...............................................................................12
2.2. Chức năng của Vi điều khiển ATmega328 họ 8bit........................................15
2.3. Các thiết bị ngoại vi.........................................................................................15
2.3.1. Cảm biến đo độ ẩm và bộ chuyển đổi.........................................................15
2.3.1.1. Cảm biến đo độ ẩm...............................................................................16
2.3.1.2. Bộ chuyển đổi.......................................................................................16
2.3.3. Bộ chuyển đổi I2C cho màn hình LCD 16x2..............................................18
2.3.4. Màn hình LCD 16x2...................................................................................19
2.3.4. Module Relay 1 kênh 5V.............................................................................21
2.3.5. Nút nhấn (Button).......................................................................................24
2.4. Phần mềm mô phỏng Proteus.........................................................................24
Chương 3: THIẾT KẾ, CHẾ TẠO HỆ THỐNG VÀ KẾT QUẢ SẢN PHẨM.....26
3.1. Tiêu chí kĩ thuật...............................................................................................26
3.1.1. Mục tiêu nghiên cứu của hệ thống...............................................................26
3.1.2. Các thông số kĩ thuật của thiết bị................................................................26
3.2. Sơ đồ thuật toán và nguyên lí hoạt động của hệ thống.................................27
3.2.1. Sơ đồ thuật toán...........................................................................................27


3.2.2. Nguyên lí hoạt động của hệ thống...............................................................27
3.2.3. Sơ đồ nguyên lí mạch..................................................................................28
3.3. Kết quả hoạt động...........................................................................................28
3.4. Ưu nhược điểm của hệ thống..........................................................................30
3.4.1. Ưu điểm......................................................................................................30
3.4.2. Nhược điểm.................................................................................................31


KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................................32
DANH MỤC TÀI LIỆU THAM KHẢO..................................................................34
NHẬN XÉT CỦA GIÁO VIÊN.................................................................................35


DANH MỤC HÌNH ẢNH, BẢNG BIỂU
Hình 1.1. Hệ thống tưới áp dụng cho vườn cây cảnh...................................................10
Hình 1.2. Hệ thống tưới tự động cho cây trồng............................................................11
Hình 1.3. Hệ thống tưới tự động trong hệ thống vườn công nghệ cao.........................11
Hình 2.1. Phần mềm lập trình cho Arduino..................................................................15
Hình 2.2. Thanh đo giá trị độ ẩm đất...........................................................................16
Hình 2.3. Cảm biến do độ ẩm và bộ chuyển đổi..........................................................17
Hình 2.4. Màn hình Lcd 16x2......................................................................................19
Hình 2.5. Hình ảnh Rơ le trên thực tế..........................................................................21
Hình 2.6. Mặt trước của bộ đọc thời gian thực DS1307...............................................23
Hình 2.7. Mặt sau của bộ đọc thời gian thực DS1307..................................................23
Hình 2.8. Nút nhấn 2 chân vuông đen 6mm.................................................................24
Hình 2.9. Giao diện khởi động phần mềm Proteus......................................................25
Hình 3.1. Sơ đồ mạch của hệ thống (trình bày qua Proteus)........................................28
Hình 3.2. Cấu hình khoảng thời gian...........................................................................29
Hình 3.3. Cấu hình ngưỡng độ ẩm...............................................................................29
Hình 3.4. Màn hình hiển thị thông tin Lcd 16x2..........................................................29

Hình 3.5. Menu cấu hình các thông số của hệ thống....................................................29
Hình 3.6. Cấu hình, chỉnh sửa ngày và giờ..................................................................30
Hình 3.7. Bật/tắt đèn nền Lcd16x2..............................................................................30


LỜI MỞ ĐẦU
Kỉ nguyên của công nghệ - Kỉ nguyên 4.0 đang mở ra và phát triển rầm rộ trên
mọi mặt. Việc áp dụng các thiết bị công nghệ vào việc hỗ trợ con người ngày càng
được ứng dụng rộng rãi trên mọi phương diện của cuộc sống. Nhất là việc ứng dụng
các thiết bị công nghệ cao, thiết bị có tính tự động hoá vào việc hỗ trợ cho con người
trong sinh hoạt và công việc ngày càng tăng. Ở Việt Nam chúng ta cũng vậy, Nhà
nước, Chính phủ cũng đang tích cực chủ trương, đầu tư mạnh mẽ và công nghê, xây
dựng các chính sách, thành lập chính phủ điện tử, thúc tiến các doanh nghiệp, tạo đòn
bẫy thúc đẩy đất nước bước vào thời kì mới – thời kì công nghệ và hội nhập.
Bên cạnh sự phát triển đó thì hiện nay nhiều vấn đề nan giải đã và đang phát
sinh mạnh, ảnh hưởng rất lớn tới công việc và sinh hoạt của mọi người. Điển hình như
trong nông nghiệp là là vấn nạn thiếu nguồn nước sạch, đất nhiễm mặn, điện năng
ngày càng thiếu thốn, khí hậu biến đổi rất thất thường. Do đó, rất cần những giải pháp
của con người để giải quyết các vấn đề này.
Nắm bắt được tinh thần đó, nhóm chúng tôi quyết định chọn đề tài: “Nghiên
cứu và thiết kế giải pháp cho hệ thống tưới tiêu nông nghiệp tự động theo giá trị độ
ẩm của đất canh tác” để hỗ trợ người nông dân không cần phải thực hiện việc tưới
tiêu theo phương pháp thủ công bình thường, tiết kiệm được sức lực. Hơn nữa, hệ
thống có thể tiết kiệm được chi phí điện đài và sử dụng hợp lí nguồn nước những vẫn
có thể đảm bảo được khả năng phát triển của cây trồng. Trong thời gian nghiên cứu
mặc dù đã rất cố gắng đầu tư thời gian và học hỏi ở những người làm trong lĩnh vực.
Tuy nhiên tài liệu nghiên cứu hạn chế, việc chế tạo thiết bị khá phức tạp và mắc phải
nhiều khó khăn nên không thể tránh những thiếu sót. Kính mong thầy cô giá đóng góp
ý kiến chỉnh sửa nội dung để đề tài của nhóm được hoàn thiện hơn.
Chức năng tổng quát của hệ thống:

+ Đo được giá trị độ ẩm của đất.
+ Cảnh báo được độ ẩm khi vượt quá ngưỡng quy định.
+ Hiển thị giá trị đo đạc lên màn hình LCD 16x2.
+ Đánh giá độ ẩm và thực hiện điều khiển (máy bơm nước) theo điều kiện độ
ẩm.
4


+ Tự động tắt máy khi đạt được ngưỡng độ ẩm thiết lập sẵn
+ Cấu hình ngưỡng cảnh báo của giá trị độ ẩm.

Đề tài “Nghiên cứu và thiết kế giải pháp cho hệ thống tưới tiêu nông
nghiệp tự động theo giá trị độ ẩm của đất canh tác” của nhóm tập trung nghiên
cứu để thiết kế, chế tạo được hệ thống đưa ra được sơ đồ thiết kế hệ thống và
đánh giá được kết quả. Nhằm tạo ra một sản phẩm với đầy đủ các chức năng cần
thiết tiến tới hoàn thiện sản phẩm đưa vào ứng dụng trong thực tế.
Đề tài gồm có 3 chương:
Chương 1: Cơ sở lý thuyết của đề tài
Chương 2: Cấu trúc phần cứng của hệ thống
Chương 3: Thiết kế, chế tạo hệ thống và kết quả của sản phẩm

5


NỘI DUNG
Chương I: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI
1.1.

Yêu cầu thực tiễn của việc lựa chọn và xây dựng đề tài
Việt Nam là một nước có nông nghiệp là ngành quan trọng, chiếm tỉ trọng cao


trong cơ cấu kinh tế cả nước, đóng góp một phần rất lớn vào GDP hằng năm, giải
quyết việc làm cho một số lượng không nhỏ lao động. Với những ưu đãi mà thiên niên
ban tặng, cùng những phẩm chất cần cù, chịu khó của con người trên dải đất hình chữ
S mà nông ngiệp, cụ thể hơn là ngành trồng trọt, đã mang lại nhiều sản phẩm ngày
càng được nâng cao về số lượng và chất lượng. Tuy nhiên, đó chỉ là bề nổi của “tảng
băng trôi” và nếu biết khai thác “phần còn chìm”, chúng ta có thể tiến xa hơn nữa.
Phần còn chìm ở đây chính là việc áp dụng những thành tựu của khoa học kĩ thuật vào
trồng trọt tuy đã có nhiều tiến bộ, song so với nhiều quốc gia phát triển khác, chúng ta
còn phải thay đổi nhiều hơn nữa.
Năm 2019 - Năm của công nghệ số, khi mà tự động hóa can thiệp sâu và mạnh
mẽ hơn nữa vào mọi lĩnh vực của đời sống con người, học tập, sáng chế, lao đông và
giải trí,v.v… Nắm bắt xu thế phát triển của xã hội, cùng với hi vọng sẽ là mầm mống
khơi nguồn ý tưởng cho những công trình nghiên cứu tầm cỡ hơn trong lĩnh vực này,
nhóm em chọn đề tài “Nghiên cứu và thiết kế giải pháp cho hệ thống tưới tiêu nông
nghiệp tự động theo giá trị độ ẩm của đất canh tác” làm đề tài nghiên cứu và báo cáo,
phục vụ cho học phần Kĩ thuật vi xử lí và điều khiển của mình.
1.2. Tổng quan về sản phẩm
1.2.1. Khái niệm
Hệ thống tưới tiêu nông nghiệp tự động theo giá trị độ ẩm đất là hệ thống sử
dụng cảm biến độ ẩm đo giá trị độ ẩm đất canh tác, từ đó tự động vận hành hệ thống
tưới tự động nếu giá trị độ ẩm không đạt yêu cầu và ngắt hoạt động của hệ thống khi
độ ẩm đã đạt yêu cầu.
Hệ thống gồm phần tiếp nhận và xử lí điều kiện độ ẩm (cảm biến, vi điều khiển,
màn hình, rơle và khối thời gian thực) và phần “phản ứng lại với môi trường” chính là
máy bơm và hệ thống đường dẫn nước tùy vào quy mô, địa hình của vườn cây.
1.2.2. Sơ lược về chức năng của sản phẩm
6



Để thiết kế hệ thống tươi tiêu tự động theo độ ẩm trên đất canh tác, cần quan
tâm đến các vấn đề sau:
 Độ ẩm của đất canh tác
 Thời gian tưới trong ngày
 Xuất thông tin để cho người sử dụng đọc và hiểu được
 Tự động bật/tắt máy bơm khi độ ẩm ra khỏi ngoài ý muốn của người sử dụng
 Hệ thống nhỏ gọn, dễ sử dụng, đầy đủ chức năng cần thiết.
1.2.3. Ứng dụng thực tiễn
Với máy bơm và hệ thống đường dẫn có thể linh hoạt điều chỉnh theo quy mô
của vườn cần sử dụng, phần tiếp nhận và xử lí điều kiện độ ẩm( cảm biến, vi điều
khiển, màn hình, relay và khối thời gian thực) với giá thành xấp xỉ 300.000 vnd và độ
bền cao, đề tài có thể sử dụng thích hợp cho nhiều loại hình.
- Sử dụng cho vườn hoa trong nhà khi mà công việc bận rộn khiến chúng ta
không có thời gian để chăm sóc vườn cây cảnh hàng ngày.

Hình 1.1. Hệ thống tưới áp dụng cho vườn cây cảnh
- Những vườn cây kinh tế quy mô lớn cũng hoàn toàn có thể sử dụng thiết bị
của nhóm chúng em, chỉ cần kết nối với một máy bơm công suất thích hợp và lắp đặt

7


hệ thống đường dẫn phù hợp là thiết bị hoàn toàn có thể thực hiện tốt chức năng của
nó.

Hình 1.2. Hệ thống tưới tự động cho cây trồng
- Đối với những vườn ươm sinh vật phục vụ cho nghiên cứu, lai tạo, đòi hỏi
công nghệ cao, thiết bị của nhóm chúng em hoạt động ổn định, độ chính xác cao,
hoàn toàn có thể đáp ứng được.


Hình 1.3. Hệ thống tưới tự động trong hệ thống vườn công nghệ cao

8


Chương 2: CẤU TRÚC PHẦN CỨNG CỦA HỆ THỐNG
2.1. Bo mạch Arduino Uno R3
Một vài thông số của Arduino 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ụ

khoảng 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 hardware 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)

+ Vi điều khiển: Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là
ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản
như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một
trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác.
+ Năng lượng hoạt động: Arduino UNO có thể được cấp nguồn 5V thông qua
cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là
6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn
nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng
Arduino UNO.
+ Các chân năng lượng:
9


 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được
nối với nhau.
 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực
dương của nguồn với chân này và cực âm của nguồn với chân GND.
 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V
từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương
với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.

+ Bộ nhớ : Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ
nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được
dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai
báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ
RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn
phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
 1KB cho EEPROM (Electrically Eraseble Programmable Read Only
Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu
của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
+ Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín
hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là
40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
10


 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
– RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2
chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây.
Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite().
Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V
đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức
SPI với các thiết bị khác.

 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm
nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, LED sẽ sáng.
 Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên
board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là
nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện
áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác
+ Lập trình cho Arduino: Các thiết bị dựa trên nền tảng Arduino được lập trình
bằng ngôn riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng
nói chung. Và Wiring lại là một biến thể của C/C++. Một số người gọi nó là Wiring,
một số khác thì gọi là C hay C/C++. Riêng mình thì gọi nó là “ngôn ngữ Arduino”, và
đội ngũ phát triển Arduino cũng gọi như vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++
phổ biến hiện nay do đó rất dễ học, dễ hiểu.
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino
được gọi là Arduino IDE (Intergrated Development Environment) như hình dưới đây:
11


Hình 2.1. Phần mềm lập trình cho Arduino
2.2. Chức năng của Vi điều khiển ATmega328 họ 8bit
Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ
MegaAVR có sức mạnh hơn hẳn Atmega8. Atmega 328 là một bộ vi điều khiển 8 bít
dựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng
nghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bít
(2KB SRAM)
Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ

timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt),
giao thức truyền thông nối tiếp USART, SPI, I2C. Ngoài ra có thể sử dụng bộ biến đổi
số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog
timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung
(PWM), hỗ trợ bootloader.
Atemega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V – 5.5V),
tốc độ thực thi (thông lượng) 1MIPS trên 1MHz
2.3. Các thiết bị ngoại vi
2.3.1. Cảm biến đo độ ẩm và bộ chuyển đổi
12


Bộ sản phẩm gồm một cảm biến độ ẩm đất và một module chuyển đổi với ngõ ra
Analog - Digital. Cảm biến độ ẩm đất được hoạt động với 2 chế độ ngõ ra (Analog &
Digital), trạng thái đầu ra mức thấp (0V), khi đất thiếu nước đầu ra sẽ là mức cao (5V)
2.3.1.1. Cảm biến đo độ ẩm
Hai đầu đo của cảm biến được cắm vào đất để phát hiện độ ẩm. Dùng dây nối
giữa cảm biến và module chuyển đổi. Thông tin về độ ẩm đất sẽ được đọc về và gửi tới
module chuyển đổi

Hình 2.2. Thanh đo giá trị độ ẩm đất
2.3.1.2. Bộ chuyển đổi
Module chuyển đổi có cấu tạo chính gồm một IC so sánh LM393, một biến trở ,
4 điện trở dán 100 ohm và 2 tụ dán. Biến trở có chức năng định ngưỡng so sánh với tín
hiệu độ ẩm đất đọc về từ cảm biến. Ngưỡng so sánh và tín hiệu cảm biến sẽ là 2 đầu
vào của IC so sánh LM393. Khi độ ẩm thấp hơn ngưỡng định trước, ngõ ra của IC là
mức cao (1), ngược lại là mức thấp (0).
Đặc điểm
 Điện áp hoạt động: 3.3V-5V
 Kích thước PCB: 3cm * 1.6cm

 Led báo hiệu
 Led đỏ báo nguồn
13


 Led xanh báo mức độ ẩm ở pin DO
 Mô tả các pin trên module

Hình 2.3. Cảm biến do độ ẩm và bộ chuyển đổi
Pin

Mô tả

VCC

3.3V-5V

GND

GND

DO

Đầu ra tín hiệu số (0 và 1)

AO

Đầu ra Analog (tín hiệu tương tự)

Ứng dụng:

Cảm biến độ ẩm đất có thể được sử dụng cho các ứng dụng nông nghiêp, tưới
nước tự động cho các vườn cây khi đất khô, hoặc dùng trong các ứng dụng của hệ
thống nhà thông minh.
Sử dụng cơ bản
Đọc giá trị analog từ pin AO của module và hiển thị dữ liệu độ ẩm lên Serial
Monitor

14


Kết nối
ESP8266

Module chuyển đổi

5V

Vcc

GND

GND

ADC

AO

2.3.3. Bộ chuyển đổi I2C cho màn hình LCD 16x2
LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng
nhiều chân của vi điều khiển? Module chuyển đổi I2C cho LCD sẽ giải quyết vấn đề

này cho bạn, thay vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD
(RS, EN, D7, D6, D5 và D4) thì với module chuyển đổi bạn chỉ cần sử dụng 2 chân
(SCL, SDA) để kết nối. Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver
HD44780(LCD 1602, LCD 2004, … ), kết nối với vi điều khiển thông qua giao tiếp
I2C, tương thích với hầu hết các vi điều khiển hiện nay.
Ưu điểm
 Tiết kiệm chân cho vi điều khiển
 Dễ dàng kết nối với LCD
Thông số kĩ thuật
 Điện áp hoạt động: 2.5-6V DC
 Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)
 Giao tiếp: I2C
 Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)
 Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H)
 Trọng lượng: 5g
 Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
15


 Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
Module chuyển đổi

Uno R3

GND

GND

VCC


5V

SDA

A4

SCL

A5

2.3.4. Màn hình LCD 16x2
LCD text 1602 một sản phẩm sử dụng cho các dự án về điện tử, lập trình. Với
khả hiển thị 2 dòng với mỗi dòng 16 ký tự.
 Điện áp hoạt động: 5V
 Kích thước: 80 x 36 x 12.5 mm
 Chữ trắng, nền xanh
 Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với
Breadboard
 Đèn led nền có thể dùng biến trở hoặc PWM điều chình độ sáng thích hợp
 Có thể được điều khiển với 6 dây tín hiệu

Hình 2.4. Màn hình LCD 16x2
16


 VSS: cực âm nguồn cho LCD - GND: 0V
 VDD: cực dương nguồn LCD - 5V
 Constrast Voltage (Vo): điều khiển độ sáng màn hình
 Register Select (RS): lựa chọn thanh ghi
 RS=0 chọn thanh ghi lệnh

 RS=1 chọn thanh ghi dữ liệu
 Read/Write (R/W)

 R/W=0 ghi dữ liệu
 R/W=1 đọc dữ liệu.
 Enable: Cho phép ghi vào LCD
 D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng
 Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
 Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là
DB7.
 Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn
hình LCD.
Kết nối
Arduino với biến trở: Biến trở có 3 chân, chọn 1 chân làm GND, chân giữa
tương ứng với núm vặn, chân còn lại kết nối VCC.

Arduino

Biến trở

VSS

GND

VDD

VCC

ADC


OUT
17


Arduino

12

GND

11

5

4

3

2

LCD

RS

RW

E

D4


D5

D6

D7

2.3.4. Module Relay 1 kênh 5V
Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài. Trên module có
opto để cách ly dòng ngược về, hiệu suất ổn định. Có thể set các mức cao thấp bằng
cách thiết lập jumper trên module Có Led báo nguồn màu xanh, Led báo trạng thái
Relay màu đỏ. Kết nối module với mạch điều khiển đơn giản.

Hình 2.5. Hình ảnh rơ le trên thực tế

Pin

Chức năng

VCC

Điện áp dương của nguồn 5V (VCC)

GND

Điện áp âm của nguồn (GND)

IN

Có thể set mức cao hoạt thấp để điều khiển Relay


NO

Chân thường mở của Relay

COM

Chân chung của Relay

NC

Chân thường đóng của Relay
18


Thông số kỹ thuật
 Điện áp tải maximum: AC 250V/10A, DC 30V/10A
 Điện áp hoạt động: 5V
 Dòng kích Relay: 5mA
 Sáu lỗ Via để bắt ốc: đường kính 3.1mm
 Kích thước: 50x26x18.5mm
2.3.5. Bộ đọc thời gian thực DS1307
DS1307 là chip thời gian thực hay RTC (Read time clock). Đây là một IC tích
hợp cho thời gian bởi vì tính chính xác về thời gian tuyệt đối cho thời gian: Thứ,
ngày,tháng, năm, giờ, phút, giây. Chip này có 7 thanh ghi 8 bit mỗi thanh ghi này chứa
: Thứ , ngày, tháng, năm, giờ , phút, giây. Ngoài ra DS1307 còn chứa 1 thanh ghi điều
khiển ngõ ra phụ và 56 thanh ghi trống các thanh ghi này có thể dùng như là RAM.
DS1307 được đọc thông qua chuẩn truyền thông I2C nên do đó để đọc được và ghi từ
DS1307 thông qua chuẩn truyền thông này. Do nó được giao tiếp chuẩn I2C nên cấu
tạo bên ngoài nó rất đơn giản
Đặc điểm:

 Nguồn cấp: 5VDC
 Sử dụng LIR2032 pin lithium có thể sạc lại
 Kích thước: 27 x 28x 8.4mm
 Các thiết bị I2C khác có thể được cascaded.
 56 byte RAM non-volatile
 Bộ nhớ có thể lưu trữ dữ liệu đến năm 2100.

19


Hình 2.6. Mặt trước của bộ đọc thời gian thực DS1307

Hình 2.7. Mặt sau của bộ đọc thời gian thực DS1307
Trên là hai dạng cấu tạo của DS1307. Chip này có 8 chân và chúng ta hay dùng
là dạng Dip và các chân nó được mô tả như sau :
+ X1 và X2 là đầu vào dao động cho DS1307. Cần dao động thạch anh
32.768Khz.[separator]
+ Vbat là nguồn nuôi cho chip. Nguồn này từ ( 2V- 3.5V) ta lấy pin có nguồn
3V. Đây là nguồn cho chip hoạt động liên tục khi không có nguồn Vcc mà DS1307 vẫn
hoạt động theo thời gian
20


+ Vcc là nguồn cho giao tiếp I2C. Điện áp cung cấp là 5V chuẩn và được dùng
chung với vi xử lý. Nếu mà Vcc không có mà Vbat có thì DS1307 vẫn hoạt động bình
thường nhưng mà không ghi và đọc được dữ liệu.
+ GND là nguồn Mass chung cho cả Vcc và Vbat
+ SQW/OUT là một ngõ ra phụ tạo xung dao động (xung vuông). Chân này tôi
nghĩ không ảnh hưởng đến thời gian thực nên chúng ta không sử dụng chân này trong
thời gian thực và bỏ trống chân này!

+ SCL và SDA là hai bus dữ liệu của DS1307. Thông tin truyền và ghi đều
được truyền qua 2 đường truyền này theo chuẩn I2C
2.3.5. Nút nhấn (Button)
Nút nhấn là một thiết bị cơ khí được dùng để bật/tắt các thiết bị khác, làm nút
nguồn hay nói cách khác thiết lập chuyển trạng thái của các thiết bị từ bật sang tắt và
ngược lại từ tắt sáng bật. Ngoài ra, còn có thể sử dụng làm nút nhấn menu

Hình 2.8. Nút nhấn 2 chân vuông đen 6mm
2.4. Phần mềm mô phỏng Proteus
Phần mềm Proteus hình 2.9. là phần mềm cho phép mô phỏng hoạt động của
mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ
vi điều khiển như MCS-51, PIC, AVR,.. Proteus là phần mềm mô phỏng mạch điện tử

21


của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc
biệt hỗ trợ cho các MCU như PIC, 8051, AVR.
Phần mềm bao gồm 2 chường trình: ISIS cho phép mô phỏng mạch và ARES
dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại vi điều khiển khá tốt,
nó hỗ trợ các dòng vi điều khiển như PIC, 8051, dsPIC, AVR, HC11…. Các giao tiếp
I2C, SPI, CAN, USB, Ethenet… Ngoài ra còn mô phỏng các mạch số, mạch tương tự
một cách hiệu quả.

Hình 2.9. Giao diện khởi động phần mềm Proteus

22


Chương 3: THIẾT KẾ, CHẾ TẠO HỆ THỐNG VÀ KẾT QUẢ SẢN PHẨM

3.1. Tiêu chí kĩ thuật
3.1.1. Mục tiêu nghiên cứu của hệ thống
Đối với hệ thống tưới tiêu tự động dưa trên độ ẩm của đất thì đề tài phải đảm
bảo được các tính năng và công dụng của nó được đưa vào ứng dụng thực tế, góp phần
đưa khoa học – công nghệ đến với Nông nghiệp và hỗ trợ, góp phần tang năng suất,
hiệu quả cây trồng cho bà con nông dân.
Và để làm được như vậy thì sản phẩm đặt ra phải có các tính năng sau đây:
+ Có thể đo đạt được giá trị độ ẩm của đất canh tác.
+ Hiển thị các thông số giá trị lên màn hình LCD bao gồm: Độ ẩm, thời gian,
ngày, tháng, năm.
+ Có thể đánh giá, so sánh với ngưỡng độ ẩm được thiết lập sẵn để điều khiển
tự động máy bơm nước
+ Tự động tắt máy bơm khi độ ẩm đã đạt được yêu cầu
+ Cấu hình được ngưỡng cảnh báo của giá trị độ ẩm
+ Cấu hình được khoảng thời gian đo độ ẩm để máy bơm hoạt động
+ Hệ thống nhỏ gọn, dễ sử dụng và có tính ứng dụng vào thực tiễn cao
3.1.2. Các thông số kĩ thuật của thiết bị
Hệ thống tưới tiêu cho nông nghiệp tự động dưa trên độ ẩm của đất canh tác có
các thông số cơ bản sau:
Điện áp hoạt động
Dòng điện tiêu thụ
Hiển thị
Độ chính xác
Nhiệt độ hoạt động
Thời gian hoạt động
Điện áp ra

5V – DC
<300mA
Màn hình LCD 16x2

95% - 97%
70C – 500C
24/24
5V - DC

3.2. Sơ đồ thuật toán và nguyên lí hoạt động của hệ thống
3.2.1. Sơ đồ thuật toán
23


3.2.2. Nguyên lí hoạt động của hệ thống
- Khi cho dòng điện vào Arduino UNO R3 thì hệ thống sẽ hoạt động. Đầu tiên
chúng ta sẽ thiết lập khoảng ngưỡng độ ẩm, khoảng thời gian để khởi động máy bơm
thông qua hệ thống menu 5 nút bấm.
- Hệ thống sẽ cập nhật thông tin về độ ẩm của đất liên tục cùng với thời gian và
xuất ra trên màn hình LCD 16x2 để cho người sử dụng sẽ có thể nhìn thấy.
- Vào khung giờ được cài đặt thiết lập từ trước thì hệ thống sẽ tiến hành so sánh
giá trị độ ẩm hiện tại với giá trị độ ẩm đã thiết lập từ trước nếu:
+ Độ ẩm đã vượt lên trên độ ẩm cho phép thì hệ thống hoạt động bình thường
+ Độ ẩm đo được thấp hơn so với ngưỡng dưới của độ ẩm đã thiết lập trước thì
hệ thống sẽ ra tín hiệu tự động khởi động máy bơm nước và hệ thống vẫn tiếp tục đo
độ ẩm của đất. Khi máy bơm tiến hành bơm nước đến độ ẩm cần thiết (bằng với giá trị
24


ngưỡng trên của độ ẩm đã thiết lập) thì sẽ có tín hiệu ngắt máy bơm. Sau đó hệ thống
hoạt động đo độ ẩm như bình thường
3.2.3. Sơ đồ nguyên lí mạch

Hình 3.1. Sơ đồ mạch của hệ thống (trình bày qua Proteus)

3.3. Kết quả hoạt động
Kết quả hoạt động của hệ thống
+ Cấu hình khoảng thời gian và khoảng ngưỡng độ ẩm

Hình 3.2. Cấu hình khoảng thời gian

25


×