Cảm biến nhiệt độ độ ẩm DHT11

Một phần của tài liệu Thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà (Trang 60)

3 .1THIẾT KẾ HỆ THỐNG

3.2.8 Cảm biến nhiệt độ độ ẩm DHT11

3.2.8.1 Giới thiệu.

DHT11 là cảm biến nhiệt độ và độ ẩm, ra đời sau và đƣợc sử dụng thay thế cho

dịng SHT1x ở những nơi khơng cần độ chính xác cao về nhiệt độ và độ ẩm.

Hình 3.17.Cảm biến nhiệt độ - độ ẩm DHT11. 3.2.8.2 Nguyên lý hoạt động. 3.2.8.2 Nguyên lý hoạt động.

DHT11 có cấu tạo 4 chân nhƣ hình, giao tiếp theo chuẩn 1 dây. + Thông số kỹ thuật:

+ Sai số độ ẩm ±5% + Sai số nhiệt độ: ±2ºC.

Sơ đồ kết nối:

Hình 3.18.Sơ đồ kết nối DHT11 với vi xử lý.

Nguyên lý hoạt động:

Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bƣớc: + Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.

+ Khi đã giao tiếp đƣợc với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo đƣợc.

- Bƣớc 1: Gửi tín hiệu Start.

MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms. Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm.

+ MCU đƣa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.

+ Sau khoảng 20-40µs, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40µs mà chân DATA ko đƣợc kéo xuống thấp nghĩa là ko giao tiếp đƣợc với DHT11.

+ Chân DATA sẽ ở mức thấp 80µs sau đó nó đƣợc DHT11 kéo nên cao trong 80µs. Bằng việc giám sát chân DATA, MCU có thể biết đƣợc có giao tiếp đƣợc với DHT11 khơng. Nếu tín hiệu đo đƣợc DHT11 lên cao, khi đó hồn thiện q trình giao tiếp của MCU với DHT.

- Bƣớc 2: Đọc giá trị trên DHT11.

+ DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dƣới dạng 5 byte. Trong đó:

 Byte 1: giá trị phần nguyên của độ ẩm (RH%)

 Byte 2: giá trị phần thập phân của độ ẩm (RH%)

 Byte 3: giá trị phần nguyên của nhiệt độ (TC)

 Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

 Byte 5 : kiểm tra tổng.

Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo khơng có nghĩa.

+ Đọc dữ liệu:

Sau khi giao tiếp đƣợc với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tƣơng ứng chia thành 5 byte kết quả của nhiệt độ và độ ẩm.

 Bit 0:

Hình 3.20. Tín hiệu mức 0.

 Bit 1:

Hình 3.21.Tín hiệu mức 1.

Sau khi tín hiệu đƣợc đƣa về 0, ta đợi chân DATA của MCU đƣợc DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28µs thì là 0, cịn nếu tồn tại 70µs là 1. Do đó trong lập trình bắt sƣờn lên của chân DATA, sau đó delay 50µs. Nếu giá trị đo đƣợc là 0 thì ta đọc đƣợc bit 0, nếu giá trị đo đƣợc là 1 thì giá trị đo đƣợc là 1. Cứ nhƣ thế đọc các bit tiếp theo.

3.2 LƢU ĐỒ GIẢI THUẬT CHƢƠNG TRÌNH. 3.2.1 Lƣu đồ giải thuật trên mạch điều khiển.

- Lƣu đồ chƣơng trình chính:

Khi cấp nguồn cho mạch, vi xử lý cập nhật thƣ viện, khởi tạo các biến,khởi tạo SD Card và đọc dữ liệu đã lƣu trƣớc đó trong bộ nhớ Flash (trạng thái bật, tắt thiết bị, tên thiết bị, danh sách hẹn giờ,…) để hiển thị ra giao diện. Sau đó tiến hành đọc giá trị nhiệt độ, độ ẩm, cƣờng độ sáng để hiển thị, đồng thời chờ tín hiệu điều khiển từ điện thoại và chờ ngƣời dùng nhấn vào các tab để chuyển sang xử lý các tab tƣơng ứng. Quá trình cứ thế lặp lại.

Hình 3.22. Lƣu đồ chƣơng trình chính.

