Hệ thống hiển thị thông số môi trường dùng pic (có code và layout) Hệ thống hiển thị thông số môi trường dùng pic (có code và layout) Hệ thống hiển thị thông số môi trường dùng pic (có code và layout) Hệ thống hiển thị thông số môi trường dùng pic (có code và layout) Hệ thống hiển thị thông số môi trường dùng pic (có code và layout)
Trang 1HỆ THỐNG HIỂN THỊ THÔNG SỐ
MÔI TRƯỜNG
Trang 21.3.2 Yêu cầu của đề tài 3
CHƯƠNG 2 TÌM HIỂU ĐỀ TÀI 5
2.1 TÌM HIỂU VI ĐIỀU KHIỂN PIC 16F877A 5
2.2 TÌM HIỂU CẢM BIẾN ĐỘ ẨM, NHIỆT ĐỘ DHT11 72.3 TÌM HIỂU CẢM BIẾN KHÍ GAS MQ59
2.4 TÌM HIỂU MODULE THU PHÁT RF 10
2.5 TÌM HIỂU LCD 16X2 11
CHƯƠNG 3 SƠ ĐỒ MẠCH 13
3.1 SƠ ĐỒ MẠCH PHÁT 13
3.2 SƠ ĐỒ MẠCH THU 14
3.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH 15
CHƯƠNG 4 THI CÔNG PHẦN CỨNG 16
Trang 4HÌNH 1-2: SƠ ĐỒ GIẢI THUẬT 2
HÌNH 2-1: VI ĐIỀU KHIỂN PIC 16F877A 5
HÌNH 2-2: SƠ ĐỒ CHÂN PIC 16F877A [1] 5
HÌNH 2-3: CẢM BIẾN ĐỘ ẨM, NHIỆT ĐỘ DHT11 7
HÌNH 2-4: SƠ ĐỒ KẾT NỐI CẢM BIẾN ĐỘ ẨM, NHIỆT ĐỘ DHT11 [2] 7
HÌNH 2-5: SƠ ĐỒ NGUYÊN LÝ HOẠT ĐỘNG CỦA CẢM BIẾN ĐỘ ẨM, NHIỆT ĐỘ DHT11 [3] 8
HÌNH 2-6: CẢM BIẾN KHÍ GAS MQ5 9 HÌNH 2-7: SƠ ĐỒ CHÂN CẢM BIẾN KHÍ GAS MQ5 9
HÌNH 2-8: MODULE THU PHÁT RF UART SI4463 TẦN SỐ 433 MHZ HC-12 10 HÌNH 2-9: LCD 16X2 11
HÌNH 2-10: SƠ ĐỒ CHÂN LCD 16X2 [4] 11
HÌNH 3-1: SƠ ĐỒ MẠCH PHÁT 13
HÌNH 3-2: SƠ ĐỒ MẠCH THU 14
HÌNH 4-1: MẠCH SAU KHI HOÀN THÀNH HIỂN THỊ ĐỘ ẨM, NHIỆT ĐỘ VÀ PHÁT HIỆN KHÔNG CÓ KHÍ GAS 16
HÌNH 4-2: MẠCH SAU KHI HOÀN THÀNH HIỂN THỊ ĐỘ ẨM, NHIỆT ĐỘ VÀ PHÁT HIỆN CÓ KHÍ GAS17
Trang 5VCC Voltage Common Collector
UART Universal Asynchronous Receiver – Transmitter
Trang 6CHƯƠNG 1 TỔNG QUÁT VỀ ĐỀ TÀI
Trang 71.2 Sơ đồ giải thuật
Hình 1-2: Sơ đồ giải thuật
1.3 Tóm tắt đề tài
1.3.1 Tóm tắt
– Mục đích đề tài: Nhằm giúp chúng ta có được số liệu về các thông số môi trườngnhư độ ẩm, nhiệt độ và phát hiện có khí gas trong môi trường đó hay không vớimột khoảng cách xa mà không cần phải ở trong môi trường đó Từ đó chúng tacó thể ứng dụng vào thực tiễn, phục vụ nhiều mục đích trong cuộc sống
– Đề tài Hệ thống hiển thị thông số môi trường có thể trình bày ngắn gọn như sau:
Bắt đầu
Độ ẩm = buffer[0]
Nhiệt độ = buffer[2]
Gas =1 or Gas =0
Đọc độ ẩm, nhiệt độ
Truyền dữ liệu
Bắt đầu
Hiển thị LCD
Độ ẩm = buffer[0]
Nhiệt độ = buffer[2]
Gas =1 or Gas =0
Trang 8+ Cảm biến nhiệt độ, độ ẩm DHT11 có nhiệm vụ đo nhiệt độ và độ ẩm của môitrường Sau đó nhiệt độ và độ ẩm được lấy từ cảm biến truyền về cho vi điềukhiển PIC 16F877A
+ Cảm biến khí gas MQ5 sẽ lấy thông tin từ môi trường sau đó truyền về cho
vi điều khiển PIC 16F877A để chúng ta nhận biết có khí gas trong môitrường hay không
+ Vi điều khiển PIC 16F877A sau khi thu thập dữ liệu từ các cảm biến đượckết nối với RF phát để truyền dữ liệu
Đồng thời RF thu đã được kết nối với một vi điều khiển PIC 16F877A khácsẽ nhận tín hiệu và nhận dữ liệu, truyền về vi điều khiển PIC 16F877A đó,sau đó hiển thị lên LCD
– Ứng dụng của đề tài: Hệ thống hiển thị thông số môi trường cung cấp cho chúng
ta các thông số của môi trường ở bất kì khu vực nào xung quanh chúng ta Vì thếhệ thống này có rất nhiều ứng dụng có ích trong cuộc sống như:
+ Kiểm soát được nhiệt độ và độ ẩm trong vườn, từ đó có thể có chế độ tướitiêu và chăm sóc cây mầm để chúng phát triển tốt
+ Ở bên ngoài nhưng vẫn theo dõi được nhiệt độ, độ ẩm trong phòng kín, từ đócó thể điều chỉnh hoạt động của các thiết bị trong phòng chẳng hạn
+ Ngoài ra, hệ thống còn giúp phát hiện rò rỉ gas trong khu vực mà chúng tađặt hệ thống Nhằm phát hiện và phòng tránh cháy nổ
+ Hệ thống này còn có thể có các ứng dụng đem lại nhiều lợi ích khác và còncó thể phát triển hệ thống hơn nữa
1.3.2 Yêu cầu của đề tài
– Tìm hiểu vi điều khiển PIC 16F877A
Trang 9– Tìm hiểu cảm biến nhiệt độ, độ ẩm DHT11
– Tìm hiểu module thu phát RF
– Hiển thị thông số môi trường thông qua module thu phát RF.– Hoàn thành phần cứng mạch
Trang 10CHƯƠNG 2 TÌM HIỂU ĐỀ TÀI
2.1 Tìm hiểu vi điều khiển PIC 16F877A
Hình 2-1: Vi điều khiển PIC 16F877A
Hình 2-2: Sơ đồ chân PIC 16F877A [1]
Trang 11– Vi điều khiển PIC 16F877A:
+ Thuộc họ 16Fxxx
+ Có 40 chân
+ Có 3 bộ nhớ: bộ nhớ chương trình 8K x 14bit, bộ nhớ dữ liệu 368 x 8 byteRAM, bộ nhớ dữ liệu EEPROM 256 x 8 byte
+ Gồm có 5 Port I/O với tổng số chân I/O là 33
Port A: có 6 chân I/O Các chân này có thể nhập được và xuất được.Chức năng nhập hay xuất của các chân này được quyết định bởi thanhghi TRISA (địa chỉ 85h)
Port B: có 8 chân I/O Thanh ghi điều khiển xuất nhập là TRISB
Port C: có 8 chân I/O Thanh ghi điều khiển xuất nhập là TRISC
Port D: có 8 chân I/O Thanh ghi điều khiển xuất nhập là TRISD
Port D: có 8 chân I/O Thanh ghi điều khiển xuất nhập là TRISD
+ Có 3 timer:
Timer 0: 8 bit định thời
Timer 1: 16 bit định thời
Timer 2: 8 bit định thời
2.2 Tìm hiểu cảm biến độ ẩm, nhiệt độ DHT11
Trang 12Hình 2-3: Cảm biến độ ẩm, nhiệt độ DHT11
Hình 2-4: Sơ đồ kết nối cảm biến độ ẩm, nhiệt độ DHT11 [2]
– Cảm biến độ ẩm, nhiệt độ DHT11 là loại cảm biến rất thông dụng hiện nay Nóđược sử dụng nhiều do chi phí rẻ và dễ sử dụng
– Cảm biến DHT11 gồm 4 chân:
+ Chân 1: nối nguồn VCC
+ Chân 2: chân dữ liệu
+ Đo tốt ở độ ẩm: 20 – 80 % RH, sai số ± 5 %
+ Đo tốt ở nhiệt độ: 0 – 50 ºC, sai số ± 2 %
– Nguyên lí hoạt động:
Trang 13Hình 2-5: Sơ đồ nguyên lý hoạt động của cảm biến độ ẩm, nhiệt độ DHT11 [3]
+ MCU muốn giao tiếp với cảm biến DHT11 thì phải gửi đi một tín hiệu ở mứcthấp trong khoảng thời gian ít nhất là 18 ms Sau đó kéo tín hiệu về lại mứccao khoảng 20 – 40 µs
+ Cảm biến DHT11 khi nhận được tín hiệu từ MCU sẽ gửi tín hiệu phản hồibằng cách kéo tín hiệu xuống mức thấp trong khoảng 80 µs Sau đó kéo tínhiệu trở về mức cao khoảng 80 µs
+ Quá trình truyền dữ liệu bắt đầu Cảm biến DHT11 sẽ truyền từng bit.Truyền bit 0 mất khoảng thời gian 26 – 28 µs Truyền bit 1 mất khoảng thờigian 70 µs Giữa mỗi bit truyền luôn có thời gian nghỉ khoảng 50 µs
– Hạn chế: Cảm biến độ ẩm, nhiệt độ DHT11 là cảm biến dễ dàng sử dụng tuynhiên so với cảm biến độ ẩm, nhiệt độ DHT22 thì vẫn còn kém nhiều về khoảng
đo và độ chính xác
Trang 142.3 Tìm hiểu cảm biến khí gas MQ5
Hình 2-6: Cảm biến khí gas MQ5 Hình 2-7: Sơ đồ chân cảm biến khí gas MQ5
Các thông số kĩ thuật:
– Nguồn để hoạt động: 5 V
– Tín hiệu ngõ ra: tín hiệu analog và tín hiệu digital
– Có thể điều chỉnh độ nhạy của cảm biến bằng biến trở
– Cả biến gồm 4 chân:
+ Chân VCC: nối nguồn
+ Chân GND: nối đất
+ Chân D0, A0: chân tín hiệu Trong đề tài này chúng ta sẽ sử dụng chân tínhiệu ngõ ra là tín hiệu digital nên chúng ta sử dụng chân D0 của cảm biến, bỏtrống chân A0 của cảm biến
Trang 15Giá trị trả về của cảm biến bằng 0 thì phát hiện có khí gas trong môi trường.Ngược lại, giá trị trả về của cảm biến bằng 0 thì không phát hiện khí gastrong môi trường.
2.4 Tìm hiểu module thu phát RF
Hình 2-8: Module thu phát RF UART SI4463 tần số 433 MHz HC-12
– Module thu phát RF UART SI4463 tần số 433 MHz HC-12 hoạt động ở tần số
433 MHz, giao tiếp UART với điều kiện trong môi trường lý tưởng có thể truyền
xa 1000 m Module này dễ dàng sử dụng
– Module RF có 5 chân:
Trang 16+ Khoảng cách truyền: khoảng 600 m, có thể đạt khoảng cách xa 1000 m trong môi trường lý tưởng.
+ Tốc độ truyền: 5000 bps truyền trong không khí
+ Tần số: khoảng 433 MHz
+ Cách sử dụng: để sử dụng các module thu phát này ta phải cài đặt các modulecó cùng kênh sóng, địa chỉ, các kênh và địa chỉ này phải khác 0
2.5 Tìm hiểu LCD 16x2
Hình 2-9: LCD 16x2
Hình 2-10: Sơ đồ chân LCD 16x2 [4]
Trang 17– Có rất nhiều loại LCD khác nhau và đa dạng về khả năng hiển thị nội dung.– Các chân LCD:
+ VSS: chân nối GND
+ VDD: chân nối nguồn
+ VEE: chân để điều chỉnh độ tương phản
+ RS: chân chọn thanh ghi chế độ ghi/ đọc, hoặc chọn nối với thanh ghi dữliệu
+ RW: chân chọn chế độ đọc hoặc chế độ ghi
Chân RW ở mức 0 thì LCD ở chế độ ghi
Ngược lại, chân RW ở mức 1 thì LCD ở chế độ đọc
+ D0, D1, D2, D3, D4, D5, D6, D7: 8 chân để truyền dữ liệu D7 là MSB
Truyền 8 bit: dữ liệu truyền từ D0 đến D7
Truyền 4 bit: dữ liệu truyền từ D4 đến D7
+ LEDA: chân nối nguồn của đèn nền LCD
+ LEDK: chân nối nguồn âm của đèn nền LCD
Trang 18CHƯƠNG 3 SƠ ĐỒ MẠCH
3.1 Sơ đồ mạch phát
Hình 3-1: Sơ đồ mạch phát
– Các chân cảm biến được nối vào chân vi điều khiển PIC 16F877A như sau:+ Cảm biến nhiệt độ và độ ẩm DHT11 nối vào chân B0 của vi điều khiển PIC.+ Cảm biến khí gas MQ5 nối vào chân B1 của vi điều khiển PIC
– Kết nối các chân của module RF vào chân vi điều khiển PIC 16F877A:
+ VCC nối vào chân VCC
+ GND nối vào chân GND
Trang 19+ TXD nối vào chân TX (chân C6 của PIC).
+ RXD nối vào chân RX (chân C7 của PIC)
3.2 Sơ đồ mạch thu
Hình 3-2: Sơ đồ mạch thu
– Nối sơ đồ chân LCD với vi điều khiển PIC 16F877A:
+ Chân 1 nối chân GND
+ Chân 2 nối chân VCC
+ Chân 3 nối chân biến trở (điều chỉnh độ tương phản của LCD).+ Chân 4 nối chân D1
+ Chân 5 nối chân D2
Trang 20+ Chân 15 nối chân VCC.
+ Chân 16 nối chân GND
– Kết nối các chân của module RF vào chân vi điều khiển PIC 16F877A:
+ VCC nối vào chân VCC
+ GND nối vào chân GND
+ TXD nối vào chân TX (chân C6 của PIC)
+ RXD nối vào chân RX (chân C7 của PIC)
3.3 Nguyên lý hoạt động của mạch
– Mạch phát: cảm biến độ ẩm và nhiệt độ DHT11, cảm biến khí gas MQ5 được nốivới vi điều khiển PIC 16F877A Các cảm biến lấy thông tin từ môi trường về viđiều khiển Vi điều khiển PIC 16F877A nhận được dữ liệu đó chính là độ ẩm,nhiệt độ của của môi trường và giá trị 1 hoặc 0 được gửi về từ cảm biến khí gasMQ5
Dữ liệu từ PIC 16F877A được truyền đi nhờ module phát RF
– Mạch thu: module RF thu sẽ nhận dữ liệu rồi truyền về vi điều khiển PIC16F877A đã được nối với nó LCD sẽ hiển thị nội dung dữ liệu nhận được
Chúng ta sẽ biết được độ ẩm, nhiệt độ và nhận biết được có khí gas trong môitrường hay không nhờ vào nội dung hiển thị trên LCD
– Ngoài ra mạch còn có cảnh báo, nếu độ ẩm và nhiệt độ vượt ngưỡng cho phép thìLCD sẽ nhấp nháy
Trang 21CHƯƠNG 4 THI CÔNG PHẦN CỨNG
4.1 Thi công mạch
Hình 4-1: Mạch sau khi hoàn thành hiển thị độ ẩm, nhiệt độ và phát hiện không có khí gas
Trang 22Hình 4-2: Mạch sau khi hoàn thành hiển thị độ ẩm, nhiệt độ và phát hiện có khí gas
4.2 Kết quả đạt được
Mạch hoàn thành ta thu được kết quả:
– Đọc được giá trị độ ẩm và nhiệt độ từ cảm biến độ ẩm, nhiệt độ DHT11
– Cảm biến khí gas MQ5 trả về giá tị 0 hoặc 1, tương ứng có khí gas hay không cókhí gas trong môi trường
– Module phát RF và module thu RF truyền và nhận dữ liệu một cách chính xác,gửi và nhận dữ liệu ngay khi các thông số môi trường thay đổi
– Hiển thị nội dung dữ liệu lên LCD: nhiệt độ, độ ẩm, khí gas
Trang 234.3 Đánh giá
– Cảm biến độ ẩm và nhiệt độ DHT11:
+ Nhiệt độ môi trường thay đổi thì giá trị của cảm biến thay đổi theo Ta lấyphép thử: lấy một nhiệt kế đo nhiệt độ và độ ẩm của môi trường, đồng thờicho cảm biến DHT11 hoạt động Đọc kết quả của nhiệt kế và cảm biến, tathấy hai kết quả này giống nhau hoặc gần giống nhau
Lấy 10 lần đọc, thì kết quả của cảm biến đúng khoảng 70 %
+ Khi độ ẩm và nhiệt độ môi trường thay đổi thì giá trị cảm biến không thayđổi ngay, các giá trị này thay đổi chậm hơn thực tế khoảng 2 giây
– Module thu phát RF:
+ Về độ chính xác: quá trình truyền nhận dữ liệu của module RF tốt và chínhxác Cho mạch phát đếm từ 1 đến 10, thì mạch thu LCD hiển thị đúng mạchđếm từ 1 đến 10 Thử lại nhiều lần ta vẫn thấy kết quả đúng
+ Về tốc độ truyền dữ liệu: module RF truyền dữ liệu còn chậm
4.4 Nhận xét
– Ưu điểm:
+ Mạch chạy khá tốt, đáp ứng lấy được các thông tin cần thiết
+ Mạch chạy khá ổn định
+ Các cảm biến lấy thông tin từ môi trường một cách liên tục giúp chúng tanhận biết được sự thay đổi của môi trường một cách nhanh chóng
– Nhược điểm: Mạch chạy ổn định do đôi khi mạch bị nhiễu bởi các yếu tố bênngoài
– Hướng mở rộng:
+ Có thể thay mới bằng các cảm biến có độ chính xác cao hơn
+ Có thể thêm một số cảm biến khác nếu có nhu cầu biết được nhiều thông số
Trang 24TÀI LIỆU THAM KHẢO
Trang 27#include <16f877A.h>
#fuses hs,noput,nowdt
#use delay(clock=20m)
#use rs232(uart, baud=9600, parity=n,BITS=8, STOP=1)
#define LCD_RS_PIN PIN_d1
#define LCD_RW_PIN PIN_d2
#define LCD_ENABLE_PIN PIN_d3
#define LCD_DATA4 PIN_d4
#define LCD_DATA5 PIN_d5
#define LCD_DATA6 PIN_d6
#define LCD_DATA7 PIN_d7
Trang 29delay_ms(500);
}
}
}