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

Ung dung may tinh sử dụng Atmega16, cảm biến để điều khiển máy bơm

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.06 MB, 28 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHOA CƠ HỌC KĨ THUẬT VÀ TỰ ĐỘNG HOÁ
Chuyên ngành Đo lường và điều khiển

BÁO CÁO
Mơn Ứng dụng máy tính trong đo lường
và điều khiển
Đề tài: Sử dụng cảm biến độ ẩm đất và nhiệt độ
để điều khiển máy bơm tự động tưới cây mini
Giảng viên hướng dẫn: ThS Hoàng Văn Mạnh
Thành viên nhóm 4:
Nguyễn Duy Khánh
Bùi Quang Huy
Trần Hữu Nam

Hà Nội, tháng 12 năm 2020


Lời mở đầu
Chúng ta đang sống trong thời đại công nghiệp hoá, gần như mọi thứ đều
được thực hiện một cách tự động, liên tục. Cơng nghiệp hố làm phát triển ngành
công nghiệp điều khiển lên một tầm cao mới, đạt hiệu quả cao và cho năng suất
lớn. Việc điều khiển có ý nghĩa có ý nghĩa vơ cùng quan trọng với đời sống, nó làm
cho các q trình được đơn giản hố, đỡ phức tạp hơn, giải phóng sức lao động của
con người mà hiệu quả mang lại vô cùng to lớn. Quá trình điều khiển được áp dụng
ở hầu hết các ngành công nghiệp đến nông nghiệp và cả dịch vụ, trong đó ngành
cơng nghiệp dể thấy nhất và chiếm tỉ lệ cao nhất.
Có nhiều phương pháp điều khiển khác nhau như điều khiển thường, sử
dụng các loại thuật tốn... Các hình thức điều khiển cũng nhiều và đa dạng như


điều khiển bằng nút nhấn, điều khiển từ xa, điều khiển thơng qua các bộ vi điều
khiển có cài đặt sẵn các chương trình, điều khiển qua máy tính, qua mạng... Mỗi
một hình thức có ưu điểm nhược điểm riêng nhưng cơ bản đều đạt được mục đích
của nười sử dụng.
Nhằm vận dụng những kiến thức đã học, nhóm em đã thực hiện đề tài Sử
dụng cảm biến độ ẩm đất và nhiệt độ để điều khiển máy bơm tự động tưới cây
mini với mục đích nắm được cơ bản về lập trinh và thiết kế mạch, đáp ứng được
yêu cầu của môn học.


I.

Ý tưởng

Ngày nay tự động hoá được ứng dụng rộng rãi trong các ngành công nghiệp,
nông nghiệp. Hệ thống tưới nước tự động là một trong số đó. Hệ thống có thể
vận hành tự động cấp nước cần thiết cho cây cối.
Nhóm 4 đã quyết định tìm hiểu, thiết kế một máy tưới nước tự động mini có
thể cấp nước cho cây khi bị thiếu độ ẩm và mở rộng hơn nó có thể thơng báo
cho người sử dụng nhiệt độ của môi trường.
II.

Giới thiệu về đề tài

Sản phẩm của chúng em là một hệ thống gồm cảm biến độ ẩm đất TH, cảm
biến nhiệt độ LM35, mạch chính điều khiển sử dụng Atmega16 có nhiệm vụ
tưới nước cho cây khi cây thiếu nước và đo nhiệt độ rồi gửi tín hiệu lên máy
tính. Khi độ ẩm cao, cây đủ nước thì hệ thống khơng cần tưới cho cây, khi độ
ẩm thấp hệ thống sẽ tự động tưới nước cho cây.
Máy tưới nước cho cây mini tự động:

1. Sử dụng 2 cảm biến độ ẩm đất và cảm biết nhiệt độ LM35 để cảm nhận các
tín hiệu điều khiển tương tự
2. Vi điều khiển Atmega16 bảo đảm sự hoạt động chính xác của các chương
trình, thực hiên các q trình tính tốn và điều khiển các thiết bị ngoại vi
3. Giao tiếp qua cổng COM với chuẩn RS232 để quan sát thông số và chế độ
hoạt động của thiết bị
III.

Thành phần

