Tải bản đầy đủ (.pdf) (22 trang)

HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP đề TÀI THIẾT KẾ HỆ THỐNG VƯỜN CÂY THÔNG MINH

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 (201.83 KB, 22 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

TIỂU LUẬN CUỐI KỲ
HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP
ĐỀ TÀI:
THIẾT KẾ HỆ THỐNG VƯỜN CÂY THÔNG MINH

Giảng viên hướng dẫn: Nguyễn Thanh Nghĩa
Sinh viên thực hiện:
1. Lê Huy Hoàng

19161109

2. Trần Thanh Trung

19161014

3. Nguyễn Tân Khoa

19161120

Học kì I, năm học 2021-2022
Thành phố Hồ Chí Minh, tháng 11 năm 2021



I.

GIỚI THIỆU


1. Tóm tắt kết quả nghiên cứu của đề tài
Sau một thờ i gian nghiên cứu thiết kế, nhóm đã nghiên cứu tạo ra hệ
thống vườn cây thông minh có thể giám sát vườn cây theo yêu cầu sau:
 Chăm sóc việc trồng cây tự động.
 Giám sát, điều khiển hệ thống qua web.
 Điều khiển mọi thông tin về mơi trường như nhiệt độ, độ ẩm…
từ đó có những điều chỉnh phù hợp với điều kiện phát triển của
cây.
Các kết quả trên rất phù hợp với những yêu cầu mà nhóm đã đặt ra để thực
hiện:
 Kỹ thuật: Xây dựng thiết kế cấu hình hồn chỉnh hệ thống có khả
năng tự động chăm sóc cây trồng an tồn bằng cách khống chế nhiệt
độ, độ ẩm, cường độ ánh sáng…thông qua các thiết bị(máy bơm nước,
đèn chiếu sáng, mái che…). Đồng thời thu thập thông tin và chuyền
tải lên web thuận tiện cho việc giám sát vườn trồng , và có thể điều
khiển động cơ bằng bốn nút nhấn. Qua đó góp phần ứng dụng vào
ngành nơng nghiệp hiện đại, phục vụ nhu cầu cung cấp rau an toàn
cho người sử dụng.
 Thực tiễn: Mơ hình sẽ giúp giảm công sức lao động, thời gian cho
người trồng và cho ra chất lượng sản phẩm vượt trội. Trong nơng
nghiệp có thể triển khai cho các dự án trồng cây trong nhà kính, mơ
hình sản xuất rau an tồn với quy mơ lớn. Giúp kiểm sốt tốt các khâu
trung gian trong hệ thống, đồng thời vận hành hệ thống dễ dàng, quản
lý và bảo dưỡng hệ thống nhanh, thuận tiện.
2. Lý do chọn đề tài


Rau xanh, các loại trái cây là loại thực phẩm thiết yếu của cuộc sống
con người, cung cấp phần lớn khống chất và vitamin, góp phần cân
bằng dinh dưỡng trong bữa ăn hằng ngày. Hiện nay ở Việt Nam, một

trong những vẫn đề cần được giải quyết là môi trường, an tồn và sức
lao động.
Cùng vì sự phát triển vượt trội của các ngành kỹ thuật điện tử,
kỹ thuật điều khiển và tự động đã và đang đạt được nhiều tiến bộ mới.
Việc xây dựng một hệ thống mà có thể tự động thực hiện các công
việc giúp giảm nhẹ sức lao động cho con người mà cịn góp một phần
rất lớn trong việc nâng cao sức lao động, cải thiện chất lượng sản
phẩm.
Chính vì vậy, nhóm đã phát triển hệ thống trồng cây đó là
“Thiết kế hệ thống vườn cây thơng minh” theo quy trình khép kín có
khả năng điều chỉnh độ ẩm, nhiệt độ, ánh sáng theo tiêu chuẩn của cây
trồng. Phương thức thu thập dự liệu từ xa và điều khiển hồn tồn tự
động trong mơi trường. Nhờ vậy giảm được công sức, thời gian cho
người trồng và cho sản phẩm chất lượng vượt trội.
Hệ thống bao gồm các module được kết nối với nhau qua một
khối sử lý trung tâm đó là con Raspberry Pi 3.
- Module điều khiển cường độ ánh sáng
- Module cảm biến độ ẩm
- Module cảm biến nhiệt độ
- Module cảm biến chuyển động
- Module cảm biến mưa
3. Mục tiêu của đề tài
Đề tài nghiên cứu thiết kế vườn cây thông minh giám sát tự động từ
xa do nhóm nghiên cứu nhằm đạt các mục đích sau:


- Giảm được công sức, thời gian cho người trồng và cho sản
phẩm đạt chất lượng vượt trội.
- Hệ thống cảm biến sẽ thu thập thông tin về môi trường như
nhiệt độ, độ ẩm…từ đó có những điều chỉnh phù hợp với

điều kiện phát triển của cây.
- Nâng cao khả năng nghiên cứu và tự nghiên cứu của sinh
viên.
4. Phương pháp nghiên cứu
Xây dựng các từng phần module thông qua thuật mô phỏng nhờ
phần mềm hỗ trợ (simulation). Đánh giá tính khả thi và điều chỉnh
các chỉ tiêu hệ thống để hệ thống đạt được tối đa và giảm nhiễu tối
đa.
5. Phạm vi nghiên cứu
Để xây dựng được nội dung nghiên cứu chính của đề tài, nhóm
nghiên cứu đã lên kế hoạch cụ thể để thực hiện. Các nội dung này
được phân chia theo một trật tự nhất định và xây dựng dựa trên các
nền tảng cơ bản về kiến thức từ mức độ đơn giản và nâng dần sự
phức tạp trong việc nghiên cứu, thiết kế, chế tạo hệ thống.
+ Nghiên cứu về Raspberry Pi 3
+ Xây dựng các module thành phần của hệ thống
+ Module thông tin đầu vào là thông tin từ cảm biến cường độ
ánh sáng, cảm biến độ ẩm và cảm biến nhiệt độ…
+ Module thông tin đầu ra điều khiển các thiết bị bật tắt theo
các chức năng định trước.


II.

NỘI DUNG NGHIÊN CỨU
1. Cấu tạo
- Cảm biến chuyển động
- Cảm biến ánh sáng
- Cảm biến nhiệt độ
- Cảm biến độ ẩm, mưa

- Hệ thống đèn
- Hệ thống làm mát
- Máy bơm nước
- Hệ thống mái hiên
- Màn hình LCD hiển thị
- Cửa ra vào
2. Sơ đồ nguyên lí, thiết lập điều khiển


3. Nguyên lý hoạt động
3.1.

Cảm biến chuyển động
Cảm biến chuyển động (hay bộ phát hiện chuyển động) là một
thiết bị điện tử được thiết kế để phát hiện và đo chuyển động. 
Hệ thống vườn cây thơng minh có 2 chế độ:
+ Chế độ tự động:
o Hệ thống sẽ dựa trên thông số của các thiết bị cảm biến
đã được cài đặt trước thơng số để điều khiển các thiết bị
chăm sóc vườn cây
o Khi ở chế độ tự động, hệ thống vườn cây thông minh sẽ
tự điều chỉnh các thiết bị chăm sóc cho vườn cây thơng
qua các thơng số mà các thiết bị cảm biến đo được. Các
thiết bị cảm biến sẽ báo thơng số qua màn hình LCD và


uART, và dựa vào thông số đã được cài đặt trước, các
thiết bị chăm sóc vườn cây sẽ bật tắt để vườn cây có điều
kiện sinh trưởng một cách tốt nhất
+ Chế độ điều khiển bằng tay

o Hệ thống sẽ hoạt động dựa trên sự vận hành của con
người
o Khi ở chế độ điều khiển bằng tay. Màn hình LCD sẽ hiện
thị “CO NGUOI DEN. CHE DO DK TAY” và uART sẽ
hiển thị “CHE DO DIEU KHIEN BANG TAY. HAY
NHAN PHIM DE DK”.
3.2.

Cảm biến ánh sáng
Cảm biến ánh sáng là thiết bị quang điện chuyển đổi ánh sáng

(bao gồm cả ánh sáng nhìn thấy và ánh sáng dạng tia hồng ngoại)
thành tín hiệu điện. Nó là một dạng thiết bị cảm biến thơng minh có
thể nhận biết được các biến đổi của mơi trường thơng qua mắt cảm
biến. Từ đó, nó sẽ điều chỉnh ánh sáng cho phù hợp.
Bộ cảm biến ánh sáng được cài đặt thông số trước ( Khi <100
hệ

thống đèn sẽ mở, khi >100 hệ thống đèn sẽ tắt). Khi ở chế độ tự

động, hệ thống sẽ dựa vào thông số của bộ cảm biến ánh sáng, từ đó
hệ thống đèn sẽ tự động bật tắt tuỳ thuộc vào thơng số đo được. Lúc
này, màn hình LCD sẽ hiện thị thông số đo được “Anh Sang:10 Mo
den”, uART sẽ hiện thị “Cuong do anh sang:10 Mo den Tang cuong
do anh sang”
3.3.

Cảm biến nhiệt độ
Cảm biến nhiệt độ là một thiết bị điện tử đo nhiệt độ môi


trường và chuyển đổi dữ liệu đầu vào thành dữ liệu điện tử để ghi
lại, theo dõi hoặc thay đổi nhiệt độ môi trường đo.


Bộ cảm biến nhiệt độ sẽ được cài đặt thông số trước ( Khi >30
bật máy lạnh, khi <30 tắt máy lạnh). Khi ở chế độ tự động, hệ thống
sẽ dựa vào thông số của bộ cảm biến nhiệt độ, từ đó hệ thống làm
mát sẽ tự động bật tắt tuỳ thuộc vào thơng số đo được. Lúc này,
màn hình LCD sẽ hiện thị “Nhiet do 32.36 Bat may lanh”, uART sẽ
hiển thị “Nhiet do trong vuon 32.26 Mo thiet bi lam mat giam nhiet
do vuon”
3.4.

Cảm biến độ ẩm
Cảm biến độ ẩm là một thiết bị điện tử dùng để đo độ ẩm khơng

khí. Thiết bị này rất nhạy cảm và có chi phí rất thấp. Chúng cịn
được biết đến với tên gọi là ẩm kế. Dựa vào cảm biến, thiết bị được
phân loại ra làm cảm biến độ ẩm tương đối và cảm biến độ ẩm tuyệt
đối.
Bộ cảm biến độ ẩm sẽ được cài đặt thông số trước ( < 100 và có
mưa sẽ mở hệ thống mái hiên, <100 và khơng có mưa sẽ đóng hệ
thống mái hiên, mở máy bơm, >100 và có mưa hệ thống mái hiên sẽ
đóng). Khi ở chế độ tự động, thiết bị cảm biến nhiệt độ hoạt động
tuỳ thuộc vào độ ẩm và thời tiết để điều khiển hệ thống mái hiên và
máy bơm nước một cách hợp lí, đảm bảo cây trồng ln trong điều
kiện tốt nhật. Màn hình LCD sẽ hiển thị “Do am trong vuon 0 Dong
mai hien”, uART sẽ hiển thị “Do am dat trong vuon 0 Dong mai
hien vuon may bom nuoc hoat dong Tang cuong do am cho cay”
3.5.


Hệ thống đèn
Hệ thống đèn trồng cây cho ra những bước sóng ánh sáng tối ưu

giúp thúc đẩy q trình quang hợp của cây nhanh chóng và hiệu quả
hơn, từ đó cây trồng có thể phát triển và sinh trưởng tốt hơn, với tốc
độ nhanh hơn, không phụ thuộc vào ánh nắng sáng mặt trời


Hệ thống đèn sẽ nhận thông tin từ thiết bị cảm biến ánh sáng,
rồi từ đó sẽ tự động điều khiển dưới chương trình cài đặt sẵn hoặc
do sự điều khiển của con người.
3.6.

Hệ thống làm mát
Hệ thống làm mát cho cây trồng là hệ thống giúp điều khiển

được được vi khí hậu giúp cho cây trồng chống lại các điều kiện
nóng của mơi trường. Qua đó chúng ta có thể tối ưu hoá điều kiện
sinh trưởng của cây trồng.
Hệ thống làm mát sẽ nhận thông tin từ thiết bị cảm biến nhiệt
độ, rồi từ đó sẽ tự động bật tắt máy lạnh dưới chương trình được
thiết lập sẵn trong trạng thái điều khiển tự động hoặc do con người
điều khiển.
3.7.

Hệ thống mái hiên
Hệ thống mái hiên giúp tạo bóng mát cho cây, giúp cây sống

khoẻ dưới điều kiện nắng nóng gay gắt. Điều này giúp chúng phát

triển bình thường và giảm lượng ẩm bay hơi. Tuy nhiên, bóng râm
khơng phải lúc nào cũng tốt cho cây trồng. Hệ thống mái hiên sẽ
thông qua thiết bị cảm biến như nhiệt độ, độ ẩm… , chúng gửi dữ
liệu tới một phần mềm để phân tích và điều khiển chuyển động của
mái che từ xa, tạo ra một mơi trường vi khí hậu lý tưởng.
Hệ thống mai hiên sẽ tự động mở ra hoặc thu vào tuỳ thuộc vào
nhiệt độ môi trường mà thiết bị cảm biến nhiệt độ đo được, kèm
theo điều kiện thời tiết có mưa hay khơng.
3.8.

Máy bơm nước
Máy bơm nước là một loại máy thủy lực, nhận năng lượng từ

bên ngoài (cơ năng, điện năng, thủy năng,...) và truyền năng lượng


cho dòng chất lỏng, nhờ vậy đưa chất lỏng lên một độ cao nhất định
hoặc dịch chuyển chất lỏng theo hệ thống đường ống.
Máy bơm nước sẽ giúp cung cấp nước, độ ẩm cho vườn cây khi
đảm bảo cho vườn cây ln trong tình trạng sinh trưởng và phát
triển tốt nhất, nhanh nhất.
3.9.

Màn hình LCD, uART
Đây là 2 thiết bị được xem là cổng giao tiếp giữa các thiết bị

với nhau và với con người để kiểm sốt được mơi trường trong
vườn cây, từ đó có thể điều khiển điều chỉnh các thiết bị chăm sóc,
hỗ trợ cho sự sinh trưởng và phát triển của cây hoạt động một cách
tối ưu, hợp lí.

3.10. Cửa ra vào
Khi hệ thống vườn thơng minh ở trong chế độ điều khiển bằng
tay, cửa ra vào sẽ hoạt động liên tục. Còn khi ở trong chế độ tự
động, cửa ra vào sẽ tắt
4. Chương trình điều khiển
import spidev
import time
import RPi.GPIO as GPIO
import pio
import Ports

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(29, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)


GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
pio.uart=Ports.UART () # Define serial port
# Open SPI bus
spi = spidev.SpiDev()
spi.open(0,0)
# Define GPIO to LCD mapping
LCD_RS = 7
LCD_E = 11
LCD_D4 = 12
LCD_D5 = 13
LCD_D6 = 15
LCD_D7 = 16

bulb_pin = 32
Motor_1= 36
Motor_2 =35
Motor_3= 38
Motor_4 =26
motor_pin = 18
pir_pin = 31
buzzer_pin =33
Rain_sensor = 40
Relay_pin= 37
# Define sensor channels
ldr_channel = 0
temp_channel = 1
Moisture_channel =2
'''


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

GPIO.setup(bulb_pin, GPIO.OUT) # DB7
GPIO.setup(motor_pin, GPIO.OUT) # DB7
GPIO.setup(buzzer_pin, GPIO.OUT) # DB7
GPIO.setup(pir_pin, GPIO.IN) # DB7
GPIO.setup(Motor_1, GPIO.OUT) # Motor_1
GPIO.setup(Motor_2, GPIO.OUT) # Motor_1
GPIO.setup(Motor_3, GPIO.OUT) # Motor_1
GPIO.setup(Motor_4, GPIO.OUT) # Motor_1
GPIO.setup(Rain_sensor, GPIO.IN)
GPIO.setup(Relay_pin, GPIO.OUT) # Motor_1
# Define some device constants
LCD_WIDTH = 16

# Maximum characters per line

LCD_CHR = True
LCD_CMD = False
LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line


LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line

'''
Function Name :lcd_init()
Function Description : this function is used to initialized lcd by sending the
different commands
'''
def lcd_init():
# Initialise display
lcd_byte(0x33,LCD_CMD) # 110011 Initialise

lcd_byte(0x32,LCD_CMD) # 110010 Initialise
lcd_byte(0x06,LCD_CMD) # 000110 Cursor move direction
lcd_byte(0x0C,LCD_CMD) # 001100 Display On,Cursor Off, Blink Off
lcd_byte(0x28,LCD_CMD) # 101000 Data length, number of lines, font size
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
time.sleep(E_DELAY)
'''
Function Name :lcd_byte(bits ,mode)
Fuction Name :the main purpose of this function to convert the byte data into
bit and send to lcd port
'''
def lcd_byte(bits, mode):
# Send byte to data pins
# bits = data
# mode = True for character
#

False for command

GPIO.output(LCD_RS, mode) # RS


# High bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x10==0x10:
GPIO.output(LCD_D4, True)
if bits&0x20==0x20:

GPIO.output(LCD_D5, True)
if bits&0x40==0x40:
GPIO.output(LCD_D6, True)
if bits&0x80==0x80:
GPIO.output(LCD_D7, True)
# Toggle 'Enable' pin
lcd_toggle_enable()
# Low bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x01==0x01:
GPIO.output(LCD_D4, True)
if bits&0x02==0x02:
GPIO.output(LCD_D5, True)
if bits&0x04==0x04:
GPIO.output(LCD_D6, True)
if bits&0x08==0x08:
GPIO.output(LCD_D7, True)


# Toggle 'Enable' pin
lcd_toggle_enable()
'''
Function Name : lcd_toggle_enable()
Function Description:basically this is used to toggle Enable pin
'''
def lcd_toggle_enable():
# Toggle enable

time.sleep(E_DELAY)
GPIO.output(LCD_E, True)
time.sleep(E_PULSE)
GPIO.output(LCD_E, False)
time.sleep(E_DELAY)
'''
Function Name :lcd_string(message,line)
Function Description :print the data on lcd
'''
def lcd_string(message,line):
# Send string to display
message = message.ljust(LCD_WIDTH," ")
lcd_byte(line, LCD_CMD)
for i in range(LCD_WIDTH):
lcd_byte(ord(message[i]),LCD_CHR)

# Function to read SPI data from MCP3008 chip
# Channel must be an integer 0-7


def ReadChannel(channel):
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3) << 8) + adc[2]
return data

# Function to calculate temperature from
# TMP36 data, rounded to specified
# number of decimal places.
def ConvertTemp(data,places):
# ADC Value

# (approx) Temp Volts
#

0

-50

0.00

# 78

-25

0.25

# 155

0

0.50

# 233

25

0.75

# 310

50


1.00

# 465

100

1.50

# 775

200

2.50

# 1023

280

3.30

temp = ((data * 330)/float(1023))
temp = round(temp,places)
return temp
# Define delay between readings
delay = 5
lcd_init()
lcd_string(" XIN CHAO THAY ",LCD_LINE_1)
lcd_string(" VA CAC BAN ",LCD_LINE_2)



while 1:
pir_data = GPIO.input(pir_pin)
if(pir_data == False):
light_level = ReadChannel(ldr_channel)
time.sleep(0.2)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("ANH SANG ",LCD_LINE_1)
lcd_string(str(light_level),LCD_LINE_2)
time.sleep(0.2)
pio.uart.println("CUONG DO ANH SANG")
pio.uart.println(str(light_level))
time.sleep(0.2)

if(light_level < 100 ):
time.sleep(0.1)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("MO DEN ",LCD_LINE_2)
pio.uart.println("MO DEN")
pio.uart.println("TANG CUONG ANH SANG \r")
GPIO.output(bulb_pin, True)
else:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("TAT DEN ",LCD_LINE_2)
pio.uart.println("TAT DEN")
pio.uart.println("GIAM THIEU ANH SANG \r")
GPIO.output(bulb_pin, False)


# Print out results

temp_level = ReadChannel(temp_channel)
time.sleep(0.2)
temperature

= ConvertTemp(temp_level,2)

lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("NHIET DO ",LCD_LINE_1)
lcd_string(str(temperature),LCD_LINE_2)
pio.uart.println("NHIET DO TRONG VUON ")
pio.uart.println(str(temperature))
if(temperature > 30):
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("BAT MAY LANH ",LCD_LINE_1)
pio.uart.println("MO THIET BI LAM MAT ")
pio.uart.println("GIAM NHIET DO VUON \r")
GPIO.output(motor_pin, True)
else:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("TAT MAY LANH ",LCD_LINE_1)
pio.uart.println("TAT THIET BI LAM MAT ")
pio.uart.println("TANG NHIET DO VUON \r")
GPIO.output(motor_pin, False)

moisture_level = ReadChannel(Moisture_channel)
time.sleep(0.1)
# Print out results
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("DO AM DAT ",LCD_LINE_1)



lcd_string(str(moisture_level),LCD_LINE_2)
pio.uart.println("DO AM DAT TRONG VUON")
pio.uart.println(str(moisture_level))
time.sleep(0.2)
rain_data = GPIO.input(Rain_sensor)
if((moisture_level < 100) and (rain_data != False)) :
time.sleep(0.1)
GPIO.output(Relay_pin, False)
GPIO.output(Motor_3, True)
GPIO.output(Motor_4, False)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("MO MAI HIEN ",LCD_LINE_1)
pio.uart.println("MO MAI HIEN VUON ")
pio.uart.println("MAY BOM DUNG HOAT DONG ")
pio.uart.println("TANG CUONG DO AM CHO CAY ")
time.sleep(0.2)
if((moisture_level > 100) and (rain_data != False)) :
GPIO.output(Motor_4, True)
GPIO.output(Motor_3, False)
GPIO.output(Relay_pin, False)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("DONG MAI HIEN ",LCD_LINE_1)
pio.uart.println("DONG MAI HIEN VUON \r")
time.sleep(0.2)
else:
GPIO.output(Relay_pin, True)
GPIO.output(Motor_3, False)
GPIO.output(Motor_4, True)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display

lcd_string("DONG MAI HIEN ",LCD_LINE_1)


pio.uart.println("DONG MAI HIEN VUON ")
pio.uart.println("MAY BOM NUOC HOAT DONG ")
pio.uart.println("TANG CUONG DO AM CHO CAY ")
else:
GPIO.output(Motor_1, False)
GPIO.output(Motor_2, True)
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("CO NGUOI DEN ",LCD_LINE_1)
lcd_string("CHE DO DK TAY",LCD_LINE_2)
pio.uart.println("CHE DO DIEU KHIEN BANG TAY ")
pio.uart.println("HAY NHAN PHIM DK \r ")
if GPIO.input(5) == GPIO.HIGH:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("DONG MAI HIEN ",LCD_LINE_1)
pio.uart.println("DONG MAI HIEN VUON \r")
GPIO.output(Motor_3, False)
GPIO.output(Motor_4, True)
else:
GPIO.output(Motor_3, True)
GPIO.output(Motor_4, False)
if GPIO.input(3) == GPIO.HIGH:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("MO MAY BOM ",LCD_LINE_1)
pio.uart.println("TUOI NUOC CHO CAY ")
pio.uart.println("MAY BOM NUOC HOAT DONG ")
pio.uart.println("CUNG CAP DO AM THICH HOP \r")
GPIO.output(Relay_pin, True)

else:
GPIO.output(Relay_pin, False)


if GPIO.input(29) == GPIO.HIGH:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("MO DEN VUON ",LCD_LINE_1)
pio.uart.println("CUNG CAP ANH SANG ")
pio.uart.println("MO HE THONG DEN TRONG VUON \r")
GPIO.output(bulb_pin, True)
else:
GPIO.output(bulb_pin, False)
if GPIO.input(22) == GPIO.HIGH:
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
lcd_string("MO MAY LANH ",LCD_LINE_1)
pio.uart.println("MO THIET BI LAM MAT ")
pio.uart.println("TANG CUONG NHIET DO PHU HOP \r")
GPIO.output(motor_pin, True)
else:
GPIO.output(motor_pin, False)

III.

TỔNG KẾT
1. Kết quả thực hiện mô phỏng
2. Hướng phát triển đề tài




×