BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
-----------------⸙∆⸙-----------------
MƠN HỌC: THỰC TẬP THỰC TẬP THIẾT KẾ HỆ THỐNG NHÚNG
TRONG CÔNG NGHIỆP
ĐỀ TÀI:
HỆ THỐNG VƯỜN THÔNG MINH
GVHD: Ths. Nguyễn Thanh Nghĩa
SVTH: Lê Đinh Hưng: 19161243
Nguyễn Như Nghĩa: 19161266
Tp. Hồ Chí Minh tháng năm
1
Mục lục
Mục lục...................................................................................................................................i
Danh sách hình ảnh...............................................................................................................iii
Danh sách bảng.....................................................................................................................iv
Chương 1.
TỔNG QUAN..................................................................................................1
1.1
ĐẶT VẤN ĐỀ.........................................................................................................1
1.2
MỤC TIÊU..............................................................................................................1
1.3
NỘi DUNG NGHIÊN CỨU....................................................................................1
1.4
GIỚI HẠN...............................................................................................................1
Chương 2.
2.1.
CƠ SỞ LÝ THUYẾT.......................................................................................1
NGƠN NGỮ PYTHON.........................................................................................1
2.1.1.
LỊCH SỬ VỀ PYTHON................................................................................2
2.1.2.
TÍNH NĂNG CỦA PYTHON.......................................................................2
2.1.3.
LỢI ÍCH CỦA VIỆC SỬ DỤNG NGÔN NGỮ PYTHON.........................3
2.2.
TỔNG QUAN VỀ SENSOR.................................................................................4
2.2.1.
KHÁI NIỆM SENSOR..................................................................................4
2.2.2.
PHÂN LOẠI SENSOR..................................................................................4
Chương 3.
TÍNH TỐN, THIẾT KẾ VÀ THI CÔNG.....................................................8
3.1.
TỔNG QUAN VỀ HỆ THỐNG...........................................................................8
3.1.1.
GIỚI THIỆU VỀ KIT RASPBERRY PI4.......................................................8
3.1.2.
ĐẶC TRƯNG CỦA RASPBERRY PI4..........................................................9
3.1.3.
CẢM BIẾN ĐO ĐỘ ẨM ĐẤT........................................................................11
3.1.4.
CẢM BIẾN MƯA............................................................................................12
3.1.5.
MÀN HÌNH LCD 16X2...................................................................................13
3.2.
SƠ ĐỒ KHỐI.......................................................................................................15
3.3.
CODE PYTHON VÀ THIẾT KẾ APP ĐIỀU KHIỂN....................................15
3.3.1.
CODE PYTHON..............................................................................................15
3.3.2.
THIẾT KẾ APP ĐIỀU KHIỂN THÔNG QUA MQTT DASHBOARD....22
3.4.
SƠ ĐỒ KẾT NỐI PHẦN CỨNG.......................................................................26
Chương 4.
KẾT QUẢ THỰC HIỆN................................................................................28
4.1
Quá trình thực hiện đề tài......................................................................................28
4.2
Kết quả..................................................................................................................30
Khảo sát hoạt động của hệ thống:..........................................................................30
TÀI LIỆU THAM KHẢO....................................................................................................33
i
Danh sách hình ản
Hình 2.1 Các loại sensor thơng dụng.........................................................................4
Hình 3.1 Kit Raspberry pi4 ......................................................................................8
Hình 3.2 Sơ đồ SPIO của Raspberry Pi4................................................................11
Hình 3.3: SOIL MOISTURE SENSOR.................................................................12
Hình 3.4: RAIN SENSOR ...................................................................................13
Hình 3.5: LCD 16x2..............................................................................................14
Hình 3.6 Sơ đồ khối hệ thống vườn thơng minh.....................................................15
Hình 4.1 Viết code và mơ phỏng thử hệ thống.......................................................28
Hình 4.2 Mua và kết nối các linh kiện....................................................................28
Hình 4.3 Xây dựng app...........................................................................................29
ii
Danh sách bảng
Bảng 2.1 Các phiên bản Python đã phát hành ..........................................................2
Bảng 2.2 Chuyển đổi giữa đáp ứng và kích thích......................................................4
Bảng 2.3 Phân loại theo dạng kích thích...................................................................5
Bảng 2.4 Cảm biển thụ động.....................................................................................6
Bảng 2.5 Cảm biến tích cực......................................................................................6
Bảng 3.1: Thơng tin ngày phát hành, hình thức và kích thước của các phiên bản Pi.8
iii
Chương 1.
TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Nền nông nghiệp của nước ta là nền nơng nghiệp vẫn cịn lạc hậu cũng như chưa
có nhiều ứng dụng khoa học kĩ thuật được áp dụng vào thực tế. Rất nhiều quy trình
kĩ thuật trồng trọt, chăm sóc được tiến hành một cách chủ quan và khơng đảm bảo
được đúng u cầu. Có thể nói trong nơng học ngồi những kĩ thuật trồng trọt, chăm
sóc thì tưới nước là một trong các khâu quan trọng nhất trong trồng trọt, để đảm bảo
cây sinh trưởng và phát triển bình thường, tưới đúng và tưới đủ theo yêu cầu nông
học của cây trồng sẽ không sinh sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an
toàn, đạt năng suất, hiệu quả cao. Mặt khác hiện nay nước ta đang trong giai đoạn
cơng nghiệp hóa, hiện đại hóa các thiết bị máy móc tự động được đưa vào phục vụ
thay thế sức lao động của con người. Vì vậy nhóm chúng em đã thực hiện đề tài đó
là thiết kế vườn thơng minh.
1.2 MỤC TIÊU
-
Hiểu được nguyên lý hoạt động của các loại cảm biến
-
Hiểu được cách kết nối và điều khiển các module thông qua kit Raspberry
-
Biết vận dụng ngơn ngữ Python để lập trình nhúng
-
Sản phẩm phải thỏa mãn được các yêu cầu đặt ra như: khi mưa thì motor
khơng hoạt động, độ ẩm cao motor cũng không hoạt động,…
1.3 NỘi DUNG NGHIÊN CỨU
-
Chương 2: Cơ sở lý thuyết
-
Chương 3: Tính tốn thiết kế và thi công
1.4 GIỚI HẠN
+ Không thể tự điều chỉnh độ ẩm để thực hiện tưới nước theo nhu cầu giống cây
trồng.
+ Đề tài chỉ nhận vào tín hiệu Digital mà chưa tối ưu được việc nhận tín hiệu
Analog để thực hiện những nhiệm vụ quan trọng như đo nồng độ PH,..
+ Mơ hình vườn thơng minh cịn khá đơn giản, cần phải tối ưu hơn.
Chương 2.
CƠ SỞ LÝ THUYẾT
1
2.1. NGÔN NGỮ PYTHON
2.1.1. LỊCH SỬ VỀ PYTHON
Python là một ngôn ngữ khá cũ được tạo ra bởi Guido Van Rossum. Thiết kế bắt
đầu vào cuối những năm 1980 và được phát hành lần đầu tiên vào tháng 2 năm
1991.
Vào cuối những năm 1980, Guido Van Rossum làm việc trong Amoeba, phân
phối một nhóm hệ điều hành. Ơng muốn sử dụng một ngơn ngữ thơng dịch như
ABC (ABC có cú pháp rất dễ hiểu) để truy cập vào những cuộc gọi hệ thống
Amoeba. Vì vậy, ơng quyết định tạo ra một ngôn ngữ mở rộng. Điều này đã dẫn đến
một thiết kế của ngơn ngữ mới, chính là Python sau này.\
Bảng 2.1Các phiên bản Python đã phát hành
Phiên bản
Python 1.0 (bản phát hành chuẩn đầu tiên)
Ngày phát hành
01/1994
Python 1.6 (Phiên bản 1.x cuối cùng)
05/09/2000
Python 2.0 (Giới thiệu list comprehension)
16/10/2000
Python 2.7 (Phiên bản 2.x cuối cùng)
03/07/2010
Python 3.0 (Loại bỏ cấu trúc và mơ-đun trùng lặp)
03/12/2008
Python 3.8.5 (Bản mới nhất tính đến thời điểm cập nhật bài) 20/07/2020
2.1.2. TÍNH NĂNG CỦA PYTHON
Ngơn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng.
Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như
C++, Java, C#. Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung
vào những giải pháp chứ khơng phải cú pháp.
Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python, thậm
chí là dùng nó cho mục đích thương mại. Vì là mã nguồn mở, bạn khơng những có
thể sử dụng các phần mềm, chương trình được viết trong Python mà cịn có thể thay
đổi mã nguồn của nó. Python có một cộng đồng rộng lớn, khơng ngừng cải thiện nó
mỗi lần cập nhật.
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng
này sang nền tảng khác và chạy nó mà khơng có bất kỳ thay đổi nào. Nó chạy liền
mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.
2
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự phức tạp
rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngơn ngữ
khác (có thể gọi được từ C) vào code Python. Điều này sẽ cung cấp cho ứng dụng
của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngơn ngữ
lập trình khác khó có thể làm được.
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một
số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn trở nên dễ thở
hơn rất nhiều, đơn giản vì khơng phải tự viết tất cả code.
2.1.3. LỢI ÍCH CỦA VIỆC SỬ DỤNG NGƠN NGỮ PYTHON
Cú pháp đơn giản: Lập trình bằng Python rất thú vị. Nó dễ dàng để hiểu và
code bằng Python. Tại sao? Cú pháp của Python khá giống với ngơn ngữ tự nhiên,
ví dụ như đoạn code dưới đây:
3. a = 2
4. b = 3
5. sum = a + b
6. print(sum)
Ngay cả khi chưa lập trình bao giờ, bạn có thể dễ dàng đoán được đoạn code này
thêm vào hai số a, b, tính tổng và in tổng của chúng.
Khơng q khắt khe: Bạn không cần xác định kiểu của một biến trong Python,
không cần thêm dấu chấm phẩy vào cuối câu lệnh. Python buộc bạn tuân theo
những bài tập có sẵn (như chỉ dẫn đúng). Điều nhỏ nhặt này giúp cho việc học
Python dễ dàng với người mới hơn rất nhiều.
Viết code ít hơn: Python cho phép viết những chương trình có nhiều chức năng
tốt hơn với ít dịng code hơn. Bạn có thể tham khảo mã nguồn game Tic-tac-toe
(pastebin.com/7LTkj2V5) với giao diện đồ họa và đối thủ máy tính thơng minh mà
chỉ chưa đến 500 dòng code. Đây chỉ là một ví dụ. Bạn có thể sẽ ngạc nhiên về
những gì mà Python có thể làm được khi tìm hiểu sâu hơn về nó.
Cộng đồng lớn, hỗ trợ tốt: Python có một cộng đồng hỗ trợ rộng lớn, có nhiều
diễn đàn hoạt động trực tuyến giúp bạn khi bị mắc kẹt với vấn đề nào đó trong
Python:
3
2.2. TỔNG QUAN VỀ SENSOR
2.2.1. KHÁI NIỆM SENSOR
Sensor (hay cảm biến) là một thiết bị cảm nhận, biến đổi các đại lượng vật lý và
các đại lượng khơng có tính chất điện cần đo thành các đại lượng có thể đo và xử lý
được.
Các đại lượng đo thường khơng có tính chất điện(như nhiệt độ, áp suất, trọng
lượng,..) tác động lên cảm biến cho ta đại lượng đặc trưng mang tính chất điện
như(điện tích, điện áp, dịng điện hay trở kháng) chứa đựng thông tin cho phép xác
định giá trị của đại lượng cần đo.
Hình 2.1 Các loại sensor thơng dụng
2.2.2. PHÂN LOẠI SENSOR
Các bộ cảm biến được phân loại theo đặc trưng sau đây:
+ Theo nguyên lý chuyển đổi giữa đáp ứng kích thích.
Bảng 2.2 Chuyển đổi giữa đáp ứng và kích thích
Hiện tượng
Vật lý
Chuyển đổi và đáp ứng kích thích
Nhiệt điện, quang điện, quang từ, điện từ, quang đàn
Hóa học
Sinh học
hồi, từ điện, nhiệt từ
Biến đổi hóa học, biến đổi điện hóa, phân tích phổ
Biến đổi sinh hóa, biến đổi vật lý, hiệu ứng trên cơ thể
sống
+ Phân loại theo dạng kích thích
Bảng 2.3 Phân loại theo dạng kích thích
4
Âm thanh
Điện
Biên pha, phân cực, phổ, tốc độ truyền sóng
Điện tích, dịng điện, điện thế, điện áp, điện trường, điện
Từ
Quang
dẫn, hằng số điện môi
Từ trường, từ thông, cường độ điện trường, độ từ thẩm
Biên, pha, phân cực, phổ, tốc độ truyền, hệ số phát xạ,
Cơ
khúc xạ, hệ số hấp thụ, hệ số bức xạ.
Vị trí, lực, áp suất, gia tốc, vận tốc, ứng suất, độ cứng,
Nhiệt
Bức xạ
moment, khối lượng tỷ trọng, vận tốc chất lưu, độ nhớt
Nhiệt dộ, thông lượng, nhiệt dung, tỉ nhiệt
Kiểu, năng lượng, cường độ
+ Phân loại theo phạm vi sử dụng
Khả năng quá tải
Tốc độ đáp ứng
Độ ổn định
Tuổi thọ
Điều kiện lựa chọn
Kích thước, trọng lượng
+ Phân loại theo tính năng
Độ nhạy
Độ chính xác
Độ phân giải
Độ chọn lọc
Độ tuyến tính
Cơng suất tiêu thụ
Dải tần
Độ trễ
+ Phân loại theo lĩnh vực ứng dụng
Cơng nghiệp
Nghiên cứu khoa học
Mơi trường , khí tượng
Thông tin, viễn thông
Nông nghiệp
Dân dụng
5
Vũ trụ
Quân sự
Y học
+ Phân loại theo thơng số mơ hình mạch thay thế
Cảm biến tích cực đầu ra là nguồn áp, nguồn dòng (NPN, PNP)
Cảm biến thụ động được đặc trưng bời thông số R, L, C, M,.. tuyến tính hoặc
phi tuyến
Đường cong chuẩn của cảm biến là đường cong được biểu diễn sự phụ thuộc
vào đại lượng điện (S) ở đầu ra của cảm biến vào giá trị của đại lượng cần đo
(M) ở đầu vào
+ Cảm biến thụ động và cảm biến tích cực
Bảng 2.4 Cảm biến thụ động
Đại lượng
Nhiệt độ
Thơng số biến đổi
Điện trở suất
Vật liệu làm cảm biến
Kim loại, platine, Nickel,
đồng, chất bán dẫn, thủy
Điện trở suất, độ từ thẩm
tinh
Hợp kim nickel và silic
Vị trí
Từ thơng của bức xạ
Điện trở suất
Điện trở suất
mạ, hợp kim sắt từ
Từ trở
Bán dẫn
quang
Độ ẩm
Điên trở suất, hằng số
Hợp kim polimere
Mức
điện môi
Hằng số điện môi
Cách điện lỏng
Hiệu ứng sử dụng
Áp điện
Nhiệt điện
Cảm ứng điện từ
Hiệu ứng Hall
Hóa quang
Tín hiệu ra
Điện tích
Điện áp
Điện áp
Điện áp
Điện tích
Phát xạ quang
Dịng điện
Hiệu ứng quang thấp
Điện áp
Hiệu ứng quang điện từ
Điện áp
Biến dạng
Bảng 2.5 Cảm biến tích cực
Đại lượng vật lý cần đo
Lực, áp suất, gia tốc
Nhiệt độ
Tốc độ (Vận tốc)
Vị trí
Từ thơng, bức xạ quang
6
7
Chương 3.
TÍNH TỐN, THIẾT KẾ VÀ THI CƠNG
3.1. TỔNG QUAN VỀ HỆ THỐNG
3.1.1. GIỚI THIỆU VỀ KIT RASPBERRY PI4
Raspberry Pi là một máy tính rất nhỏ gọn, kích thước hai cạnh như bằng
khoảng một cái thẻ ATM và chạy hệ điều hành Linux. Raspberry Pi được phát triển
bởi Raspberry Pi Foundation - một tổ chức phi lợi nhuận.Bạn có thể sử dụng
Raspberry Pi như một máy vi tính bởi người ta đã tích hợp mọi thứ cần thiết trong
đó. Bộ xử lí SoC Broadcom BCM2835 của nó bao gồm CPU, GPU, RAM, khe cắm
thẻ microSD, Wi-Fi, Bluetooth và 4 cổng USB 2.0.
Với Raspberry Pi, bạn chỉ cần cài hệ điều hành, gắn chuột, bàn phím và màn
hình là có thể sử dụng như một máy vi tính. Raspberry Pi khơng hồn tồn có thể
thay thế được máy tính để bàn hoặc laptop nhưng nó là một thiết bị đa năng có thể
được sử dụng cho những hệ thống điện tử, thiết lập hệ thống tính tốn, những dự án
DIY… với chi phí rẻ.
Hình 3.1 Kit Raspberry pi4
Bảng 3.1: Thơng tin ngày phát hành, hình thức và kích thước của các phiên bản Pi
Raspberry Pi Version
8
Release
Form
Dimensions (in
Date
Factor
mm)
Raspberry Pi 4 Model B
2019-2020
Standard
85.6 x 56.5
Raspberry Pi 3 Model B+
2018
Standard
85.6 x 56.5
Raspberry Pi 3 Model B
2016
Standard
85.6 x 56.5
Raspberry Pi 3 Model A+
2018
Compact
65 x 56.5
Raspberry Pi Zero Wireless with
2017
Mini
65 x 30 x 5
Raspberry Pi Zero Wireless
2016
Mini
65 x 30 x 5
Raspberry Pi Zero
2015
Mini
65 x 30 x 5
Raspberry Pi 2 Model B
2015
Standard
85.6 x 56.5
Raspberry Pi 1 Model B +
2014
Standard
85.6 x 56.5
Raspberry Pi 1 Model B
2012
Standard
85.6 x 56.5
Raspberry Pi 1 Model A+
2014
Compact
65 x 56.5
Raspberry Pi 1 Model A
2013
Standard
85.6 x 56.5
Headers
3.1.2. ĐẶC TRƯNG CỦA RASPBERRY PI4
+ Về phần cứng
• Nhân 64-bit ARM-Cortex A72 chạy với tốc độ 1.5GHz
• Có nhiều options như 1, 2 and 4 Gigabyte RAM
• H.265 (HEVC) hardware decode (up to 4Kp60)
• H.264 hardware decode (up to 1080p60)
• VideoCore VI 3D Graphics
9
• Supports dual HDMI display output up to 4Kp60
+ Về giao diện
• 802.11 b/g/n/ac Wireless LAN
• Bluetooth 5.0 with BLE
• 1x SD Card
• 2x micro-HDMI ports supporting dual displays up to 4Kp60 resolution
• 2x USB2 ports
• 2x USB3 ports
• 1x Gigabit Ethernet port (supports PoE with add-on PoE HAT)
• 1x Raspberry Pi camera port (2-lane MIPI CSI)
• 1x Raspberry Pi display port (2-lane MIPI DSI)
• 28x user GPIO supporting various interface options:
– Up to 6x UART
– Up to 6x I2C
– Up to 5x SPI
– 1x SDIO interface
– 1x DPI (Parallel RGB Display)
– 1x PCM
– Up to 2x PWM channels
– Up to 3x GPCLK outputs
10
Hình 3.2 Sơ đồ SPIO của Raspberry Pi4
3.1.3. CẢM BIẾN ĐO ĐỘ ẨM ĐẤT
Cảm biến độ ẩm đất Soil Moisture Sensor thường được sử dụng trong các mơ
hình tưới nước tự động, vườn thông minh,..., cảm biến giúp xác định độ ẩm của đất
qua đầu dò và trả về giá trị Analog, Digital qua 2 chân tương ứng để giao tiếp với
Vi điều khiển để thực hiện vô số các ứng dụng khác nhau.
Thông số kỹ thuật:
Điện áp hoạt động: 3.3~5VDC
Tín hiệu đầu ra:
o
Analog: theo điện áp cấp nguồn tương ứng.
o
Digital: High hoặc Low, có thể điều chỉnh độ ẩm mong muốn
bằng biến trở thông qua mạch so sánh LM393 tích hợp.
Kích thước: 3 x 1.6cm.
Sơ đồ chân:
VCC
GND
DO
3.3V ~ 5V
GND của nguồn ngồi
Đầu ra tín hiệu số (mức cao hoặc mức thấp)
11
AO
Đầu ra tín hiệu tương tự (Analog)
Hình 3.3: SOIL MOISTURE SENSOR
3.1.4. CẢM BIẾN MƯA
Cảm biến mưa sử dụng để phát hiện mực nước, trời mưa, hay các mơi trường
có nước. Mạch cảm biến mưa được đặt ngoài trời để kiểm tra trời có mưa khơng,
qua đó truyền tín hiệu điều khiển đóng / ngắt rơ le.
Mạch cảm biến mưa gồm 2 bộ phận:
+ Bộ phận cảm biến mưa được gắn ngoài trời
+ Bộ phận điều chỉnh độ nhạy cần được che chắn
Mạch cảm biến mưa hoạt động bằng cách so sánh hiệu điện thế của mạch
cảm biến nằm ngoài trời với giá trị định trước (giá trị này thay đổi được thơng qua 1
biến trở màu xanh) từ đó phát ra tín hiệu đóng / ngắt rơ le qua chân D0.
Khi cảm biến khô ráo (trời không mưa), chân D0 của module cảm biến mưa
sẽ được giữ ở mức cao (5V-12V). Khi có nước trên bề mặt cảm biến (trời mưa), đèn
LED màu đỏ sẽ sáng lên, chân D0 được kéo xuống thấp (0V).
+ Mạch hoạt động với nguồn 5V.
12
Hình 3.4: RAIN SENSOR
3.1.5. MÀN HÌNH LCD 16X2
+ LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thơng số.
+ LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển
(RS, RW, EN).
+ 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
+ Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ
liệu.
+ Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
+ LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang
làm.Các giai đoạn xử lý ảnh
13
Hình 3.5: LCD 16x2
Chức năng của từng chân LCD 16x2:
- Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển
- Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch
điều khiển
- Chân số 3 - VE : điều chỉnh độ tương phản của LCD
- Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":
+ Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
- Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0”
để ghi hoặc nối với logic “1” đọc
- Chân số 6 - E : chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như
sau:
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi
phát hiện một xung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên
(low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống
mức thấp
- Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổi thơng tin
với MPU. Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu được
14
truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được
truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)
- Chân số 15 - A : nguồn dương cho đèn nền
- Chân số 16 - K : nguồn âm cho đèn nền.
3.2. SƠ ĐỒ KHỐI
Hình 3.6 Sơ đồ khối hệ thống vườn thơng minh
Giải thích sơ đồ khối:
+ Rain sensor sẽ xác nhận thơng tin về việc có hay khơng có mưa, sau đó
Soil moisture sensor sẽ thực hiện việc đo độ ẩm.
+ Raspberry Pi4 sẽ nhận thông tin từ 2 cảm biến ở trên để xử lý
+ Sau khi xử lý xong, Pi4 sẽ gửi tín hiệu điều khiển đến Motor đồng thời gửi
thông tin đến App MQTT dashboard để thơng báo đến chủ vườn về tình
trạng hoạt động của hệ thống
3.3. CODE PYTHON VÀ THIẾT KẾ APP ĐIỀU KHIỂN
3.3.1. CODE PYTHON
import time
import os
import RPi.GPIO as GPIO
import Adafruit_DHT
15
from urllib.parse import urlparse
import paho.mqtt.client as paho
import os,sys
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
# Define GPIO to LCD mapping
LCD_RS = 7
LCD_E = 11
LCD_D4 = 12
LCD_D5 = 13
LCD_D6 = 15
LCD_D7 = 16
RELAY_PIN = 29
SOIL_SENSOR_PIN = 31
Rain_SENSOR_PIN = 33
'''
define pin for lcd
'''
# Timing constants
E_PULSE = 0.0005
E_DELAY = 0.0005
delay = 1
GPIO.setup(LCD_E, GPIO.OUT) # E
GPIO.setup(LCD_RS, GPIO.OUT) # RS
GPIO.setup(LCD_D4, GPIO.OUT) # DB4
GPIO.setup(LCD_D5, GPIO.OUT) # DB5
GPIO.setup(LCD_D6, GPIO.OUT) # DB6
GPIO.setup(LCD_D7, GPIO.OUT) # DB7
16