1. Vi điều khiển Atmega16
AVR Atmega16 là một họ vi điều khiển do hãng Atmel sản xuất (Atmel
cũng là nhà sản xuất dịng vi điều khiển 89C51 mà có thể bạn đã từng nghe đến).
AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóaRISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể hiện ưu
thế trong các bộ xử lí.


Thông số kỹ thuật:
Flash (Kbytes): 16 Kbytes
Pin Count: 44
Tần số thường hoạt động. (MHz): 16 MHz
CPU: 8-bit AVR
Max I / O Pins: 32
RAM: 1 kB (SRAM)
ROM: 512B (EEPROM)
Điện áp hoạt động: 4.5 V-5.5 V
Giao tiếp: I2C,JTAG,SPI,USART
Timer: 3
ADC: 8 kênh (10bit)
PWM: 4 kênh

Nhiệt độ: -40 C ~ +85 C
Vi điều khiển Atmega16 hiệu suất cao, công suất thấp Atmel 8-bit AVR RISC dựa
trên kết hợp 16KB bộ nhớ flash có thể lập trình, 1KB SRAM, 512B EEPROM,
một 10-bit A / D chuyển đổi 8-kênh, và một giao diện JTAG cho on-chip gỡ
lỗi. Thiết bị hỗ trợ thông lượng của 16 MIPS ở 16 MHz và hoạt động giữa 4,5-5,5
volt.
Vi điều khiển Atmega16 thực hiện hướng dẫn trong một chu kỳ đồng hồ duy nhất,
các thiết bị đạt được thông lượng gần 1 MIPS mỗi MHz, cân bằng điện năng tiêu
thụ và tốc độ xử lý.
AVR Atmega16 so với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính
hơn hẳn, hơn cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:


Gần như chúng ta không cần mắc thêm bất kỳ linh kiện phụ nào khi sử dụng
AVR, thậm chí khơng cần nguồn tạo xung clock cho chip (thường là các khối thạch
anh).

Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản, có loại mạch nạp chỉ cần
vài điện trở là có thể làm được. một số AVR cịn hỗ trợ lập trình on – chip bằng
bootloader khơng cần mạch nạp.
Bên cạnh lập trình bằng ASM, cấu trúc AVR được thiết kế tương thích C.
Nguồn tài nguyên về source code, tài liệu, application note…rất lớn trên
internet.
2. Cảm biến nhiệt độ LM35
Cảm biến nhiệt độ LM35 có điện áp Analog đầu ra tuyến tính theo nhiệt độ
thường được sử dụng để đo nhiệt độ của môi trường hoặc theo dõi nhiệt độ của
thiết bị,..., cảm biến có kiểu chân TO-92 với chỉ 3 chân rất dễ giao tiếp và sử dụng.








Thơng số kỹ thuật:
Điện áp hoạt động: 4~20VDC
Khoảng đo: -55°C đến 150°C
Điện áp tuyến tính theo nhiệt độ: 10mV/°C
Sai số: 0.25°C
Kiểu chân: TO92
Kích thước: 4.3 × 4.3mm


LM35 là một cái cảm biến nhiệt độ giá rẻ (tầm 26k) thường
được tiêu dùng mang thể được sử dụng để đo nhiệt độ (theo ° C).
Nó với thể đo nhiệt độ chính xác hơn so với một điện trở nhiệt
(thermistor) cùng tầm giá. Cảm biến này tạo ra điện áp có đầu ra
cao hơn các cặp nhiệt điện và có thể ko cần điện áp đầu ra được
khuếch đại. LM35 có điện áp đầu ra tỷ lệ thuận có nhiệt độ
Celsius. Hệ số tỷ lệ là .01V / ° C.
LM35 có độ chuẩn xác hơn kém 0,4 ° C ở nhiệt độ phịng bình
thường và hơn kém 0,8 ° C trong khoảng 0 ° C đến + 100 ° C. Một
đặc tính quan trọng hơn của cảm biến này là rằng nó chỉ thu được
60 microamps từ nguồn cung ứng và có khả năng tự sưởi ấm
thấp.

Một số tính chất của cảm biến LM35:




Đầu ra của cảm biến nhiệt độ lm35 thay đổi diễn tả tuyến
tính.
Điện áp o / p của cảm biến IC này tỉ lệ với nhiệt độ Celsius.



Điện áp hoạt động từ -55˚ đến + 150˚C.



