i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ, THI CÔNG MÔ HÌNH HỆ THỐNG TƢỚI RAU TỰ ĐỘNG DUNG ARDUINO NGÀNH KỸ THUẬT ĐIỆN GIẢNG VIÊN HƢỚNG DẪN Ths Huỳnh Phát Huy Sinh viên thực hiện MSSV Lớp Nguyễn Minh Phúc 1711020039 17DDCA1 Nguyễn Hồng Vinh 1711020082 17DDCA1 Phạm Quang Minh 1711020217 17DDCA1 Tp Hồ Chí Minh, tháng (ghi ngày tháng bảo vệ) iii 1 1 LỜI CẢM ƠN Lời đầu tiên em xin kính gửi đến quý Thầy Cô ở Viện Kỹ.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ, THI CÔNG MÔ HÌNH HỆ THỐNG TƯỚI RAU TỰ
ĐỘNG DUNG ARDUINO NGÀNH: KỸ THUẬT ĐIỆN
GIẢNG VIÊN HƯỚNG DẪN: Ths.Huỳnh Phát Huy
Tp Hồ Chí Minh, tháng …/… (ghi ngày tháng bảo vệ)
Trang 2Đặc biệt em xin chân thành cảm ơn thầy Huỳnh Phát Huy, người đã
tận tình hướng dẫn, trực tiếp chỉ bảo và tạo mọi điều kiện giúp đỡ trong suốt
quá trình làm đồ án tốt nghiệp Em chân thành cảm ơn ban lãnh đạo Trường Đại học Công Nghệ TP Hồ Chí Minh đã cho phép và tạo điều kiện thuận
lợi để chúng em hoàn thành đồ án tốt nghiệp
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên, bài báo cáo này không thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này
Sau cùng, em xin kính chúc quý thầy cô trong Viện Kỹ Thuật Hutech
và thật quý thầy cô dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau
EM XIN CHÂN THÀNH CẢM ƠN!
Trang 3TÓM TẮT
Nông nghiệp là ngành kinh tế chủ lực và gắn bó với người Việt Nam từ rất lâu đời Ngày nay, nhờ áp dụng khoa học kĩ thuật vào trồng trọt và chăn nuôi mà nền nông nghiệp đã gặt hái được những thành tựu to lớn Tuy nhiên, các thiết bị trong nông nghiệp vẫn còn thô sơ, chưa bắt kịp các công nghệ tiên tiến trên thế giới
Xu hướng phổ biến tạo ra các mạng lưới vạn vật kết nối thông qua internet được ứng dụng không những trong nền nông nghiệp thông minh theo mô hình lớn nói chung mà còn hiện diện theo dạng mô hình nhỏ nói riêng tại các hộ gia đình Trong thực trạng kinh doanh không quan tâm đến sức khỏe khi người bán đặt lợi ích cá nhân cao hơn lợi ích cộng đồng, các nông sản bẩn có nhiều cơ hội tiếp cận và đã gây ít
nhiều ảnh hưởng trầm trọng cho sức khỏe cho người tiêu dùng Đề tài “Thiết kế, thi công mô hình hệ thống tưới rau tự động dùng Arduino” là mô hình trồng rau sạch
đã được nhóm sinh viên thực hiện đề tài chọn để tìm hiểu và nghiên cứu nhằm giải quyết vấn đề trồng rau sạch và an toàn cho người sử dụng
Với hệ thống được thiết kế, người dùng có thể lựa chọn loại rau và điều khiển tưới tiêu thông qua điện thoại đã được kết nối Internet
Kết quả đồ án là mô hình thi công cho hệ thống thủy canh ở mức độ quy mô nhỏ với khả năng bật tắt bơm, hệ thống từ xa mà không cần chạm vào, ngoài ra, các dữ liệu được hiển thị thời gian thực lên màn hình oled giúp dễ dàng kiểm soát các thông
số dinh dưỡng ở vườn rau Người dùng có thể tự do bật tắt các thiết bị thủ công theo ý muốn điều khiển của mình.hoặc nâng cấp, phát triển mở rộng thêm vườn rau sau này
Do thời gian thực hiện đồ án có hạn nên nhóm sinh viên thực hiện đề tài rất mong
nhận được sự đóng góp ý kiến từ quý thầy cô và các bạn
Trang 4MỤC LỤC
TÓM TẮT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT ix
DANH MỤC CÁC BẢNG BIỂU x
DANH MỤC HÌNH ẢNH xi
CHƯƠNG 1: GIỚI THIỆU 1
1.1 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1
1.1.1 Đặt vấn đề: 1
1.1.2 Tính cấp thiết của vấn đề: 1
CHƯƠNG 2: TỔNG QUAN GIẢI PHÁP 2
2.1 MỤC TIÊU ĐỀ TÀI 2
2.2 GIỚI HẠN ĐỀ TÀI 2
2.3 BỐ CỤC ĐỒ ÁN 3
CHƯƠNG 3: PHƯƠNG PHÁP GIẢI QUYẾT 4
3.1 CÁC CƠ SỞ LÝ THUYẾT 4
3.1.1 Chuẩn truyền dữ liệu nối tiếp UART 4
3.1.2 Giao tiếp I 2 C 5
3.1.3 Web Sever và Cơ sở dữ liệu 7
3.1.4 Lý thuyết sóng Wifi 9
3.1.5 Giao thức TCP 11
3.1.6 Độ dẫn điện trong dung dịch 12
3.1.6.1 Khái niệm 12
3.1.7 Độ pH 13
Trang 53.1.8 Kỹ thuật trong trồng thủy canh 14
3.2 GIỚI THIỆU CÁC LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG: 17
3.2.1 PHẦN MỀM MÔ PHỎNG PROTEUS 17
3.3 ARDUINO IDE VÀ LẬP TRÌNH CHO ARDUINO 19
3.4 MÔ PHỎNG HỆ THỐNG 20
3.4.1 Mô phỏng mạch nguyên lý trên Proteus 20
3.5 Module Wifi ESP8266 Node MCU 26
3.5.1 Giới thiệu 26
3.5.2 Thông số kỹ thuật 26
3.6 Module Cảm biến độ dẫn điện trong dung dịch 27
3.6.1 Giới thiệu 27
3.6.2 Thông số kỹ thuật 29
3.7 Cảm biến nhiệt độ trong dung dịch DS18B20 30
3.7.1 Giới thiệu 30
3.7.2 Thông số kỹ thuật 30
3.8 Module cảm biến nồng độ pH 31
3.8.1 Giới thiệu 31
3.8.2 Thông số kỹ thuật 31
3.9 Bơm nhu động 32
3.9.1 Giới thiệu 32
3.9.2 Thông số kỹ thuật 32
3.10 Van điện từ DC 33
3.10.1 Giới thiệu 33
3.10.2 Thông số kỹ thuật 33
3.11 Động cơ bơm nước LifetTech AP3100 33
3.11.1 Giới thiệu 34
Trang 63.11.2 Thông số kỹ thuật 34
3.12 SSD1306 OLED 128X64 0.96 Inch – I2C 35
3.12.1 Giới thiệu 35
3.12.2 Thông số kỹ thuật 35
3.13 Module cảm biến mực nước 36
3.13.1 Giới thiệu 36
3.12.2 Thông số kỹ thuật 36
3.13 Nguồn tổ ong 36
3.13.1 Giới thiệu 36
3.13.2 Thông số kỹ thuật 37
CHƯƠNG 4: QUY TRÌNH THIẾT KẾ ( SẢN PHẨM, MÔ HÌH VẬT LÝ, MÔ HÌNH MÔ PHỎNG) 38
4.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 38
4.1.1 Yêu cầu của hệ thống 38
4.1.2 Sơ đồ khối và chức năng mỗi khối 38
4.1.3 Chức năng các module trong hệ thống 39
4.1.4 Sơ đồ chi tiết của module điều khiển và module thu thập dữ liệu 40
4.1.5 Hoạt động của hệ thống 41
4.2 TÍNH TOÁN THIẾT KẾ HỆ THỐNG 43
4.2.1 Khối thu thập hiển thị dữ liệu: 43
4.2.2 Khối điều khiển: 49
4.2.3 Khối Web server: 55
4.3 PHẦN MỀM SỬ DỤNG 56
4.3.1 Tóm tắt các công đoạn thực hiện 56
4.3.2 Chương trình Google Assistant và Phần mềm Blynk 56
4.3.3 IFTTT dịch vụ web trung gian 59
Trang 74.3.4 Các giai đoạn chăm sóc rau Xà lách 60
4.4 KẾT NỐI PHẦN CỨNG VÀ XÂY DỰNG CHƯƠNG TRÌNH 64
CHƯƠNG 5: THI CÔNG SẢN PHẨM ( MÔ HÌNH VẬT LÝ, CHẠY THỬ MÔ PHỎNG) 68
5.1 KẾT QUẢ: 68
5.1.1 Thi công mạch in 68
5.1.2 Mạch thực tế và thi công mô hình 69
5.1.2.1 Mạch thực tế 69
5.1.2.2 Thiết kế mô hình 70
5.2 THỰC NGHIỆM: 72
5.2.1 Hoạt động các khối trong hệ thống 72
5.2.2 Nhận xét 74
CHƯƠNG 6: ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN 75
6.1 Kết luận: 75
6.2 Hướng phát triển: 75
TÀI LIỆU THAM KHẢO 76
PHỤ LỤC 1 76
PHỤ LỤC 2 76
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT PHP
Wireless Fidelity Transmission Control Protocol Static Random Access Memory Electrically Eraseble Programmable Read Only Memory Organic Light Emitting Diode
Electrical Conductivity Total Dissolved Solids Hydrogen Power Hyper Text Transfer Protocol Hyper Text Markup Language Cascading Style Sheets
Microprocessor Control Unit Input/Output
Integrated Circuit
Trang 9DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1: Chế độ dinh dƣỡng của cây rau theo độ dẫn điện và pH 18 Bảng 4.1: Chân sử dụng và chức năng chân khối thu thập dữ liệu 64 Bảng 4.2: Chân sử dụng và chức năng chân khối điều khiển 65
Trang 10DANH MỤC HÌNH ẢNH
Hình 3.1: Chuẩn giao tiếp I2C 6
Hình 3.2: PHP được nhúng vào trang HTML 8
Hình 3.3: Mô hình tương tác giữ client - server: PHP và MySQL 9
Hình 3.4: Ví dụ về kết nối giữa các thiết bị trông qua wifi 10
Hình 3.5: Cấu trúc gói tin của giao thức TCP 11
Hình 3.6: Hệ thống thủy canh dạng hồi lưu 11
Hình 3.7: a) Thủy canh một tầng, b) Thủy canh nhiều tầng 15
Hình 3.8: Giao diện phần mềm Proteus 8.7 18
Hình 3.9: Các linh kiện trong thư viện Arduino cho Proteus 19
Hình 3.10: Giao diện phần mềm Arduino IDE 26
Hình 3.11: Mạch nguyên lý vẽ trên Proteus 21
Hình 3.12: Viết code bằng Arduino IDE 22
Hình 3.13: Module Wifi ESP8226 Node MCU 26
Hình 3.14: Pinout của Module ESP8226 Node MCU 27
Hình 3.15: Đồ thị hiển thị mối quan hệ giữa độ dẫn điện và giá trị điện áp 29
Hình 3.16: Module cảm biến đo độ dẫn điện và que đo 29
Hình 3.17: Cảm biến nhiệt độ DS 18B20 30
Hình 3.18: Module cảm biến đo độ pH và que đo 31
Hình 3.19: Bơm nhu động 12 VDC 32
Hình 3.20: Van điện tử 12 VDC – Phi 21 33
Hình 3.21: Máy bơm Lifet Tech AP3100 34
Hình 3.22: Oled SSD 1306 35
Hình 3.23: Module Cảm biến mực nước 36
Hình 3.24: Nguồn tổ ong 12V-5A 41
Hình 4.1: sơ đồ khối tổng quát của toàn hệ thống 44
Trang 11Hình 4.2: Sơ đồ khối của module thu nhập hiển thị dữ liệu 40
Hình 4.3: Sơ đồ khối của module điều khiển 41
Hình 4.4: Sơ đồ nguyên lý khối hiển thị cho bộ điều khiển 42
Hình 4.5: Sơ đồ nguyên lý khối hiển thị cho bộ điều khiển 43
Hình 4.6: Sơ đồ nguyên lý khối hiển thị 44
Hình 4.7: Sơ đồ nguyên lý khối xử lý trung tâm giao tiếp với cảm biến EC 45
Hình 4.8: Sơ đồ nguyên lý khối xử lý trung tâm giao tiếp vơi cảm biến nhiệt độ DS 18B20 46
Hình 4.9: Sơ đồ nguyên xử lý trung tâm giao tiếp với cảm biến độ pH 52
Hình 4.10: Sơ đồ nguyên lý xử lý trung tâm giao tiếp với cảm biến mực nước 47
Hình 4.11: Sơ đồ nguyên lý khối xử lý trung tâm hệ thống thu nhập dưc liệu 48
Hình 4.12: (a), (b) Sơ đồ nguyên lý khối động lực 50
Hình 4.13: Sơ đồ nguyên lý khối xử lý giao tiếp qua mạng cho bộ điều khiển 52
Hình 4.14: Sơ đồ nguyên lý khối nguồn cho bộ điều khiển 55
Hình 4.15: Giao diện Google Assistant 63
Hình 4.16: Giao diện IFTIT liên kết cùng google điều khiển thiêt bị 68
Hình 4.17: (a), (b) Cây xà lách giai đoạn gieo hạt- nãy mầmError! Bookmark not defined Hình 4.18: (a),(b) Cây xà lách giai đoạn chăm sóc cây con và (b) hỗn hợp dinh dưỡng A,B Hydro Leafy 62
Hình 4.19: (a), (b) Cây xà lách giai đoạn chăm sóc cây trưởng thành và đưa lên giữa trồng 70
Hình 5.1: PCB của mạch thu nhập dữ liệu 68
Hình 5.2: PCB mạch điềun khiển nhận tín hiệu 69
Hình 5.3: Mạch thu thập dữ liệu sau thi công 69
Hình 5.4: Mạch điều khiển (b) sau khi thi công 70
Trang 12Hình 5.5: (a), (b) Mặt trước và sau của mô hình sau khi thi công 71
Hình 5.6: (a), (b) Kết quả kiếm tra hoạt động của mạch nguồn 72
Hình 5.7: Trang hiển thị chọn chế độ hoạt động hiển thị trên Web 73
Hình 5.8: Thông số thu thập được của nồng độ dinh dưỡng hiển thị trên Web 74
Trang 13CHƯƠNG 1: GIỚI THIỆU 1.1 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC
1.1.1 Đặt vấn đề:
Trong xã hội hiện đại ngày nay, đa phần các ứng dụng sử dụng các mạch điện
tử dần yêu cầu phải mang tính tự động nhiều hơn để đáp ứng nhu cầu người sử dụng
Là một sự kết hợp giữa điện tử và internet để đáp ứng cho các ứng dụng mang tính tự
động
Bên cạnh đó, các hãng sản xuất về các thiết bị điện tử phải thiết kế, chế tạo ra các thiết bị, linh kiện có các khả năng để giao tiếp hay thực hiện các chức năng vừa có thể giao tiếp với các chip vi xử lý, vừa có khả năng kết nối, chia sẽ dữ liệu với các thiết bị Internet Một số thiết bị điện tử đã ra đời như các module RF, module Wifi, module Bluetooth, … hay thậm chí là các máy tính nhúng để thực hiện các chức năng trên sao cho dễ dàng cho người sử dụng nhất
Để hiểu r hơn về các ứng dụng của nói chung nhóm sinh viên quyết định chọn
đề tài cho đồ án tốt nghiệp là: “Thiết kế, thi công mô hình hệ thống tưới rau tự động dùng Arduino” Dưới đây nhóm xin trình bày toàn bộ nội dung đồ án: “Thiết
kế, thi công mô hình hệ thống tưới rau tự động dùng Arduino” do thầy Huỳnh
Phát Huy, giảng viên Trường ĐH Công nghệ TP.HCM hướng dẫn
về an toàn thực phẩm
Trang 14Để giải quyết vấn đề đó, thay vì nuôi trồng trong môi trường tự nhiên thì có thể xây dựng giàn trồng thủy canh để có thể dễ dàng giám sát, điều khiển cấp nước, ánh sáng một cách tự động và có thể tránh được sâu bệnh hay tác động của thời tiết xấu Ngoài ra, hệ thống trồng thủy canh cũng có thể xây dựng nhiều tầng với nhiều giàn trồng, có thể tiết kiệm được diện tích trồng trọt vì có thể trồng trên các giàn trồng thủy canh mà không phải trồng trên đất Để xây dựng hệ thống, cần có các cảm biến để thu thập các số liệu từ môi trường dung dịch trồng thủy canh như nồng độ dinh dưỡng (TDS), pH, … và có một bộ phận điều khiển để điều chỉnh cho phù hợp cho mỗi loại rau Ngoài ra phải có một hệ thống cảnh báo khi có các tín hiệu bất thường xảy ra trong hệ thống giàn thủy canh để có thể báo động và xử lý các vấn đề xảy ra trong hệ thống
Đề tài được chọn làm đồ án tốt nghiệp của nhóm tuy chưa phải là một công trình nghiên cứu lớn, hiện tại nhóm chỉ thiết kế cho hệ thống dựa trên một mô hình nhỏ nhưng sẽ đảm bảo được các các vấn đề xảy ra đối với hệ thống, các yêu cầu của hệ thống trong thực tế như độ bền về thời gian sử dụng, tính an toàn và chi phí…
CHƯƠNG 2: TỔNG QUAN GIẢI PHÁP 2.1 MỤC TIÊU ĐỀ TÀI
Mục tiêu của sinh viên cần đạt được trong đồ án tốt nghiệp là làm quen với các phần mềm, ngôn ngữ lập trình của Arduino, … và các giao thức truyền nhận dữ liệu với node MCU, bật tắt được hệ thống bằng điện thoại với Google Assistant, có thể đọc hiểu datasheet của các loại linh kiện, thiết bị điện tử mới và thiết kế được mô hình hệ thống
Qua đồ án tốt nghiệp này, sinh viên có thể tích luỹ được kinh nghiệm thực tiễn, tiếp cận được với hệ thống ứng dụng IoTs trong thực tế, làm nền tảng kiến thức để phục vụ cho công việc sau khi tốt nghiệp có liên quan đến IoTs
2.2 GIỚI HẠN ĐỀ TÀI
Trong đề tài này, nhóm không làm một hệ thống lớn về phần điện tử và cơ khí cho cả một hệ thống trồng thủy canh lớn như trong thực tế mà chỉ thiết kế một mô hình giàn trồng nhỏ nhưng vẫn đáp ứng được các yêu cầu của một hệ thống trong thực tế
Về tổng thể, hệ thống sẽ thực hiện các yêu cầu như khối thu thập hiển thị dữ liệu sẽ gồm các cảm biến để thu thập dữ liệu môi trường, sau đó hiển thị lên Oled, khối
Trang 15điều khiển gồm các động cơ bơm và van sẽ lấy dữ liệu từ server để điều khiển các bơm
và van với yêu cầu của người sử dụng như cài đặt giờ bơm, thời gian bơm, bật tắt bơm, van khi xảy ra các tín hiệu bất thường
Hệ thống này vẫn sẽ bao gồm các khối chính đó gồm: Khối thu thập dữ liệu từ các cảm biến, khối server gồm web và khối điều khiển động cơ bơm, van điện từ
Vì chỉ mang tính chất mô hình nên nhóm chỉ làm cho một Arduino thu thập hiển thị dữ liệu.Việc thu thập dữ liệu dựa trên các module cảm biến công nghiệp với giá thành tương đối khá cao nên sẽ đảm bảo về độ chính xác Nhưng khi áp dụng ra thực tế, có thể mở rộng ra nhiều node thu thập và sử dụng các cảm biến chất lượng hơn nhưng sẽ tốn nhiều chi phí hơn
2.3 BỐ CỤC ĐỒ ÁN
Bài cáo cáo đồ án bao gồm những phần chính như sau:
Chương 1: Giới thiệu
Chương 2: Tổng quan giải pháp
Chương 3: Phương pháp giải quyêt
Chương 4: Quy trình thiết kế ( sản phẩm, mô hình vật lý, mô hình mô phỏng)
Chương 5: Thi công sản phẩm ( mô hình vật lý, chạy thử mô hình mô phỏng)
Chương 6: Đánh giá kết quả, kết luận
Trang 16CHƯƠNG 3: PHƯƠNG PHÁP GIẢI QUYẾT 3.1 CÁC CƠ SỞ LÝ THUYẾT
3.1.1 Chuẩn truyền dữ liệu nối tiếp UART
UART – là viết tắt của Universal Asynchronous Receiver – Transmitter có nghĩa là truyền nhận dữ liệu nối tiếp bất đồng bộ
Đặc điểm: Truyền dữ liệu nối tiếp bất đồng bộ có 1 đường phát dữ liệu (Tx) và
1 đường nhận dữ liệu (Rx), do không có tín hiệu xung clock nên gọi là bất đồng bộ Để truyền được dữ liệu thì cả bên phát và bên nhận phải tự tạo xung clock có cùng tần số
và thường được gọi là tốc độ baud, ví dụ như 2400 baud, 4800 baud, 9600 baud…
Ưu điểm: Đơn giản, chi phí truyền thấp, hiệu quả tương đối cao, tiết kiệm năng
lượng cho hệ thống nên được sử dụng phổ biến trong các hệ thống IoTs
Khuyết điểm: Do tồn tại các bit start và bit stop, khoảng trống dẫn đến thời
gian truyền chậm
3.1.1.1 Thông số chuẩn truyền UART
Tốc độ truyền ( baud rate )
Như trong ví dụ trên về việc truyền 1 bit trong 1ms, để việc truyền và nhận bất đồng bộ xảy ra thành công thì các thiết bị tham gia phải thống nhất nhau về khoảng thời gian dành cho 1 bit truyền, hay nói cách khác tốc độ truyền phải được cài đặt như nhau trước, tốc độ này gọi là tốc độ baud Theo định nghĩa, tốc độ baud là số bit truyền trong 1 giây Ví dụ nếu tốc độ baud được đặt là 19200 thì thời gian dành cho 1 bit truyền là 1/19200 ~ 52.083us
Khung dữ liệu (frame)
Do truyền thông nối tiếp và nhất là nối tiếp bất đồng bộ nên rất dễ mất hoặc sai lệch dữ liệu, quá trình truyền theo kiểu này phải tuân theo một số quy cách nhất định Bên cạnh tốc độ baud, khung truyền là một yếu tố quan trọng tạo nên sự thành công khi truyền và nhận Khung truyền bao gồm các quy định về số bit trong mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số lượng các bit trong một data cũng được quy định bởi khung truyền
Start bit
Start là bit đầu tiên được truyền trong một frame truyền, bit này có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới Start bit là bit
Trang 17bắt buộc phải có trong khung truyền Đối với chuẩn truyền UART Start bit luôn luôn
là mức thấp (0V)
Data
Data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận Data không nhất thiết phải là gói 8 bit Trong truyền nối tiếp UART, bit có ảnh hưởng nhỏ nhất (Least Significant Bit, bit bên phải) của data sẽ được truyền trước và cuối cùng là bit có ảnh hưởng lớn nhất (Most Significant Bit, bit bên trái)
Parity bit
Parity là bit dùng kiểm tra tính đúng đắn của dữ liệu truyền (một cách tương đối) Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Parity chẵn nghĩa là số lượng bit 1 trong dữ liệu bao gồm bit parity luôn là số chẵn Ngược lại tổng
số lượng các bit 1 nếu là parity lẻ thì luôn là số lẻ Ví dụ, nếu dữ liệu là 10111011 nhị phân, có tất cả 6 bit 1 trong dữ liệu này, nếu parity chẵn được dùng, bit parity sẽ mang giá trị 0 để đảm bảo tổng số các bit 1 là số chẵn (6 bit 1)
Stop bit
Stop bits là một hoặc các bit báo cho thiết bị nhận biết rằng một gói dữ liệu đã được gởi xong Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu Stop bits là các bits bắt buộc xuất hiện trong khung truyền và luôn luôn là mức cao
3.1.2.1 Các khái niệm cơ bản
I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại
Vi điều khiển 8051, PIC, AVR, ARM chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED
3.1.2.2 Cấu tạo và nguyên lý hoạt động
I2C sử dụng hai đường truyền tín hiệu:
Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi (thông thường ở 100kHz và 400kHz Mức cao nhất là 1Mhz và 3.4MHz)
Một đường dữ liệu (SDA) theo 2 hướng
Trang 18Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave)
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ Trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng
hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp
Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể có tới địa chỉ tương ứng với 128 thiết bị có thể kết nối, nhưng chỉ có 112 địa chỉ, trong đó 16 địa chỉ còn lại được sử dụng vào mục đích riêng Bit còn lại quy định việc đọc hay ghi dữ liệu (1 là write, 0 là read)
Điểm mạnh của I2C chính là hiệu suất và sự đơn giản của nó: một khối điều khiển trung tâm có thể điều khiển cả một mạng thiết bị mà chỉ cần hai lối ra điều khiển
Ngoài ra I2C còn có chế độ 10 bit địa chỉ tương đương với 1024 địa chỉ, có
1008 thiết bị có thể kết nối, còn lại 16 địa chỉ sẽ dùng để sử dụng mục đích riêng
Hình 3.1: Chuẩn giao tiếp I 2 C
Trang 193.1.3 Web Sever và Cơ sở dữ liệu
3.1.3.1 Các ngôn ngữ lập trình cho website
Bản chất của phát triển website là phát triển các giao tiếp Cụ thể hơn đó là giao tiếp giữa hai chủ thể khác nhau thông qua giao thức HTTP:
Server: giữ vai trò phục vụ cho trang cần được hiển thị
Client: gửi yêu cầu trang đến server, và hiển thị chúng trên trình duyệt cho người dùng Trong hầu hết các trường hợp, client thường là trình duyệt web
Việc lập trình bằng ngôn ngữ nào phụ thuộc vào việc sẽ chạy nó trên máy nào, server hay là client Chính vì vậy nên có thể chia ngôn ngữ lập trình cho website thành
2 phía: phía server (server-side) và phía client (client-side)
Nếu như nhiệm vụ của các ngôn ngữ lập trình chạy trên client là giúp hiển thị nội dung của trang web trên trình duyệt, tạo ra các trang tương tác, gửi yêu cầu cho server và nhận phản hồi từ nó, thì các ngôn ngữ lập trình phía server lại hoạt động phức tạp hơn nhiều Các ngôn ngữ này được web server thông dịch và trả về các phản hồi, quản lí yêu cầu người dùng, xử lí sự kiện, lưu trữ - trích xuất dữ liệu từ cơ sở dữ liệu Có hai ngôn ngữ server-side chính hiện nay là ASP.NET và PHP Ngôn ngữ ASP.NET dành cho máy chủ Windows, còn ngôn ngữ PHP linh động hơn có thể chạy trên cả máy chủ Windows lẫn máy chủ Linux
a) Khái quát về Google Assistant
Google Assistant là một trợ lý cá nhân ảo được phát triển bởi Google cho thiết
bị di động và nhà thông minh, được giới thiệu lần đầu tại hội nghị nhà phát triển của hãng vào tháng 5 năm 2016 Không giống như Google Now, Google Assistant có thể
tham gia các cuộc trò chuyện hai chiều
Trang 20Với Google Assistant, người dùng có thể ra lệnh điều khiển bằng giọng nói, bật tắt điều khiển các thiết bị điện, những thiết bị ngoại vi có kết nối internet
b) Khái quát về IFTTT
IFTTT là viết tắt của IF THIS THEN THAT, có thể hiểu như là một dịch vụ trung gian để liên kết các bên với nhau IFTTT là công cụ rất hữu hiệu để bạn tự động hóa những công việc hằng ngày
IFTTT sử dụng các công thức IFTTT Recipes hay còn gọi là các Applet để có thể kết nối các ứng dụng với nhau Khi có sự thay đổi trên ứng dụng này thì IFTTT sẽ thay đổi trên ứng dụng kia
Sử dụng IFTTT giúp bạn tiết kiệm được thời gian, công sức và tiền bạc: Ngay
cả khi bạn đang ngủ IFTTT cũng sẽ giúp bạn thực hiện được công việc, IFTTT có thể hoạt động mọi lúc, mọi nơi
– Sử dụng IFTTT giúp bạn tăng được Traffic: IFTTT có thể giúp kiếm thêm truy cập từ nhiều mạng xã hội, các trang bookmark
Trang 21– Sử dụng IFTTT giúp kiếm thêm backlink: Ngoài nội dung trên Website bạn
có thể nổi tiếng trên nhiều kênh khác như Instagram, Facebook, Twitter
Hình 3.3: Mô hình tương tác giữa ESP-hệ thống IFTTT- Google Assistant
3.1.4 Lý thuyết sóng Wifi
3.1.4.1 Sóng wifi
Wifi là mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sử
dụng sóng vô tuyến để truyền tín hiệu Loại sóng vô tuyến này tương tự như sóng điện thoại, truyền hình và radio Và trên hầu hết các thiết bị điện tử ngày nay như máy tính,
laptop, điện thoại, máy tính bảng đều có thể kết nối Wifi
Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nay Wifi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách 100 feet (gần 31 mét)
3.1.4.2 Nguyên lý hoạt động của sóng WIFI
Để có được sóng Wifi thì chúng ta cần phải có bộ phát Wifi, chính là các thiết
bị như modem, router Đầu vào, tín hiệu Internet nguồn (được cung cấp bởi các đơn vị ISP như FPT, Viettel, VNPT, CMC ) Thiết bị modem, router sẽ lấy tín hiệu Internet qua kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, và gửi đến các thiết bị sử
Trang 22dụng như điện thoại smartphone, máy tính bảng, laptop Đây là quá trình nhận tín hiệu không dây (hay còn gọi là adapter) - chính là card wifi trên laptop, điện thoại và chuyển hóa thành tín hiệu Internet Và quá trình này hoàn toàn có thể thực hiện ngược lại, nghĩa là router, modem nhận tín hiệu vô tuyến từ adapter và giải mã chúng, gửi qua Internet
Hình 3.4: Ví dụ về kết nối giữa các thiết bị trông qua wifi
3.1.4.3 Một số chuẩn kết nối wifi phổ biến
Về bản chất kỹ thuật, tín hiệu Wifi hoạt động gửi và nhận dữ liệu ở tần
số 2.5GHz đến 5GHz, cao hơn khá nhiều so với tần số của điện thoại di động, radio
do vậy tín hiệu Wifi có thể chứa nhiều dữ liệu nhưng lại bị hạn chế ở phạm vi truyền - khoảng cách Còn các loại sóng khác tuy tần số thấp nhưng lại có thể truyền đi ở
khoảng cách rất xa
Sóng Wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ hơn
là a/b/g/n( Thường thấy trên modem, router có các ký hiệu này)
Chuẩn 802.11b là phiên bản yếu nhất, hoạt động ở mức 2.4GHz và có thể xử
Trang 23 Cuối cùng là chuẩn 802.11n, nó hoạt động ở tần số 2.4GHz nhưng tốc độ xử lý lên đến 300 megabit/giây
3.1.5 Giao thức TCP
3.1.5.1 Giới thiệu
Giao thức TCP (Transmission Control Protocol - Giao thức điều khiển truyền vận) là một trong các giao thức cốt lõi của bộ giao thức TCP/IP Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua
đó chúng có thể trao đổi dữ liệu hoặc các gói tin Giao thức này đảm bảo chuyển giao
dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ
Một gói tin TCP bao gồm 2 phần header và dữ liệu Phần header có 11 trường, trong đó có 10 trường bắt buộc và 1 trường tùy chọn
Hình 3.5: Cấu trúc gói tin của giao thức TCP
Source Port: là số hiệu của cổng tại thiết bị gửi
Destination Port: là số hiệu cổng của thiết bị nhận
Sequence Number: trường này có 2 nhiệm vụ Nếu cờ SYN bật thì nó là số thứ tự gói ban đầu và byte đầu tiên được gửi có số thứ tự cộng thêm 1 Nếu cờ SYN tắt
thì đây là số thứ tự của byte đầu tiên
Acknowledgement Number: nếu cờ ACK bật thì giá trị của trường này là số
thứ tự của gói tin tiếp theo mà bên nhận cần
Data Offset: quy định độ dài của phần header (theo đơn vị 32 bit)
Reserved: trường này dành cho các phiên bản TCP tương lai và có giá trị là 0
Trang 24 Flags: chứa các cờ cho các trường khác
Window: số byte có thể nhận bắt đầu từ giá trị của trường ACK
Checksum: 16 bit kiểm tra lỗi cho cả phần header và phần dữ liệu
Urgent Pointer: nếu cờ URG bật thì giá trị trường này là số từ 16 bit mà số thứ
tự gói tin cần dịch trái
Options: là trường tùy chọn Nếu có thì độ dài là bội số của 32 bit
Data: chứa dữ liệu cần gửi đi
3.1.6 Độ dẫn điện trong dung dịch
3.1.6.1 Khái niệm
Độ dẫn điện của nước hay dung dịch (EC) liên quan đến sự có mặt các ion có trong nước Các ion này thường là muối của các kim loại như NaCl, KCl, SO2-4,NO3-,… Tác động ô nhiễm của nước có độ dẫn điện cao thường liên quan đến tính độc hại của các ion tan trong nước Do đó, độ dẫn điện của nước còn tượng trưng cho tổng lượng chất rắn hòa tan trong nước (TDS)… Trong dung dịch loãng, TDS và EC là một
sự so sánh hợp lí
Tổng lượng chất rắn hòa tan tỉ lệ thuận với dộ dẫn điện của nó, vì vậy lượng chất rắn cao độ dẫn điện sẽ cao Khi các muối hoà tan trong nước chúng trở thành các
"ion" mang điện tích âm, dương nên chúng có khả năng dẫn điện
Đối với nước sử dụng cho mục đích nông nghiệp, thủy lợi, mối quan hệ giữa TDS và
EC có thể xác định qua phương trình, trích ở tài liệu [4]:
TDS(ppm) = 0.64 x EC(μS/cm) = 640 x EC (dS/m)
Trang 25Độ dẫn điện của nước phụ thuộc và tăng tỉ lệ thuận với nhiệt độ nước Nhiệt độ nước tăng lên 10oC thì độ dẫn điện của nước sẽ tăng 2-3% Thông thường độ dẫn điện được đo ở nhiệt độ tiêu chuẩn là 25o
3.1.7 Độ pH
3.1.7.1 Khái niệm
PH là một chỉ số xác định tính chất hóa học của nước Thang chỉ số pH từ 0-14;
về lý thuyết, nước có pH bằng 7 là trung tính, dưới 7 nước mang tính axit và khi pH trên 7 nước mang tính kiềm Ví dụ khi pH bằng 5 có tính axit cao gấp 10 lần so với pH bằng 6 và gấp 100 lần so với bằng 7 Theo tiêu chuẩn, pH của nước sử dụng cho sinh hoạt là 6,0 – 8,5 và của nước ăn uống uống là 6,5 – 8,5
Người ta thường đo độ pH của nguồn nước để:
Đánh giá khả năng ăn mòn kim loại đối với đường ống, các vật chứa nước
Trang 26 Đánh giá nguy cơ các kim loại có thể hoà tan vào nguồn nước như chì, đồng, sắt, cadmium, kẽm… có trong các vật chứa nước, trong đường ống
Các phương pháp điều chỉnh khi pH quá thấp hoặc quá cao thì có thể sử dụng bộ lọc trung hòa có vật liệu chính là Calcite (từ đá vôi) hoặc sử dụng hóa chất bằng một bơm định lượng để bơm soda hoặc hỗn hợp soda và Hypochlorite
3.1.8 Kỹ thuật trong trồng thủy canh
3.1.8.1 Giới thiệu:
Thủy canh (trồng cây trong dung dịch) là kỹ thuật trồng cây không dung đất mà trồng trực tiếp vào môi trường dinh dưỡng hoặc giá thể mà không phải là đất Mục đích của kỹ thuật này là cung cấp đủ và đúng lúc cho cây trồng các nguyên tố khoáng cần thiết, CO2 cho quá trình quang hợp và O2 cho quá trình hô hấp
So với hệ thống khí canh thì khí canh là thủy canh dạng kỹ thuật cao nhất Chất trồng chủ yếu là không khí, rễ phơi trong không khí và phun sương bằng chất dinh dưỡng thực hiện mỗi vài phút Về hệ thống thủy canh thì dựa trên việc hồi lưu chất dinh dưỡng qua việc bơm và thoát nước, như thế hàm lượng chất dinh dưỡng sẽ không
bị thất thoát và khác với khi canh vì một phần rễ sẽ ngâm trong nước, hệ thống được
sử dụng trong quy mô lớn với mục đích thương mại
Hình 3.6: Hệ thống thủy canh dạng hồi lưu
Trang 27a)
b) Hình 3.7: a) Thủy canh một tầng, b) Thủy canh nhiều tầng
3.8.1.2 Ưu điểm:
Không cần đất, chỉ cần không gian để đặt hộp dụng cụ trồng, do vậy có thể triển khai ở những vùng đất cằn cỗi như hải đảo, vùng núi xa xôi cũng như tại gia đình sân thượng, balcon
Không phải làm đất, không có cỏ dại, không cần tưới
Trồng được nhiều vụ, có thể trồng trái vụ
Không phải sử dụng thuốc trừ sâu bệnh và các hóa chất độc hại khác
Năng suất cao vì có thể trồng liên tục
Trang 28 Sản phẩm hoàn toàn sạch, đồng nhất Giàu dinh dưỡng và tươi ngon
Không tích lũy chất độc, không gây ô nhiễm môi trường
Không đòi hỏi lao động nặng nhọc
Tự động tưới tiêu là ưu điểm lớn nhất so với phương pháp trồng trọt truyền thống
3.8.1.3 Nhược điểm:
Vốn đầu tư ban đầu cao do chi phí về trang thiết bị Tuy nhiên, chi phí này không phải là cao so với những chi phí phải trả để diệt sâu bệnh và côn trùng, thuê nhân công Hơn nữa các máy móc thiết bị được tái sử dụng nhiều lần nên chỉ tốn chi phí đầu tư cho ban đầu
Đòi hỏi trình độ chuyên môn kỹ thuật cao để sản xuất có hiệu quả Điều này gây trở ngại cho việc đưa phương pháp thủy canh mở rộng đại trà
Trong quá trình hấp thu các chất dinh dưỡng, thực vật làm thay đổi độ pH trong dung dịch thủy canh Do đó, cần phải điều chỉnh pH mỗi ngày Giá trị pH tối thiểu từ khoảng 5.8 - 6.5 giá trị pH càng chênh lệch khỏi khoảng này thì mức độ ảnh hưởng không tốt lên hệ thống thủy canh càng lớn
Ngoài ra, những yếu tố thay đổi đột ngột môi trường cũng như việc cung cấp chất dinh dưỡng hay tưới nước không đúng có thể gây ra những triệu chứng rối loạn sinh lý ở cây (như hiện tượng thối quả cà chua, nứt quả cà chua)
Trang 29Các yếu tố dinh dưỡng của một số loại cây trồng:
Bảng 3.1: Chế độ dinh dưỡng của cây rau theo độ dẫn điện và pH
RAU – QUẢ
Giai đoạn cây con (ppm)
Giai đoạn cây trưởng thành(ppm)
Giai đoạn thu
Diếp xoăn 780 – 880 1100 – 1280 1250 – 1280 5.5
Tía tô 780 – 880 1120 – 1400 1120 – 1220 6.9
Salad 400 – 600 700 – 900 720 – 820 5.5 – 6.5 Cùng với đó ta áp dụng bơm nước hồi lưu liên tục, kiểm soát nhiệt độ nước không quá 28 độ C, nồng độ pH 6.0 - 7.0 và Ec(mM/cm) là 0.6 -1.5 cho cây phát triển tốt nhất
3.2 GIỚI THIỆU CÁC LINH KIỆN SỬ DỤNG TRONG HỆ THỐNG:
3.2.1 PHẦN MỀM MÔ PHỎNG PROTEUS
Phần mềm Proteus 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 MCS-51, PIC, AVR, Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronic, 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, Motorola
Trang 30Phầ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à phần mềm mô phỏng cho các loại vi điều khiển khá tốt, hỗ trợ các dòng vi điều khiển 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 3.8: Giao diện phần mềm Proteus 8.7 3.2 THƯ VIỆN ARDUINO TRONG PROTEUS
Thư viện Arduino là một bổ sung rất hay cho phần mềm Proteus, nó giúp cho việc mô phỏng Arduino được thuận tiện và dễ dàng hơn thay vì chỉ mô phỏng được chip Atmega328 (nhân của Arduino), thư viện này được phát triển bởi các kỹ sư Cesar, Osaka, Daniel Cezar, Roberto Bauer và được đăng tải trên blog tiếng Bồ Đào Nha http://blogembarcado.blogspot.de/
Thư viện bao gồm các linh kiện sau:
- Arduino UNO (Phiên bản chip Atmega328 chân DIP)
- Arduino UNO (Phiên bản chip Atmega328 chân SMD)
Trang 31- Arduino mega
- Arduino Lilypad
- Arduino Nano
- Cảm biến siêu âm Ultrasonic V2
Hình 3.9: Các linh kiện trong thư viện Arduino cho Proteus
3.3 ARDUINO IDE VÀ LẬP TRÌNH CHO ARDUINO
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều
lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên
nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng hơn là số lượng thư viện code được viết sẵn và chia sẽ bởi cộng đồng nguồn mở là cực kỳ lớn
Trang 32Hình 3.10: Giao diện phần mềm Arduino IDE
Arduino IDE là phần mềm dùng để lập trình cho Arduino Môi trường lập trình cho Arduino là IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX là Linux Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miển phí và có thể mở rộng bởi người dùng có kinh nghiệm
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và ngôn ngữ lập trình này dựa trên nền tảng của ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thê code viết bằng AVR vào chương trình nếu muốn Hiện tại, Arduino IDE có thể download từ trang chủ http://arduino.cc/
3.4 MÔ PHỎNG HỆ THỐNG
3.4.1 Mô phỏng mạch nguyên lý trên Proteus
Trang 33Hình 3.11: Mạch nguyên lý vẽ trên Proteus
3.4.1.1 Nguyên lý hoạt động:
Giá trị độ ẩm của đất được nhận biết qua cảm biến độ ẩm và đưa về bộ điều khiển là Arduino UNO R3 bằng tín hiệu Digital Khi đất không đủ độ ẩm giá trị tín hiệu gởi về là 0, bộ điều khiển đưa tín hiệu cho đóng Rờ le và động cơ máy bơm bắt đầu hoạt động bơm nước tưới vào chậu Khi đã đủ nước, độ ẩm cao, cảm biến sẽ gởi
về tín hiệu có giá trị là 1, bộ điều khiển đưa tín hiệu ngắt rờ le, máy bơm dừng hoạt động
Led đỏ có tác dụng báo hiệu độ ẩm thấp, chậu cây đang thiếu nước
Led xanh có tác dụng báo hiệu độ ẩm cao, chậu cây đã đủ nước
Led vàng có tác dụng báo hiệu trạng thái hoạt động và dừng của máy bơm
3.4.1.2.Viết code chương trình cho Arduino
Khởi động phần mềm Arduino IDE và soạn code Sau khi lập trình xong, nhấn
để biên dịch code sau vài giây phần mềm sẽ biên dịch cho ta 1 file hex của chương trình
Trang 34Hình 3.12: Viết code bằng Arduino IDE
Sau khi tạo đƣợc file hex t nạp file vào linh kiện Arduino trong proteus để chạy
int const SENSOR_MH_D_PIN = 4;
int const SENSOR_MH_A_PIN = A0;
int const T_RELAY_PIN = 2;
int const TIME_TO_GET_SAMPLE = 5000; //5s
int const SAMPLE_TIME = 500; //0.5 s
int const LED_PIN = 13;
Trang 35int const LED_BLUE_PIN = 10;
int const LED_YEWLOW_PIN = 9;
int const LED_RED_PIN = 8;
int const TREE_WATER_LEVEL_HIGH = 600;
int const TREE_WATER_LEVEL_LOW = 300;
int sensorMHValue = 0;//store sensor value
pinMode(LED_PIN, OUTPUT);
pinMode(LED_BLUE_PIN, OUTPUT);
pinMode(LED_YEWLOW_PIN, OUTPUT);
pinMode(LED_RED_PIN, OUTPUT);
Trang 36int sensorStatus = digitalRead(SENSOR_MH_D_PIN);
int sensorValue = getSensorSampleValue();
}else if(sensorValue < TREE_WATER_LEVEL_LOW){
digitalWrite(T_RELAY_PIN, LOW);
Trang 37int value = 0;
int t = TIME_TO_GET_SAMPLE/ SAMPLE_TIME;
int total = 0;
for(int i =0; i < t ; i++){
total += analogRead(SENSOR_MH_A_PIN);
Serial.print("Bumper enable: ");
Serial.println(bumpStatus);
Serial.print("Sensor value: ");
Serial.println(sensorMHValue);
digitalWrite(LED_RED_PIN, LOW);
digitalWrite(LED_BLUE_PIN, HIGH);
}else{
digitalWrite(LED_RED_PIN, HIGH);
digitalWrite(LED_BLUE_PIN,LOW);
}}
Trang 383.5 Module Wifi ESP8266 Node MCU
3.5.1 Giới thiệu
NodeMCU V1.0 được phát triển dựa trên Chip WiFi ESP8266EX bên trong Module ESP-12E dễ dàng kết nối WiFi với một vài thao tác Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với
board Và có sẳn nút nhấn, led để tiện qua quá trình học, nghiên cứu.[1]
Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với các thiết bị ngoại
vi để tạo thành project, sản phẩm mẫu một cách nhanh chóng
Hình 3.13: Module Wifi ESP8266 Node MCU
3.5.2 Thông số kỹ thuật
Chip: ESP8266EX
WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
Điện áp hoạt động: 3.3V
Điện áp vào: 5V thông qua cổng USB
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2
Trang 39 Lập trình trên các ngôn ngữ: C/C++, Micropython, NodeMCU - Lua
-Hình 3.14: Pinout của Module ESP8266 Node MCU
3.6 Module Cảm biến độ dẫn điện trong dung dịch
3.6.1 Giới thiệu
Trong trồng cây thủy canh dựa vào giá trị của độ dẫn điện Ec để điều chỉnh bổ sung dinh dưỡng cho môi trường thủy canh Dinh dưỡng cho mỗi loại cây là khác nhau, vì vậy độ dẫn điện Ec cũng sẽ khác nhau Ngưỡng độ dẫn điện Ec của các loại cây thường trong khoảng 0.6 - 5.0 ms/cm
Nhóm tác giả lựa chọn module cảm biến đo độ dẫn điện của công ty DF robot Qua đó độ dẫn điện Ec có thể ngâm trong chất dung dịch 1 tháng, sau 1 tháng chúng cần phải vệ sinh Vì vậy nó phù hợp với thời gian thu hoạch của các loại cây rau thường dùng
Nguyên lý hoạt động: (Thông tin trích ở tài liệu [11])
Chip U3B bao gồm mạch đảo ngược Giá trị điện áp đọc được
Vout = R10/R*Vin (mV) Biểu thức 2.1
Trang 40Điện trở R có liên quan đến độ dẫn của dung dịch nước Tỷ lệ R10/ R được gọi
là hệ số khuếch đại Khi R được thay đổi, hệ số khuếch đại cũng được thay đổi, do đó Vout thay đổi
Ở bên phải của mạch đảo ngược, có một mạch trị giá trị tuyệt đối Đó là chức năng chuyển giao là Vout = | Vi | Arduino lấy mẫu ra của mạch trị giá trị tuyệt đối để tính độ dẫn
Trong công thức tính điện trở R: ρ là điện trở suất; L là chiều dài của phần tử điện trở; A là mặt cắt ngang của điện trở Đối với điện cực dẫn điện, L là khoảng cách giữa hai tấm dẫn (mm), A là diện tích của tấm dẫn (mm2) Giá trị độ dẫn điện được quy đổi ra từ giá trị điện áp Vout (mV) đọc được
Biểu thức 2.5
Với 1/R được gọi là dẫn GL/A được gọi là hằng số mạch Q Chức năng truyền của mạch đo: R là điện trở của điện cực khi nhúng vào dung dịch nước Mỗi loại điện cực có giá trị Q khác nhau Trong sơ đồ, R10=820Ω |Vin| cũng là một hằng số phụ thuộc vào mạch tạo ra tín hiệu Giá trị của nó là khoảng 200mV Độ dẫn điện càng tăng thì giá trị điện áp đọc được cũng tăng theo tuyến tính