Hệ Thống Tưới Cây Tự Động
Mở đầu
Lý do chọn đề tài
Trong một xã hội hiện đại, sự phát triển của ngành của ngành điện tử viễn thông là một yêu cầu không thể thiếu để thúc đẩy nền kinh tế phát triển và góp phần nâng cao đời sống xã hội.
Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội. Cùng với sự phát triển như vũ bão đó, ngành điện tử viễn thông Việt Nam cũng đang nỗ lực hết sức trên con đường tìm chỗ đứng cho mình. Từ khi công nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kĩ thuật điều khiển hiện đại có nhiều ưu điểm hơn so với việc lắp ráp bằng các linh kiện rời như: kích thước nhỏ, giá thành hạ, làm việc tin cậy, công suất tiêu thụ nhỏ. Ngày nay, lĩnh vực điều khiển đã được ứng dụng nhiều trong các thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày làm cho đời sống của chúng ta ngày càng hiện đại và tiện nghi hơn.…
Với mục tiêu nêu trên và xuất phát từ những yêu cầu thực tế, trọng tâm của đề tài này sẽ đi sâu nghiên cứu “Thiết kế hệ thống tưới cây tự động”. Với mong muốn đưa hệ thống của mình vào úng dụng trong cuộc sống hàng ngày.
Mục tiêu của đề tài
Mục tiêu tổng quát
Bên cạnh sự phát triển của khoa học kỹ thuật đã góp phần nâng cao đời sống con người, máy móc có thể hoạt động làm giảm đi sức người, sức của. Cũng chính vì thế mà con người muốn tìm kiếm những điều mới mẻ, tiện lợi, dễ dàng giám sát và kiểm tra. Sự lựa chọn cấp thiết hiện giờ chính là một hệ thống tưới cây tự động.
Mục tiêu cụ thể
• Cài đặt mức nhiệt độ, độ ẩm để tưới cây.
• Điều khiển hoạt động tưới thủ công.
• Hiển thị thông số, trạng thái lên màn hình LCD.
• Hệ thống làm việc ổn định.
• Có khả năng đưa vào ứng dụng trong thực tế.
Giới hạn và phạm vi của đề tài
Đối tượng nghiên cứu
• Khách thể nghiên cứu: Các gia đình muốn sử dụng hệ thống tưới tiêu thông minh một cách dễ dàng và tiện lợi.
Phạm vi nghiên cứu
• Ý nghĩa khoa học: ứng dụng khoa học kỹ thuật vào thực tiễn.
Nội dung thực hiện
• Thiết kế sơ đồ nguyên lý.
• Lập trình, cài đặt các chức năng.
Phương pháp tiếp cận
• Phương pháp đọc tài liệu.
• Phương pháp thực nghiệm.
• Tiếp thu các đóng góp, góp ý từ giáo viên hướng dẫn để hoàn thiện hơn hệ thống.
Cơ sở lý thuyết về hệ thống nhúng
Ngoại vi và giao diện
Vi điều khiển PIC 16F877A
Tổng quan về PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368-byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 byte. Số PORT I/O là 5 với 33 pin I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8-bit với bộ chia tần số 8 bit.
- Timer1: bộ đếm 16-bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
Các đặc tính Analog
- Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân.
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ Sleep.
- Có thể hoạt động với nhiều dạng Oscillator khác nhau.
Tổ chức bộ nhớ
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3). Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit). Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình.
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cà các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình.
Sơ đồ chân/Sơ đồ khối
• Có thanh ghi trạng thái (status register) cho biết trạng thái sau khi tính toán của khối ALU.
• Có thanh ghi FSR.
• Có khối ALU cùng với thanh ghi working hay thanh ghi A để xử lý dữ liệu.
• Có khối giải mã lệnh và điều khiển (Instruction Decode and Control).
• Có khối dao động nội (Internal Oscillator Block).
• Có khối dao động kết nối với 2 ngõ vào OSC1 và OSC2 để tạo dao động.
• Có khối các bộ định thời khi cấp điện PUT, có bộ định thời chờ dao động ổn định, có mạch reset khi có điện, có bộ định thời giám sát watchdog, có mạch reset khi phát hiện sụt giảm nguồn.
• Có khối bộ dao động cho timer1 có tần số 32kHz kết nối với 2 ngõ vào T1OSI và T1OSO.
• Có khối CCP2 và ECCP.
• Có khối mạch gỡ rối (In-Circuit Debugger IDC).
• Có khối timer0 với ngõ vào xung đếm từ bên ngoài là T0CKI.
• Có khối truyền dữ liệu đồng bộ/bất đồng bộ nâng cao.
• Có khối truyền dữ liệu đồng bộ MSSP cho SPI và I2C.
• Có khối bộ nhớ Eeprom 256-bytes và thanh ghi quản lý địa chỉ EEADDR và thanh ghi dữ liệu EEDATA.
• Có khối chuyển đổi tín hiệu tương tự sang số ADC.
• Có khối 2 bộ so sánh với nhiều ngõ vào ra và điện áp tham chiếu.
• Có khối các port A, B, C, E và D
❖ Chức năng các chân của portA
• Chân RA0/AN0/ULPWU/C12IN0- (2): có 4 chức năng:
+ RA0: xuất/ nhập số – bit thứ 0 của port A.
+ AN0: ngõ vào tương tự của kênh thứ 0.
• Chân RA1/AN1/C12IN1- (3): có 3 chức năng:
+ RA1: xuất/nhập số – bit thứ 1 của port A.
+ AN1: ngõ vào tương tự của kênh thứ 1
• Chân RA2/AN2/VREF-/CVREF/C2IN+ (4): có 5 chức năng:
+ RA2: xuất/nhập số – bit thứ 2 của port A.
+ AN2: ngõ vào tương tự của kênh thứ 2.
+ VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.
+ CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh.
+ RA3: xuất/nhập số – bit thứ 3 của port A.
+ AN3: ngõ vào tương tự kênh thứ 3.
+ VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.
+ C1IN+: ngõ vào dương của bộ so sánh C1.
• Chân RA4/TOCKI/C1OUT (6): có 3 chức năng:
+ RA4: xuất/nhập số – bit thứ 4 của port A.
+ TOCKI: ngõ vào xung clock từ bên ngoài cho Timer0.
+ C1OUT: ngõ ra bộ so sánh 1.
• Chân RA5/AN4/ SS / C2OUT (7): có 4 chức năng:
+ RA5: xuất/nhập số – bit thứ 5 của port A.
+ AN4: ngõ vào tương tự kênh thứ 4.
+ SS: ngõ vào chọn lựa SPI tớ (Slave SPI device).
+ C2OUT: ngõ ra bộ so sánh 2.
• Chân RA6/OSC2/CLKOUT (14): có 3 chức năng:
+ RA6: xuất/nhập số – bit thứ 6 của port A.
+ OSC2: ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ cộng hưởng.
• Chân RA7/OSC1/CLKIN (13): có 3 chức năng.
+ RA7: xuất/nhập số – bit thứ 7 của port A.
+ OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài.
• Chân RB0/AN12/INT (33): có 3 chức năng:
+ RB0: xuất/nhập số – bit thứ 0 của port B.
+ AN12: ngõ vào tương tự kênh thứ 12.
+ INT: ngõ vào nhận tín hiệu ngắt ngoài.
• Chân RB1/AN10/C12IN3- (34): có 3 chức năng:
+ AN10: ngõ vào tương tự kênh thứ 10.
+ C12IN3-: ngõ vào âm thứ 3 của bộ so sánh C1 hoặc C2.
• Chân RB2/AN8 (35): có 2 chức năng:
+ RB2: xuất/nhập số – bit thứ 2 của port B.
+ AN8: ngõ vào tương tự kênh thứ 8.
• Chân RB3/AN9/PGM/C12IN2 (36): có 4 chức năng:
+ RB3: xuất/nhập số – bit thứ 3 của port B.
+ AN9: ngõ vào tương tự kênh thứ 9.
+ PGM: Chân cho phép lập trình điện áp thấp ICSP.
+ C12IN1-: ngõ vào âm thứ 2 của bộ so sánh C1 hoặc C2
• Chân RB4/AN11 (37): có 2 chức năng:
+ RB4: xuất/nhập số – bit thứ 4 của port B.
+ AN11: ngõ vào tương tự kênh thứ 11.
• Chân RB5/ AN13/T1G (38): có 3 chức năng:
+ RB5: xuất/nhập số – bit thứ 5 của port B.
+ AN13: ngõ vào tương tự kênh thứ 13.
+ T1G (Timer1 gate input): ngõ vào Gate cho phép time1 đếm dùng để đếm độ rộng xung.
• Chân RB6/ICSPCLK (39): có 2 chức năng:
+ RB6: xuất/nhập số.
+ ICSPCLK: xung clock lập trình nối tiếp.
• Chân RB7/ICSPDAT (40): có 2 chức năng:
+ RB7: xuất/nhập số.
+ ICSPDAT: ngõ xuất nhập dữ liệu lập trình nối tiếp.
❖ Chức năng các chân của portC
• Chân RC0/T1OSO/T1CKI (15): có 3 chức năng:
+ RC0: xuất/nhập số – bit thứ 0 của port C.
+ T1CKI: ngõ vào xung clock từ bên ngoài Timer1.
• Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:
+ RC1: xuất/nhập số – bit thứ 1 của port C.
+ T1OSI: ngõ vào của bộ dao động Timer1.
+ CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.
• Chân RC2 /P1A/CCP1 (17): có 3 chức năng:
+ RC2: xuất/nhập số – bit thứ 2 của port C.
+ P1A: ngõ ra PWM.
+ CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1.
• Chân RC3/SCK/SCL (18): có 3 chức năng:
+ RC3: xuất/nhập số – bit thứ 3 của port C.
+ SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.
+ SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C.
• Chân RC4/SDI/SDA (23): có 3 chức năng:
+ RC4: xuất/nhập số – bit thứ 4 của port C.
+ SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI.
+ SDA: xuất/nhập dữ liệu I2C.
• Chân RC5/SDO (24): có 2 chức năng:
+ RC5: xuất/nhập số – bit thứ 5 của port C.
+ SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI.
• Chân RC6/TX/CK (25): có 3 chức năng:
+ RC6: xuất/nhập số – bit thứ 6 của port C.
+ TX: ngõ ra phát dữ liệu trong chế độ truyền bất đồng bộ USART.
+ CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ USART.
• Chân RC7/RX/DT (26): có 3 chức năng:
+ RC7: xuất/nhập số – bit thứ 7 của port C.
+ RX: ngõ vào nhận dữ liệu trong chế độ truyền bất đồng bộ EUSART.
+ DT: ngõ phát và nhận dữ liệu ở chế độ truyền đồng bộ EUSART.
• Chân RD0 (19): có 1 chức năng:
+ RD0: xuất/nhập số – bit thứ 0 của port D.
• Chân RD1 (20): có 1 chức năng:
+ RD1: xuất/nhập số – bit thứ 1 của port D.
• Chân RD2 (21): có 1 chức năng:
+ RD2: xuất/nhập số – bit thứ 2 của port D.
• Chân RD3 (22): có 1 chức năng:
+ RD3: xuất/nhập số – bit thứ 3 của port D.
• Chân RD4 (27): có 1 chức năng:
+ RD4: xuất/nhập số – bit thứ 4 của port D.
• Chân RD5/ P1B (28): có 2 chức năng:
+ RD5: xuất/nhập số – bit thứ 5 của port D.
+ P1B: ngõ ra PWM.
• Chân RD6/ P1C (29): có 2 chức năng:
+ RD6: xuất/nhập số – bit thứ 6 của port D.
+ P1C: ngõ ra PWM.
• Chân RD7/P1D (30): có 2 chức năng:
+ RD7: xuất/nhập số – bit thứ 7 của port D.
+ P1D: ngõ ra tăng cường CPP1
❖ Chức năng các chân của portE
• Chân RE0/AN5 (8): có 2 chức năng:
+ RE0: xuất/nhập số.
+ AN5: ngõ vào tương tự 5.
• Chân RE1/AN6 (9): có 2 chức năng:
+ RE1: xuất/nhập số.
+ AN6: ngõ vào tương tự kênh thứ 6.
+ RE2: xuất/nhập số.
+ AN7: ngõ vào tương tự kênh thứ 7.
• Chân RE3/ MCLR /VPP (1): có 3 chức năng:
+ RE3: xuất/nhập số – bit thứ 3 của port E.
+ MCLR: là ngõ vào reset tích cực mức thấp.
+ VPP: ngõ vào nhận điện áp khi ghi dữ liệu vào bộ nhớ nội flash.
+ Chân VDD (11), (32):
+ Nguồn cung cấp dương từ 2V đến 5V.
+ Chân VSS (12), (31):
+ Nguồn cung cấp 0V.
Màn hình LCD 2004
Màn hình LCD16x2 xanh lá sử dụng driver HD44780, có khả năng hiển thị 4
dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến và dễ sử dụng
thích.
b. Thông số kỹ thuật
• Điện áp hoạt động là 5 V.
• Kích thước: 98 x 60 x 13.5 mm
• Chữ đen, nền xanh lá
• Khoảng cách giữa hai chân kết nối là 0.1-inch tiện dụng khi kết nối với Breadboard.
• Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
• Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
• Có thể được điều khiển với 6 dây tín hiệu.
• Giao tiếp với Pic qua chuẩn I2C
Các chân cấp nguồn: Chân số 1 là chân Vss nối mass (0V), chân thứ 2 là Vdd nối với nguồn +5V. Chân thứ 3 dùng để chỉnh tương phản thường nối với biến trở.
Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển lựa chọn thanh ghi. Chân R/W dùng để điều khiển quá trình đọc và ghi. Chân E là chân cho phép dạng xung chốt.
Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD.
Relay 5 VDC
• Điện áp kích hoạt (điện áp trên cuộn dây): 5 VDC
• Dòng kích hoạt (dòng điện danh định): 70mA
• Dòng tải AC tối đa: 10A – 250/125 VAC
• Dòng tải DC tối đa: 10A – 30/28 VDC
• Thời gian hoạt động: 10ms
• Chuyển mạch tối đa: 300 lần/phút
Cảm biến nhiệt độ LM35
LM35 hiển thị giá trị điện áp cao hơn cặp nhiệt điện và có thể không cần khuếch đại điện áp đầu ra.
Điện áp đầu ra của LM35 tỷ lệ với nhiệt độ C. Hệ số thang đo là 0,01 V / ° C.
Cảm biến nhiệt độ LM35 có nhiều gói khác nhau như gói giống transistor kim loại T0-46, gói giống transistor nhựa TO-92, gói dán 8 chân SO-8.
• Điện áp đầu vào tối thiểu và tối đa lần lượt là 35V và -2V.
• Có thể đo nhiệt độ từ -55 ° C đến 150 ° C
• Điện áp đầu ra tỷ lệ thuận (tuyến tính) với nhiệt độ tức là sẽ có mức tăng 10mV (0,01V) cho mỗi lần tăng nhiệt độ 1 ° C.
• Độ chính xác ± 0,5 ° C
• Dòng cực máng nhỏ hơn 60uA
Cảm biến độ ẩm đất
• Điện áp hoạt động: 3.3 – 5V.
• Độ chính xác ± 1%
Phần mềm cho hệ thống nhúng
CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của hãng Microchip. Chương trình là sự tích hợp của 3 trình biên dich riêng viết cho 3 dòng PIC khác nhau đó là:
‐ PCB cho dòng PIC 12‐bit opcodes
‐ PCM cho dòng PIC 14‐bit opcodes.
‐ PCH cho dòng PIC 16 và 18‐bit
Tất cả 3 trình biên dich này đuợc tích hợp lại vào trong một chương trình bao gồm cả trình soạn thảo và biên dịch là CCS. Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp cho người sử dụng nắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình diều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sử dụng ngôn ngữ lập trình cấp cao – ngôn ngữ C.
b. Phầm mềm mô phỏng Proteus
Phần mềm Proteus cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola.
Phần mềm bao gồm 2 chương trình: ISIS (Intelligent Schematic Input System) cho phép mô phỏng mạch và ARES (Advanced Routing and Editing Software) dùng để vẽ mạch in.
Dễ dạng tạo ra một sơ đồ nguyên lý từ đơn giản đến phức tạp.
Hỗ trợ kiểm tra lỗi thiết kế trên sơ đồ nguyên lý. Có thể xem và lưu lại phần báo lỗi
Phần mềm chạy mô phỏng và phân tích các tính chất của một mạch điện một cách chính xác.
Proteus cung cấp cho người sử dụng công cụ biên dịch cho các họ vi xử lý như MSC51, AVR, HC11, …qua đó tạo ra các tập tin .hex dùng để nạp cho vi xử lý và tạp tin .dsi dùng để xem và chạy kiểm tra từng bước trong quá trình mô phỏng.
Phần mềm cung cấp rất nhiều mô hình linh kiện có chức năng mô phỏng, từ các vi điều khiển thông dụng đến các linh kiện ngoại vi như LED, LCD, Keypad, cổng RS232… cho phép người sử dụng mô phỏng từ một hệ vi điều khiển hoàn chỉnh đến việc xây dựng phần mềm cho hệ thống đáp ứng các giao thức vật lý. Ngoài ra, Proteus còn cho phép bạn tự tạo linh kiện tương tác động do đó bạn có thể thực hiện các mô phỏng có tương tác giống như hoạt động của một mạch thật.
Phân tích và thiết kế hệ thống
Đặc tả yêu cầu hệ thống
Các yêu cầu chức năng
• Thiết lập ngưỡng nhiệt độ và độ ẩm tưới nước.
• Hiển thị thôg tin, hoạt động lên màn hình LCD.
Các yêu cầu phi chức năng
• Hệ thống hoạt động ổn định.
Thiết kế hệ thống
Thiết kế phần mô phỏng cho hệ thống
• Khối xử lý trung tâm: Pic16f877a. Làm nhiệm vụ xử lý yêu cầu từ nút nhấn, gửi thông tin nhiệt độ, độ ẩm lên màn hình LCD và điều khiển khối Relay.
• Khối nút nhấn: gửi yêu cầu điều khiển từ người dùng tới khối xử lý trung tâm.
• Khối cảm biến nhiệt độ: cảm biến nhiệt độ LM35, thu thập dữ liệu nhiệt độ hiện tại và gửi về khối xử lý trung tâm.
• Khối cảm biến độ ẩm: cảm biến độ ẩm đất, thu thập dữ liệu độ ẩm hiện tại và gửi về khối xử lý trung tâm.
• Khối Relay: Relay nhận tín hiệu điều khiển từ khối xử lý trung tâm và điều khiển bật/tắt thiết bị.
• Khối điều khiển: PIC16f877a.
• Khối Cảm biến: cảm biến nhiệt độ LM35, cảm biến độ ẩm đất.
• Relay: gồm Relay điều khiển thiết bị.
• LCD: Màn hình LCD20x4 hiển thị chế độ hoạt động.
• Nút nhấn: 4 nút nhấn điều khiển và thay đổi chế độ hoạt động của hệ thống.
Thiết kế phần mềm cho hệ thống
Sử dụng nút nhấn MODE để thay đổi giữa các chế độ (Tự động, thủ công, cài đặt nhiệt độ, cài đặt độ ẩm). Một biến đếm để nhận biết thay đổi trạng thái. Khi bắt đầu chương trình, tức Mode = 0, hệ thống sẽ hoạt động ở chế độ Auto. Nút nhấn
được sử dụng hàm ngắt, nối tới chân INT0, mỗi lần nhấn sẽ tăng lên một đơn vị.
- Khi mod = 0: chế độ: Auto.
- Khi mod = 1: chế độ: Thủ công.
- Khi mod = 2: chế độ cài đặt nhiệt độ.
- Khi mod = 3: chế độ cài đặt độ ẩm.
Ở chế độ thủ công, hệ thống được điều khiển bật/tắt qua nút nhấn MAL.
Chế độ cài đặt nhiệt độ, tăng/giảm ngưỡng nhiệt độ thông qua nút nhấn UP và DOWN.
Chế độ cài đặt độ ẩm, tăng/giảm ngưỡng độ ẩm thông qua nút nhấn UP và DOWN.
Kết luận
Kết quả đạt được của đề tài
Sau khi hoàn thành đề tài “Thiết kế hệ thống tưới cây tự đông”, em đã trở nên đam mê hơn với ngành học của mình. Qua đó, em cũng có được thêm một số kiến thức như:• Cách làm việc với vi điều khiển họ PIC.
• Cách giao tiếp giữa vi điều khiển với các module chức năng.
• Cách hoạt động của cảm biến nhiệt độ, độ ẩm.
Những hạn chế của đề tài
Chương trình chưa tối ưu hoàn toàn bài toán thực tế đề ra.Hướng phát triển của đề tài
Khắc phục những trường hợp thiếu xót trong bài toán thực tế.Download Project
Mô phỏng Proteus: Tại đây
Code CCS: Tại đây
Báo cáo PowerPoint: Tại đây