Được vận hành dưới 4 tới 30V.




Các ứng dụng của cảm biến nhiệt độ LM35




Đo nhiệt độ của một môi trường đặc biệt và các áp dụng
HVAC
Kiểm tra nhiệt độ pin
Cung cấp thông tin về nhiệt độ của một linh kiện điện tử
khác
3. Cảm biến đo độ ẩm đất TH
Cảm biến độ ẩm đất có thể hiển thị chính xác độ ẩm đất.

Độ nhạy của Cảm biến phát hiện độ ẩm đất có thể tùy chỉnh được (Bằng
cách điều chỉnh chiết áp màu xanh trên board mạch)

Phần đầu đo được cắm vào đất để phát hiện độ ẩm của đất, khi độ ầm của
đất đạt ngưỡng thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức
cao.


Thơng số kĩ thuật:
+ Điện áp hoạt động: 3.3V-5V
+ Kích thước PCB: 3cm * 1.6cm
+ Led đỏ báo nguồn vào, Led xanh báo độ ẩm.
+ IC so sánh : LM393
+ VCC: 3.3V-5V
+ GND: 0V
+ DO: Đầu ra tín hiệu số (0 và 1)
+ AO: Đầu ra Analog (Tín hiệu tương tự)
Sơ đồ nguyên lý:


Khi module cảm biến độ ẩm phát hiện, khi đó sẽ có sự thay đổi điện áp
ngay tại đầu vào của ic LM393. Ic này nhận biết có sự thay đổi nó sẽ đưa ra một
tín hiệu 0V để báo hiệu. và thay đổi như thế nào sẽ được tính tốn để đọc độ ẩm
đất.
Chi tiết các bạn có thể tham khảo Datasheet Cảm biến độ ẩm đất.
+ Cảm biến độ ẩm đất rất nhạy với độ ẩm môi trường xung quanh, thường
được sử dụng để phát hiện độ ẩm của đất.
+ Khi độ ẩm đất vượt quá giá trị được thiết lập, ngõ ra của module D0 ở
mức giá trị là 0V.
+ Ngõ ra D0 có thể được kết nối trực tiếp với vi điều khiển như
(Arduino,PIC,AVR,STM), để phát hiện cao và thấp, và do đó để phát hiện độ ẩm
của đất.
+ Đầu ra Analog AO có thể được kết nối với bộ chuyển đổi ADC, bạn có

thể nhận được các giá trị chính xác hơn độ ẩm của đất.
4. . Máy Bơm Mini 6-12V MB385
Chức năng: dùng để bơm nước, tưới nước cho cây.


Thơng số kĩ thuật:
- Máy bơm mini có điện áp: DC 6-12V
- Dịng tiêu thụ: 0.6-2A
- Cơng suất: 5-12W
- Nhiệt độ hoạt động: 80 độ C
- Lưu lượng bơm: 1-2L/Min
- Kích thước: 90x40x35MM
- Đầu hút cách nước: <= 2 Mét
- Đẩy nước cao: <= 3 Mét (có ống Tio)
5. . Module Relay Mini 1 Kênh 12V-10A
Module Relay 4 kênh 12V Âm Kích được sử dụng rộng rãi và phổ biến trong
các hệ thống IoT, nhà thông minh, vườn thông minh,... để điều khiển thiết bị tắt mở
một cách dễ dàng và nhanh chóng.

- Rơle chất lượng cao, tải tối đa: AC 250V / 10A, DC 30V / 10A.
- Sử dụng bộ ghép nối cách ly, khả năng điều khiển rất mạnh, hiệu suất ổn
định, kích hoạt chỉ 5mA.
- Số lượng Rơle: 4 Rơle
- Điện áp hoạt động: 12V DC.


- Có thể thay đổi chân kích: âm kích.
- Thiết kế fault-tolerant, khi dòng điều khiển bị hỏng, relay sẽ không hoạt
động, tránh hỏng thiết bị sau.
- Thiết kế giao diện thân thiện với người dùng . Tất cả các kết nối có thể được

kết nối trực tiếp qua khối đầu cuối. Rất thuận tiện.
- Kích thước: 71,5 * 50 * 18,5 mm




- Các chân của Module Relay 8 Kênh:
DC +: Kết nối cực dương của nguồn điện.
DC-: Kết nối cực âm của nguồn điện.