Bắt đầu

Khởi tạo thƣ viện, khai báo các biến Đọc dữ liệu từ bộ nhớ Flash lƣu vào các biến

Hiển thị tab Home

Chọn tab Home Hiển thị tab Home Chọn tab Setup Hiển thị tab Setup Chọn tab Music Hiển thị tab Music Chọn tab Timer Hiển thị tab Timer

Chọn tab System Hiển thị tab System

Chọn tab About Hiển thị tab About Đọc, hiển thị nhiệt độ, độ ẩm Sai Sai Sai Sai Sai Sai Đúng Đúng Đúng Đúng Đúng Đúng Nhận, xử lý tín hiệu từ android

-Lƣu đồ chƣơng trình con tab Home:

Hiển thị tab Home Xóa widget tab khác Hiển thị widget tab Home

Nhấn chọn thiết bị

Đóng hoặc mở thiết bị

Kết thúc

Sai Đúng

Hình 3.23. Lƣu đồ tab Home.

Khi nhấn vào các nút thì sẽ chuyển từ on sang off và ngƣợc lại. -Lƣu đồ chƣơng trình con tab Timer:

Hiển thị tab Home Xóa widget tab khác Hiển thị widget tab Timer

Nhấn chọn thiết bị

Hẹn giờ thiết bị

Kết thúc

Sai Đúng

Hình 3.24. Lƣu đồ tab Timer.

Khi nhấn vào nút trong tab Timer, sẽ hiện ra một bảng cho phép đặt giờ bật, tắt thiết bị, thêm, xóa lịch trình hẹn giờ.

-Lƣu đồ chƣơng trình con tab Setup: Hiển thị tab Setup

Xóa widget tab cũ Hiển thị widget tab Setup

Chọn thiết bị

Chọn Set device Chọn thiết bị cho ngõ ra

Chọn Set name Thay đổi tên thiết bị

Chọn Set PWM Thay đổi điện áp ngõ ra Sai Sai Sai Đúng Đúng Đúng Đúng Sai Kết thúc

Hình 3.25. Lƣu đố tab Setup.

Khi nhấn chọn một thiết bị sẽ hiện ra bảng các tùy chọn điều khiển:

+ Chọn Set device sẽ cho phép thêm một thiết bị mới, hoặc xóa thiết bị đang đƣợc chọn. + Chọn Set name cho phép đặt lại tên thiết bị.

-Lƣu đồ chƣơng trình con tab Music:

Hiển thị tab Music

Xóa widget tab cũ Hiển thị widget tab Music

Hiển thị danh sách nhạc Nhấn Play/Pause TT==0 TT==1 Dừng nhạc Phát nhạc Tìm thấy file nhạc trong SD card TT=1 TT=0 Nhấn Next Nhấn Previous

Phát bài kế tiếp Phát bài trƣớc đó

Kết thúc Sai Đúng Đúng Đúng Đúng Đúng Đúng Sai Sai

Sai Sai Sai

Chọn bài

Phát bài đƣợc chọn Đúng

Sai

Hình 3.26. Lƣu đồ tab Music.

Khi tab Music đƣợc chọn lần đầu, vi xử lý đọc trong thẻ SD tìm file âm thanh, nếu khơng có thì thơng báo và thốt. Nếu có tiến hành hiển thị danh sách bài hát. Chọn vào các nút Play, Pause, Next, Privious sẽ xử lý phát nhạc ứng với các nút.

3.2.2 Lƣu đồ thuật tốn chƣơng trình trên Android.

-Lƣu đồ Activity Main:

Bắt đầu

Kết nối bluetooth thành công Khởi tạo các biến Hiển thị giao diện

Yêu cầu kết nối Sai Đúng Cập nhật giao diện Nhận, hiển thị nhiệt độ, độ ẩm... Thốt? Kết thúc Đúng Sai Hàm Run()

Hình 3.27. Lƣu đồ Activity Main