IN1-IN4: Theo cài đặt của người dùng, nó có thể ở mức cao hoặc thấp.



NO1 - NO4: Cổng Thường Mở



COM1 - COM4: Cổng chung rơle



NC1 - NC4: Cổng Thường Đóng
6. Tụ Gốm 104 100nF 50V

Tụ điện là một loại linh kiện điện tử thụ động tạo bởi hai bề mặt dẫn
điện được ngăn cách bởi điện mơi. Khi có chênh lệch điện thế tại hai bề mặt, tại
các bề mặt sẽ xuất hiện điện tích cùng điện lượng nhưng trái dấu.

Tụ gốm 104 là tụ điện có điện mơi được chế tạo theo cơng nghệ gốm, 2 chân
cắm của linh kiện được mạ thiếc. Tụ gốm 104 là tụ khơng phân cực có giá trị nhỏ
thường được dùng trong các mạch cao tần hoặc mạch lọc nhiễu.
Thông số kĩ thuật:
- Điện áp: 50V
- Nhiệt độ làm việc: -25oC - 85oC
- Điện dung: 100nF

Tụ điện có các tác dụng:
+ Cho điện áp AC đi qua và chặn
điện áp DC
+ Lọc nguồn, lọc nhiễu


7. Cuộn Cảm 10uH 1.5A 6x8MM
- Trong kỹ thuật điện tử, cuộn cảm thường dùng để dẫn dòng điện một chiều,
chặn dòng điện cao tần và khi mắc phối hợp với tụ điện sẽ hình thành mạch cộng
hưởng. Người ta thường sử dụng dây dẫn để quấn thành cuộn cảm.
- Ứng dụng: Dùng để chế tạo ra các thiết bị như biến áp, relay, loa, micro,
bên cạnh đó chúng cịn được sử dụng trong các mạch lọc, mạch tạo dao động, ...

Thơng số kĩ thuật


Giá trị điện cảm: 10uH



Kích thước: 6x8MM




Dịng điện DC tối đa: 1.5A

8. Trở vạch 1/4W 1% 1K
- Điện trở là linh kiện được dùng nhiều nhất trong các mạch điện tử. Cơng
dụng chính của nó là hạn chế hoặc điều chỉnh dòng điện và phân chia điện áp
trong mạch điện.
- Ứng dụng: Hạn chế dòng điện, phân áp, phân cực transistor, tham gia vào
các mạch lọc, mạch tạo dao động, mạch khuếch đại, ...

Thông số kỹ thuật
- Giá trị: 1K Ohm
- Công suất hoạt động: 1/4W
- Sai số: 1%

Cách đọc giá trị điện trở vạch 1/4W 1%
- Điện trở 1/4W 1% là điện trở có độ chính xác cao và là loại điện trở
có 5 vạch màu
- Bảng vạch màu quy ước:


- Cách đọc
+ Vòng số 5 là vòng cuối cùng , là vòng ghi sai số, trở 5 vòng mầu thì
mầu sai số có nhiều mầu, do đó gây khó khăn cho ta khi xác định đâu là vòng
cuối cùng, tuy nhiên vịng cuối ln có khoảng cách xa hơn một chút.
+ Đối diện vòng cuối là vòng số 1, tiếp theo đến vòng số 2, số 3 và số 4
- Vòng số 1, số 2, số 3 lần lượt là giá trị hàng trăm, hàng chục và hàng
đơn vị, vòng số 4 là bội số của cơ số 10.
- Trị số = (vòng 1)(vòng 2)(vòng 3) x 10(mũ vòng 4).

9.
Diode 1N4001 DO41 1A 50V (DIP)
Diode bán dẫn (gọi tắt là diode) là một loại linh kiện bán dẫn chỉ cho phép
dịng điện đi qua nó theo một chiều mà khơng theo chiều ngược lại..
Có nhiều loại diode bán dẫn, như diode chỉnh lưu thông thường, diode Zener, LED.
Chúng đều có nguyên lý cấu tạo chung là một khối bán dẫn loại P ghép với một
khối bán dẫn loại N và được nối với 2 chân ra là anode và cathode.
- Diode 1N4001 là một diode silic chỉnh lưu phổ biến 1A thường được sử
dụng trong các adapter AC cho các thiết bị gia dụng thông thường.
Thông số kĩ thuật
- Điện áp cực đại: 50V
- Cường độ dòng điện: 1A
- Nhiệt độ hoạt động: -50 đến
+150 độ C

Ứng dụng
Vì diode có đặc tính chỉ dẫn điện theo một chiều từ anode đến cathode khi
phân cực thuận nên diode được dùng để chỉnh lưu dòng điện xoay chiều thành
dòng điện một chiều.


Ngồi ra diode có nội trở thay đổi rất lớn, nếu phân cực thuận RD 0 (nối tắt),
phân cực nghịch RD (hở mạch), nên diode được dùng làm các công tắc điện tử,
đóng ngắt bằng điều khiển mức điện áp. diode chỉnh lưu dòng điện, giúp chuyển
dòng điện xoay chiều thành dịng điện một chiều, điều đó có ý nghĩa rất lớn trong
kĩ thuật điện tử. Vì vậy diode được ứng dụng rộng rãi trong kỹ thuật điện và điện
tử.
10. TIP122 TO220 TRANS DarLingTon NPN 5A 100V
Transistor hay tranzito là một loại linh kiện bán dẫn chủ động, thường
được sử dụng như một phần tử khuếch đại hoặc một khóa điện tử.

Transistor nằm trong khối đơn vị cơ bản tạo thành một cấu trúc mạch ở máy
tính điện tử và tất cả các thiết bị điện tử hiện đại khác. Vì đáp ứng nhanh và chính
xác nên các transistor được sử dụng trong nhiều ứng dụng tương tự và số, như
khuếch đại, đóng cắt, điều chỉnh điện áp, điều khiển tín hiệu, và tạo dao động.
Transistor cũng được kết hợp thành mạch tích hợp (IC), có thể tích hợp tới một tỷ
transistor trên một diện tích nhỏ.
Cũng giống như điốt, transistor được tạo thành từ hai chất bán dẫn điện. Khi
ghép một bán dẫn điện âm nằm giữa hai bán dẫn điện dương ta được một PNP
Transistor. Khi ghép một bán dẫn điện dương nằm giữa hai bán dẫn điện âm ta
được một NPN Transistor.
Chức năng:
Sự hữu ích thiết yếu của Transistor xuất phát từ khả năng sử dụng một tín
hiệu nhỏ được đặt một cực của nó để điều khiển một tín hiệu lớn hơn ở các cực cịn
lại. Tính chất này được gọi là Gain. Nó có thể tạo ra tín hiệu đầu ra mạnh hơn, điện
áp hoặc dịng điện, tỷ lệ với tín hiệu đầu vào; Có nghĩa là, nó có thể hoạt động như
bộ khuếch đại. Ngồi ra, transistor có thể được sử dụng để bật hoặc tắt dịng điện
trong một mạch như là một khóa điện tử.
THƠNG SỐ KỸ THUẬT
- Dịng điện cực đại: Ic= 100mA
- Công suất cực đại: Pc= 65W
- Điện áp cực đại:
- Uceo= 100V
- Ucbo= 100V
- Uebo= 5V
- Hệ số khuếch đại( hfe): 1000

IV.

Thiết kế mạch



1. Module relay 12V-10A
Là công tắc điện tử sử dụng để đóng mở thiết bị điện
Sử dụng phần mềm Altium Designer để thiết kế mạch
Mạch nguyên lý

Thiết kế mạch in PCB sử dụng phần mềm Altium


2. Module chuyển đổi của cảm biến độ ẩm đất
Mạch nguyên lý

Thiết kế mạch in PCB sử dụng phần mềm Altium

3. Mạch chính


Mạch chính gồm 1 chip Atmega16, 1 cảm biến LM35, 1 tụ điện, 1 cuộn dây
và 1 jack DC cấp nguồn 5V cho mạch.
Sơ đồ nguyên lý

Mô phỏng 3D

V.

Phần mềm

Thiết kế mạch in