Khi khởi động, ứng dụng sẽ khởi tạo các biến, các tab, tải giao diện ban đầu. Sau đó kiểm tra kết nối bluetooth có bật hay khơng, nếu không đƣa ra thông báo yêu cầu ngƣời dùng bật bluetooth. Sau khi bluetooth đƣợc bật, ứng dụng kết nối với HC-05 (lắp trên mạch điều khiển), lúc này mạch điều khiển sẽ gửi lệnh đồng bộ giao diện cho ứng dụng.Ngƣời dùng có thể thao tác trên ứng dụng để điều khiển mạch điều khiển, đồng thời tiếp tục cập nhật giao diện từ mạch điều khiển.

-Lƣu đồ hàm Run():

Hình 3.28. Lƣu đồ hàm Run.

Trong hàm Run(), ứng dụng đợi tín hiệu điều khiển từ mạch điều khiển, nếu có thì cập nhật giao diện, nếu khơng thì chờ lệnh điều khiển từ ngƣời dùng thao tác trên ứng dụng. Các sự kiện onClick(), onLongClick()… là thao tác ngƣời dùng bật tắt các nút nhấn, nhấn giữ lấu nút nhấn để hiển thị bảng tùy chọn,…

Bắt đầu Tín hiệu điều khiển từ ARM Cập nhật giao diện Các sự kiện onClick(), onLongClick(),onOptionsItem Selected(),... Cập nhật giao diện Xử lý, gửi tín hiệu ra bluetooth Kết thúc Đúng Sai Đúng Sai

-Lƣu đồ xử lý sự kiện onOptionsItemSelected(): Bắt đầu Chọn chức năng Set PWM Chọn chức năng Alarm Chọn chức năng Rename Chọn chức năng Delete Cập nhật giao diện Gửi lệnh xóa ra bluetooth Kết thúc Đúng Sai Đúng Sai Đúng Sai Đúng Sai

Gửi Intent gọi Activity SetPWM

Gửi Intent gọi Activity Alarm

Gửi Intent gọi Activity Rename

Hình 3.29. Lƣu đồ hàm onOptionsItemSelected.

Sự kiện onOptionsItemSelected() trong Activity List_Control, có chức năng hiển thị danh sách tùy chọn điều khiển, khi nhấn vào chức năng nào thì gửi Intent gọi Activity

4.1 KẾT QUẢ ĐẠT ĐƢỢC PHẦN LÝ THUYẾT.

- Tìm hiểu biết sâu hơn về vi điều khiển STM32VET6. - Sử dụng màn hình cảm ứng TFT LCD 7 Inch.

- Tìm hiểu linh liện trong mạch công và mạch điều khiển của đề tài.

- Biết cách giao tiếp với thẻ nhớ và IC giải mã âm thanh VS1003, module bluetooth HC- 05.

- Sử dụng đƣợc phần mềm Proteus, Keil C, Altium.

4.2 KẾT QUẢ ĐẠT ĐƢỢC PHẦN THỰC HÀNH. 4.2.1 Thiết kế mạch in. 4.2.1 Thiết kế mạch in.

Hình 4.2.Lớp Bottom PCB mạch điều khiển

Hình 4.4. Lớp Bottom PCB mạch cơng suất. 4.2.2 Thi công mạch thực tế. 4.2.2 Thi công mạch thực tế.

Hình 4.6.Mạch cơng suất thực tế.

4.2.3 Giao diện giao tiếp ngƣời dùng

Hình 4.8. Giao diện điều khiển chính.

Tab Home là giao diện chính, hiển thị ngày giờ nhiệt độ, độ ẩm, cƣờng độ sáng và trạng thái bật, tắt của 8 thiết bị AC và 1 thiết bị DC, trạng thái hẹn giờ. Trên giao diện này ngƣời dùng bật tắt các thiết bị thông qua việc chạm tay vào các nút tƣơng ứng với mỗi

thiết bị đƣợc cấu hình ban đầu.

Hình 4.9. Tab Setup.

Tab Setup cho phép ngƣời dùng tùy chọn điều khiển nhƣ: thêm, xóa một thiết bị, chỉnh độ sáng đèn sợi tóc, chỉnh tốc độ quạt, đặt tên…

Hình 4.11. Đặt tên thiết bị Hình 4.12. Chỉnh độ sáng đèn.

Hình 4.13. Tab Music.

hoăc nhấn nút next, previous.