1. Nạp chương trình cho chip Atmega16
#define F_CPU 8000000UL
#include <avr/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <util/delay.h>
#define BAUDRATE_PRESCALER ((F_CPU/(USART_BAUDRATE*16UL))-1)
char buffer[100];
void ADC_init()
{
ADCSRA|=(1<//enable interrupts , pres
}
int ADC_read(unsigned char chnl){
ADMUX = 0;
ADMUX|=(1<_delay_ms(10);
ADCSRA|= (1<// Initialize ADC
while((ADCSRA & (1<ADCSRA|=(1<_delay_ms(10);
return ADCW;
}
void UART_init(long USART_BAUDRATE)
{
UCSRA=0x00;
// Enable receiver and transmitter
UCSRB |=(1<//set frame format: 8bit data, 1 sop bit , NO parity

UCSRC |=(1<// Set Baudrate
UBRRL = BAUDRATE_PRESCALER;
UBRRH= (BAUDRATE_PRESCALER>>8);
}
void UART_Transmit(unsigned char data)
{
while(!(UCSRA & (1<// put data into buffer, sends the data
UDR=data;

// Wait for empty transmit buffer

}
void UART_sendstring(char *str){
unsigned char j=0;
while (str[j]!=0)
//g?i chu?i ký t? cho ??n khi k?t thúc
{
UART_Transmit(str[j]);
j++;
}
}
int main(void)
{
DDRA = 0x00;
DDRB = 0xff;
ADC_init();
UART_init(9600);
int count=1;

float adc_0,adc_1;
while (1)


{
adc_0=ADC_read(0);
adc_0=adc_0*5.0/1024.0;
adc_0=adc_0*100.0;
sprintf(buffer,"%d",(int)adc_0);

//ép kiểu int sang string

count++;
if (count==100)
{
UART_sendstring(buffer);
count=1;
}
ADCH = 0;
ADCL = 0;
adc_1=ADC_read(1);
_delay_ms(10);
adc_1=100-(adc_1*100.00)/1023.00;
if (adc_1<60)
{
PORTB=(1<}
else
{
PORTB &=~(1<

}
ADCH = 0;
ADCL = 0;
}
}

2. Viết chương trình cho giao diện gửi dữ liệu lên máy tính


using
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;

System.Windows.Forms;
System.IO.Ports;
System.IO;
System.Xml;

namespace Project_VDK
{
public partial class Form1 : Form
{
string InputData = String.Empty; // Khai báo string buff dùng cho hiển thị dữ liệu sau này.
string newstring = String.Empty;
delegate void SetTextCallback(string text); // Khai bao delegate SetTextCallBack voi tham so
string
public Form1()
{
InitializeComponent();
// Khai báo hàm delegate bằng phương thức DataReceived của Object SerialPort;
// Cái này khi có sự kiện nhận dữ liệu sẽ nhảy đến phương thức DataReceive
// Nếu ko hiểu đoạn này bạn có thể tìm hiểu về Delegate, cịn ko cứ COPY . Ko cần quan
tâm
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceive);
}
private void DataReceive(object obj, SerialDataReceivedEventArgs e)
{
InputData = serialPort1.ReadExisting();
if (InputData != String.Empty)
{
// txtIn.Text = InputData; // Ko dùng đc như thế này vì khác threads .
SetText(InputData); // Chính vì vậy phải sử dụng ủy quyền tại đây. Gọi delegate đã khai
báo trước đó.

if (txtReceive.Text.Length > 2)
newstring = txtReceive.Text.Substring(txtReceive.Text.Length - 2, 2);
else
newstring = txtReceive.Text;
}
}
private void SetText(string text)
{
if (this.txtReceive.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText); // khởi tạo 1 delegate mới gọi đến
SetText
this.Invoke(d, new object[] { text });
}
else this.txtReceive.Text += text;
}
//Hàm hiển thị ảnh
private void button1_Click(object sender, EventArgs e)
{
int nhiet_do = 0;
int.TryParse(newstring, out nhiet_do); //ép kiểu chuyển từ string sang số


}

if (nhiet_do > 30)
{
picMuaHe.Visible = true;
}
else if (nhiet_do <= 30 && nhiet_do > 22)

{
picMuaThu.Visible = true;
picMuaHe.Visible = false;
picMuaDong.Visible = false;
}
else if (nhiet_do <= 22)
{
picMuaDong.Visible = true;
picMuaHe.Visible = false;
picMuaThu.Visible = false;
}

private void label4_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
//thiết lập cấu hình
btnKetNoi.Enabled = true;
btnNgatKetNoi.Enabled = false;
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Start();
lblWatch.Text = DateTime.Now.ToString("HH : mm : ss");
//set up thời gian
lblNhietDo.Text = newstring+ " °C";
// thiet lập độ ẩm
int nhiet_do = 0;
int.TryParse(newstring, out nhiet_do);

//ép string sang số
//đưa ra lời khuyên
if (nhiet_do >= 30)
{
txtNhietdo.Text = "Thời tiết khá nóng bức !";
}
if (nhiet_do < 22)
{
txtNhietdo.Text = "Thời tiết rất lạnh. Bạn Chú ý!";
}
if (nhiet_do >= 22 && nhiet_do < 30)
{
txtNhietdo.Text = "Nhiệt độ mát mẻ";
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
//hàm thiết lập ảnh từ dữ liệu nhiệt độ
private void button2_Click(object sender, EventArgs e)
{


int nhiet_do = 0;
int.TryParse(newstring, out nhiet_do);
if (nhiet_do > 30)
{

picHaLong.Visible = true;
picNguONha.Visible = false;
picTamDao.Visible = false;
}else if (nhiet_do < 22)
{
picNguONha.Visible = true;
picHaLong.Visible = false;
picTamDao.Visible = false;
}
else if(nhiet_do<=30&& nhiet_do >= 22)
{
picTamDao.Visible = true;
picHaLong.Visible = false;
picNguONha.Visible = false;
}

}
private void button3_Click(object sender, EventArgs e)
{
int nhiet_do = 0;
int.TryParse(newstring, out nhiet_do);
if (nhiet_do > 30)
{
picBun.Visible = true;
picCom.Visible = false;
picLauThai.Visible = false;
}
else if (nhiet_do < 22)
{
picLauThai.Visible = true;

picBun.Visible = false;
picCom.Visible = false;
}
else if(nhiet_do>=22 && nhiet_do<=30)
{
picCom.Visible = true;
picBun.Visible = false;
picLauThai.Visible = false;
}

}

private void lblNhietDo_Click(object sender, EventArgs e)
{
}
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void btnKetNoi_Click(object sender, EventArgs e)
{
//báo lỗi khi không chọn cổng COM
errorProvider1.SetError(cbCongCOM, "");
errorProvider1.SetError(cbBaudRate, "");
if (cbCongCOM.Text == "")
{


errorProvider1.SetError(cbCongCOM, "Hãy chọn cổng COM!");
return;


}
if (cbBaudRate.Text == "")
{
errorProvider1.SetError(cbBaudRate, "Hãy chọn BaudRate!");
return;
}

}

//set cấu hình serial Port để connect
serialPort1.PortName = cbCongCOM.Text;
serialPort1.BaudRate = Convert.ToInt32(cbBaudRate.Text);
serialPort1.Open();
thongbao.Text = "Kết nối thành công!";
btnKetNoi.Enabled = false;
btnNgatKetNoi.Enabled = true;

private void btnNgatKetNoi_Click(object sender, EventArgs e)
{
serialPort1.Close();
thongbao.Text = "Ngắt kết nối thành công!";
btnNgatKetNoi.Enabled = false;
btnKetNoi.Enabled = true;
}
int intlen = 0; //lưu giá trị số COM kết nối vào máy tính
private void timer2_Tick(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames(); //lấy tất cả COM nối với PC
if(intlen != ports.Length)
//so sánh chiều , cổng COM nhận tự trả về

{
intlen = ports.Length;
cbCongCOM.Items.Clear();
//Xóa items đang có
for(int j = 0; j < intlen; j++)
{
cbCongCOM.Items.Add(ports[j]);
}
}
}
private void cbCongCOM_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void txtReceive_TextChanged(object sender, EventArgs e)
{
}
}

}


VI.

Ý nghĩa

Hệ thống tưới nước tự động là hình thức tưới cung cấp nước một cách tự
động hóa cho cây trồng. Một số hình thức của nó như tưới nhỏ giọt, tưới phun
sương, tưới phun mưa,... Đây có thể nói là một giải pháp mang tính đột phá cho
một nền nông nghiệp hiện đại, đáp ứng nhu cầu của người nơng dân và khắc
phục được tình trạng thiếu nước đang diễn ra ở nhiều nơi như hiện nay. Hình

thức tưới này cũng được ứng dụng trong các cơng trình xây dựng cảnh quan hiện
đại như các cơng trình cơng cộng, tưới cây đô thị, sân vườn biệt thự và khu dân
cư cao cấp.
1.

Ứng dụng

- Ứng dụng tưới cây cảnh trong
góc học tập nhỏ và biết được nhiệt
độ môi trường hiện tại.
- Ứng dụng trong nông nghiệp
tưới nước cấp ẩm tự động cho cây
trồng, hệ thống tưới giúp giảm
thiểu tối đa lượng nhân công
- Mở rộng:
Hệ thống tưới tự động trên các
thảm cỏ trong các công viên, sân
vườn.
Ứng dụng trong xây dựng cảnh quan
Khơng khó để chúng ta có thể bắt gặp các hệ thống tưới tự động trên các
thảm cỏ trong các cơng viên, sân vườn biệt thực, thâm chí là cây trên các tuyến
đường lớn ở các thành phố lớn. Hệ thống tưới giúp giảm thiểu tối đa lượng nhân
cơng sử dụng cho việc tưới nước định kì, đồng thời cũng góp phần tạo nên vẻ
văn minh hiện đại cho đô thị.


Ứng dụng trong nơng nghiệp
Hình thức tưới mới này cũng đã dần được nhiều người dân ứng dụng vào
hoạt động nơng nghiệp của mình. Ở nhiều nơi đã ứng dụng thành công công
nghệ này vào trong trồng trọt như tưới vườn hoa, vườn trái cây, vườn hoa, đặc

biệt nổi bật là ứng dụng công nghệ này của tập đoạn VinGroup trong dự án
VinEco với mục tiêu sản giải quyết nhu cầu rau sạch hiện nay thông qua hệ
thống chuỗi cửa hàng phân phối VinMart.
2. Những lợi ích của việc ứng dụng hệ thống tưới tự động
Lợi ích đầu tiên dễ dàng nhận ra là tiết kiệm nước. Trong tình trạng nhiều nơi
thiếu nước như hiện nay thì đây có thể nói là một giải pháp mang tính đột phá cho
hoạt động tưới tiêu. Trước sự thay đổi mạnh mẽ của biến đổi khí hậu thì nước ta
nằm trong những nước chịu ảnh hưởng lớn dẫn đến tình trạng khơ hạn sẽ diễn ra ở
nhiều nơi. Điều này sẽ tác động xấu đến hoạt động của nông nghiệp. Công nghệ
này giảm thiểu tối đa sự thất thốt nước thơng qua bay hơi hay rị rỉ, vì thế mà khai
thác tối đa hiệu quả của việc tưới tiêu.
Lợi ích tiếp theo đó là tiết kiệm thời gian. Với khả năng hoạt động độc lập và
không cần nhiều sự tác động của con người. Hệ thống tưới nước tự động hồn tồn
có thể tự vận hành. Với các hệ thống hiện đại có khả năng “cảm nhận” mưa hoặc
độ ẩm thì nó hồn tồn có khả năng đáp ứng đúng lúc và kịp thời nhu cầu của cây
trồng dù trời mưa hay nắng.
Thêm nữa, hệ thống này giúp giảm thiểu tối đa nhân công và số lượng người
lao động nếu ứng dụng trên một diện tích tưới lớn. Thử tưởng tượng với một vườn
hoa nhỏ trong nhà thì bạn cần bao nhiêu lần tưới trong khoảng một tuần và thay
vào đó là một hệ thống tưới tự động mà bạn chỉ cần lên lịch và mọi thứ tự hoạt
động theo lịch trình sẵn có. Bạn có thể dễ dàng tưởng tượng ra tính hiệu quả của nó
đúng khơng.
Với khả năng hoạt động khá ổn định và khơng di chuyển nhiều trong q
trình hoạt động thì hệ thống tưới tự động thơng thường có tuổi thọ cao hơn các
cách tưới thơng thường khác vì thế mà tính về lâu dài việc ứng dụng nó giúp tiết
kiệm khá nhiều chi phí phát sinh. Đồng thời hệ thống tưới này cũng góp phần tạo
nên diện mạo văn minh cho cảnh quan, đặc biệt là các đô thị lớn.



×