Hình 4.14. Chức năng hẹn giờ.

Tab Timer cho phép ngƣời dùng cài đặt thời gian bật, tắt thiết bị, có thể lƣu thành một danh sách lịch trình bật, tắt.

Tab System cho phép điều chỉnh độ sáng màn hình, chỉnh ngày giờ, cài đặt trạng thái thiết bị theo nhiệt độ, cƣờng độ sáng,…

Hình 4.15. Điều khiển đèn sợi tóc.

4.2.4 Giao diện điều khiển trên điện thoại

Muốn sử dụng ứng dụng trên điện thoại Android thì phải bật bluetooth, giao diện

trên điện thoại sẽ đồng bộ với giao diện trên GLCD, cách điều khiển cũng tƣơng tự.

Hình 4.17. Giao diện chính . Hình 4.18. Bảng tùy chọn.

Hình 4.19. Thêm thiết bị. Hình 4.20. Hẹn giờ.

+ Điều khiển bật tắt, điều chỉnh độ sáng, hẹn giờ các thiết bị bằng cảm ứng trên GLCD và bằng điện thoại qua bluetooth.

+ Hiển thị nhiệt độ, thời gian và trạng thái thiết bị trên màn hình LCD. + Phát nhạc MP3 từ thẻ nhớ.

+ Hoàn thành giao diện giao tiếp ngƣời dùng qua màn hình GLCD 7 inch và điện thoại android.

- Thử nghiệm trong các môi trƣờng khác nhau:

+ Môi trƣờng điện áp ổn định: mạch hoạt động ổn định.

+ Môi trƣờng điện áp không ổn địnhnhƣ sụt áp trên đƣờng dây, các tải công suất lớn nhƣ tủ lạnh, máy lạnh bật, tắt…: mạch hoạt động ổn định.

Chƣơng 5KẾT LUẬN VÀ HƢỚNG PHÁT

5.1 KẾT LUẬN.

Trong quá trình làm đồ án,sinh viên đã rút ra nhiều kinh nghiệm để làm đƣợc một sản phẩm hoàn thiện phải dựa và nhiều yếu tố nhƣ : thời gian, linh kiện có trên thị trƣờng, hiểu biết về các linh kiện thực tế, cách thiết kế board mạch...Đồ án đã đƣợc hồn thiện nhƣ mục đích đề ra, mạch chạy ổn định và có thể ứng dụng trong thực tế.

5.2 HƢỚNG PHÁT TRIỂN.

Đề tài tuy hoàn thiện nhƣng vẫn cần phải cải thiện thêm để sản phẩm hoàn thiện hơn nhƣ:

- Kết nối internet, wifi để có thể điều khiển thiết bị từ xa.

- Thêm mạch công suất lớn hơn để điều khiển tải công suất lớn nhƣ tủ lạnh, máy lạnh,

TÀI LIỆU THAM KHẢO

[1] [2] ARM Việt Nam, Cấu trúc cơ bản của STM32_ARM Cortex M3,18/3/2010.

[3] Bùi Tấn Tài, Huỳnh Thanh Hiếu, Nghiên cứu kít vi điều khiển STM32F103VET6, Đồ án tốt nghiệp ĐH Sƣ phạm kỹ thuật Tp HCM, 2/2014. [5] STM32 Datasheet. [6] HC-05 Datashseet. [7] VS1003B Datasheet. Website: [8]http://www.arm.vn/TinChiTiet/tabid/105/id/148/Default.aspx [9] http://www.dientuvietnam.net/ [10] http://www.android.vn/ [11] http://www.eleccircuit.com/ [12] https://duythanhcse.wordpress.com/lap-trinh-di-dong/android/

PHỤ LỤC

Phần mềm sử dụng trong đề tài:

- Phần mềm lập trình: Keil – uVision 5.

- Phần mềm chuyển đổi file bmp sang file (.h): StellarisWare. - Phần mềm chỉnh sửa ảnh: GIM2.

- Phần mềm mô phỏng và vẽ mạch in: Protues 8.0. - Phàn mềm vẽ mạch in Altium.

Một phần của tài liệu Thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà (Trang 60)

Tải bản đầy đủ (PDF)

(87 trang)