Xây dựng và phát triển mô hình Giám sát chỉ số môi trường hiển thị trên Web thông qua Wifi. Hệ thống này sẽ đo các thông số chính xác tại khu vực đặt trạm như: nhiệt độ, độ ẩm, bụi, cường độ ánh sáng. Từ đó đưa ra những cảnh báo quan trọng dựa trên dữ liệu đo được từ cảm biến. Mời các bạn cùng tham khảo.
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH -
SVTH: Trần Xuân Thức 15141302 Trần Văn Trí 15141315
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 3BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o
Chuyên ngành: Kỹ thuật Điện Tử, Truyền Thông Mã ngành: 141
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT CHỈ SỐ MÔI
TRƯỜNG VÀ HIỂN THỊ THÔNG TIN TRÊN WEB
II NHIỆM VỤ
Nội dung thực hiện:
- Đọc các tài liệu, đồ án tốt nghiệp, đề tài
- Tìm hiểu cách thức hoạt động của các cảm biến sử dụng
- Tìm hiểu các chuẩn truyền thông như UART, I2C
- Thiết kế giao diện để giám sát: Web giám sát dữ liệu đo được từ cảm biến
- Thiết kế và thi công mô hình trạm giám sát
- Tính toán các thông số quy đổi cho các cảm biến
- Viết chương trình điều khiển cho Arduino, nạp code và chạy thử nghiệm sản phẩm, chỉnh sửa và hoàn thiện hệ thống
- Thực hiện viết sách luận văn báo cáo
- Tiến hành báo cáo đề tài tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 19/02/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/07/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS TS NGUYỄN THANH HẢI
Trang 4BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o
Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT CHỈ SỐ MÔI TRƯỜNG
VÀ HIỂN THỊ THÔNG TIN TRÊN WEB
GVHD
Tuần 1 (18/02 - 24/02) Gặp gỡ GVHD và trao đổi về đề tài tốt nghiệp
Tuần 2 (25/02 - 03/03) Tìm hiểu các đề tài nghiên cứu có liên quan
Tuần 3 (04/03 - 10/03) Tìm hiểu các chuẩn giao tiếp sử dụng trong đề
tài
Tuần 4 (11/03 - 17/03) Tìm hiểu tất cả các linh kiện sử dụng trong đề
tài
Tuần 5 (18/03 - 24/03) Viết code arduino và chạy thử nghiệm một số
cảm biến liên quan đến đề tài
Báo cáo tiến độ với GVHD
Tuần 6 (25/03 - 31/03) Hoàn thành vẽ mạch sử dụng tất cả các cảm
biến và làm mạch thử nghiệm 1
Tuần 7 (01/04 - 07/04) Viết báo cáo chương 1, 2 và báo cáo tiến độ
với GVHD
Tuần 8 (08/04 - 14/04) Giao tiếp với module wifi và tiến hành gửi dữ
liệu lên web
Tuần 9 (15/04 - 21/04) Tổng hợp code toàn mạch
Thiết kế mạch toàn bộ các cảm biến và làm mạch thử nghiệm 2
Tuần 10 (22/04 -28/04) Tạo giao diện web hiển thị và tiến hành chỉnh
sửa cho phù hợp
Tuần 11 (29/04 - 05/05) Kiểm tra và chỉnh sửa toàn mạch
Viết báo cáo chương 3, 4, 5
Trang 5Tuần 14,15,16 (20/05
-09/06)
Chỉnh sửa và hoàn thành toàn bộ bài báo cáo
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 6Đề tài này là do chúng em tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Nhóm thực hiện đề tài Trần Xuân Thức
Trần Văn Trí
Trang 7Lời đầu tiên chúng em xin gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong Bộ môn Điện Tử Y Sinh nói riêng và các thầy cô giáo trong Khoa Điện – Điện Tử nói chung đã nhiệt tình giúp đỡ chúng em về các kiến thức liên quan tới lĩnh vực nghiên cứu của đề tài trong thời gian thực hiện đề tài, cũng như các kiến thức mà các thầy cô đã truyền đạt cho chúng em trong suốt thời gian học tập tại trường
Xin gửi lời cảm ơn chân thành nhất đến giáo viên hướng dẫn PGS TS Nguyễn Thanh Hải đã tận tình hướng dẫn, giúp đỡ, cung cấp các kiến thức quan trọng tạo điều kiện thuận lợi trong thời gian thực hiện đề tài
Chúng em gửi lời cảm ơn ba mẹ và người thân đã đồng hành và động viên trong suốt quá trình thực hiện đề tài
Chúng em cũng gửi lời đồng cảm ơn đến các bạn lớp 15141DT đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong quá trình thực hiện đề tài
Xin chân thành cảm ơn!
Người thực hiện đề tài Trần Xuân Thức
Trần Văn Trí
Trang 8LỜI CAM ĐOAN iv
LỜI CẢM ƠN v
MỤC LỤC vi
LIỆT KÊ HÌNH VẼ viii
LIỆT KÊ BẢNG x
TÓM TẮT xi
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 3
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 QUY TRÌNH GIÁM SÁT CỦA HỆ THỐNG 4
2.2 GIỚI THIỆU PHẦN CỨNG 4
2.2.1 Khối cảm biến 4
2.2.2 Khối vi điều khiển 10
2.2.3 Khối nhận tín hiệu 13
2.2.4 Khối hiển thị 14
2.2.5 Các chuẩn giao tiếp 17
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 23
3.1 GIỚI THIỆU 23
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 23
3.2.1 Tính toán và thiết kế mạch 24
3.2.2 Điện áp và dòng điện của các linh kiện 29
3.3 LẬP TRÌNH HỆ THỐNG 31
3.3.1 Lưu đồ giải thuật 31
3.3.2 Phần mềm lập trình cho vi điều khiển 33
3.3.3 Phần mềm lập trình cho Web sử dụng phần mềm ThingSpeak 35
Trang 94.2.1 Thi công bo mạch 44
4.2.2 Lắp ráp và kiểm tra 46
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 47
4.3.1 Đóng gói bộ điều khiển 47
4.3.2 Thi công mô hình 47
4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 48
Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 49
5.1 KẾT QUẢ THỰC TẾ 49
5.2 ĐÁNH GIÁ HOẠT ĐỘNG CỦA HỆ THỐNG 53
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
6.1 KẾT LUẬN 54
6.2 HƯỚNG PHÁT TRIỂN 55
TÀI LIỆU THAM KHẢO 56
PHỤ LỤC 57
Trang 10Hình Trang
Hình 2-1 Sơ đồ chân của cảm biến DHT11 5
Hình 2-2 Sơ đồ kết nối giữa Vi điều khiển với DHT11 6
Hình 2-3 Cảm biến bụi Sharp GP2Y10 7
Hình 2-4 Sơ đồ chân và tổng quan quá trình kết nối với vi điều khiển của cảm biến bụi Sharp GP2Y10 8
Hình 2-5 Sơ đồ chân kết nối của cảm biến BH1750 9
Hình 2-6 Arduino Uno R3 12
Hình 2-7 Module ESP8266 V1 13
Hình 2-8 Màn hình LCD 20x4 15
Hình 2-9 Module I2C chuyển đổi LCD 17
Hình 2-10 Kết nối các thiết bị theo chuẩn I2C 18
Hình 3 1 Sơ đồ khối hệ thống giám sát chỉ số môi trường 23
Hình 3-2 Sơ đồ nguyên lý khối cảm biến 25
Hình 3-3 Các chân giao tiếp của module ESP8266V1 27
Hình 3-4 Sơ đồ nguyên lý khối giao tiếp với Arduino Uno R3 27
Hình 3-5 Sơ đồ nguyên lý toàn hệ thống giám sát chỉ số môi trường 28
Hình 3-6 Adapter 12V – 1A 31
Hình 3-7 Lưu đồ chương trình chính của hệ thống giám sát chỉ số môi trường qua Web. 31
Hình 3-8 Lưu đồ chương trình con về quá trình thu thập dữ liệu và đưa dữ liệu lên Web. 33
Hình 3-9 Các vùng làm việc của phần mềm 34
Hình 3-10 Cảnh báo có thể xuất hiện khi sử dụng phần mềm IDE 35
Hình 3-11 Trình duyệt truy cập vào ThingSpeak 36
Hình 3-12 Giao diện ban đầu của Thingspeak 36
Hình 3-13 Giao diện khởi tạo tài khoản ThingSpeaks 37
Hình 3-14 Giao diện cài đặt một số thông số của Web 38
Hình 3-15 Giao diện điểm thể hiện giá trị cảm biến đo được tại các khoảng thời gian khác nhau của ThingSpeaks 38
Hình 3-16 Giao diện cột thể hiện giá trị cảm biến đo được tại các khoảng thời gian khác nhau 39
Hình 3-17 Thông tin của cảm biến muốn hiển thị lên Server Web 40
Hình 3-18 Giáo sát bằng giao diện đồng hồ của Thingspeaks 40
Hình 3-19 Thông tin của BH1750 với giao diện đồng hồ 41
Hình 3-20 Giao diện giám sát thời gian gửi dữ liệu lên Server Web 42
Hình 3-21 Giao diện cảnh báo của Thingspeaks 42
Trang 11Hình 4-1 Lớp dưới PCB của toàn mạch 45
Hình 4-2 Mạch thực tế 46
Hình 4-3 Mô hình vẽ trên AutoCAD của hệ thống 47
Hình 4-4 Mô hình thực tế sau khi cố định các mặt cắt 48
Hình 5-1 Hình chụp hệ thống thực tế 49
Hình 5-2 Kết quả đo được lúc 16:00 50
Hình 5-3 Kết quả đo được lúc 16:30 51
Hình 5-4 Thống kê số liệu thông qua phần mềm excel 52
Trang 12Bảng Trang
Bảng 2-1 Bảng so sánh các cảm biến đo nhiệt độ và độ ẩm thông dụng 4
Bảng 2-2 Chân kết nối của cảm biến bụi GP2Y10 8
Bảng 2-3 Chân kết nối của cảm biến BH1750 9
Bảng 2-4 Một vài thông số lựa chọn Arduino trong các board Arduino phổ biến 10
Bảng 2-5 Thông số Arduino Uno R3 11
Bảng 2-6 Thông số kỹ thuật: Các chân của LCD 15
Bảng 2-7 Các lênh AT chung 20
Bảng 2-8 Các lệnh AT cấu hình module WiFi 21
Bảng 2-9 Các lệnh AT đối với module WiFi cấu hình là trạm/khách 21
Bảng 3-1 Dòng điện và điện áp làm việc của các linh kiện 29
Bảng 4-1 Danh sách các linh kiện 44
Bảng 5-1 Thống kê số liệu các lần đo 52
Trang 13Ngày nay, sự phát triển của khoa học kỹ thuật đã làm cho đời sống con người ngày càng được nâng cao Khi mức sống con người được nâng cao thì đòi hỏi môi trường sống của con người cần được cải thiện nhiều hơn Sống trong một xã hội mà các chỉ số môi trường an toàn với sức khỏe của con người là mục tiêu hướng tới của cộng đồng Chính vì
lẽ đó con người cần phải biết được các chỉ số môi trường sống hiện tại để từ đó có các biện pháp phòng tránh và cải thiện nó
Hiện nay với sự phát triển mạnh mẽ của IoT (Internet of Things) và giám sát dữ liệu
đã được mở rộng thông qua web và các thiết bị được kết nối Internet Từ đó tạo được sự thuận tiện và hiện đại trong cuộc sống của con người
Nội dung của đề tài là áp dụng những kiến thức điện tử đã học để thiết kế mạch đo các chỉ số môi trường Mạch gồm các cảm biến nhiệt độ, độ ẩm, bụi, cường độ ánh sáng giao tiếp với bộ điều khiển trung tâm là Aduino Uno R3 Không chỉ hiển thị các dữ liệu thông qua LCD 20x4, mạch còn giám sát dữ liệu qua Web nhờ module ESP8266-V1 Mô hình cũng được thiết kế dạng hình khối chứa đựng tất cả mạch và cảm biến sử dụng Số liệu hiển thị trên trên LCD và Web trực quan, dễ nhìn Người dùng có thể dựa vào những
dữ liệu đó để có các quyết định và biện pháp phòng tránh hiệu quả
Trang 14Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trong quá trình phát triển của đất nước cùng với việc đẩy mạnh phát triển kinh tế thì yếu tố không kém phần quan trọng là vấn đề về môi trường cần phải được quan tâm đặc biệt Trong nông nhiệp, muốn đạt được hiệu quả sản xuất được tốt nhất thì những kinh nghiệm trong quá trình lao động sản xuất từ xưa đến nay vẫn chưa đủ, cần phải có những thiết bị chuyên dụng để đo chính xác yếu tố môi trường ngay lúc đó Xã hội càng phát triển thì sản xuất nó không chỉ dừng lại ở việc làm ra chỉ để phục vụ cho mình, cho xã hội mà chúng ta còn phải quan tâm đến các vấn đề bảo vệ môi trường Vì các yếu tố môi trường còn tác động trực tiếp đến sức khỏe của con người nên cần phải đưa ra một giải pháp có thể giúp con người biết được các yếu tố đó để có những biện pháp phòng tránh hiệu quả Hiện nay cũng có rất nhiều bài nghiên cứu của sinh viên cũng làm về vấn đề môi trường và thời tiết, luận văn thạc sĩ của Phạm Đức Huy về “Nghiên cứu và xây dựng một
số hệ đo mưa ứng dụng vào hệ thống cảnh báo trượt đất”, trong đó hệ đo lượng mưa sử dụng cảm biến WS-3000, ngoài đo lượng mưa cảm biến còn cho biết thêm thông số về tốc
độ gió và hướng gió Mạch đo Ardruino Uno R3 được sử dụng để đọc và xử lý tín hiệu từ đầu ra cảm biến Nếu cảm biến đặt gần trung tâm ta có thể hiển thị luôn được thông số đầu
ra trên máy tính, còn đối với cảm biến đặt xa trung tâm ta sẽ truyền bằng module SIM900 [1] Trong một số ứng dụng của cuốn sách “Thiết kế hệ thống nhúng” mà TS Phan Văn Ca – Ths Trương Quang Phúc có thực hiện một đề tài là Thiết kế một trạm quan trắc thời tiết
để đoán được hướng gió và đo nhiệt độ môi trường xung quanh Các giá trị nhiệt độ đo được hiển thị trên một màn hình LCD Hướng gió được hiển thị trên LED sắp xếp theo một mẫu hình tròn Kết quả đo sẽ được truyền nối tiếp tới một thiết bị bên ngoài [2]
Một số luận văn khác như của Trịnh Minh Phương nghiên cứu đề tài “Nghiên cứu ứng dụng IoT cho giám sát môi trường”, sử dụng Raspberry Pi giao tiếp với cảm biến ánh sáng BH1750, DHT22 Sử dụng ngôn ngữ lập trình Python để đọc các dữ liệu cảm biến ánh sáng, nhiệt độ, độ ẩm thu thập được sau đó hiển thị trên giao diện Web [3] Luận văn
“Hệ thống báo cháy và báo trộm thông qua SMS” của Trần Văn Đen – Đỗ Quang Vinh, hệ thống được xây dựng trên module SIM900, vi điều khiển SMP430, cảm biến gas MQ6,
Trang 15cảm biến chuyển động PIR230B và cảm biến ánh sáng CDS Kết hợp với một moduel điều khiển thiết bị [4]
Qua tóm tắt trên, chúng em quyết định làm đề tài “Thiết kế và thi công hệ thống giám giám sát chỉ số môi trường và hiển thị thông tin trên Web” Hệ thống này sử dụng
vi điều khiển trung tâm là module Arduino, module Wifi ESP8266V1 và các cảm biến ánh sáng, nhiệt độ, độ ẩm, bụi Hệ thống sẽ phân tích, tổng hợp dữ liệu để đưa ra gợi ý cho người sử dụng Người dùng có thể truy cập và giám sát dữ liệu thời tiết đo được trên Web
1.2 MỤC TIÊU
Xây dựng và phát triển mô hình Giám sát chỉ số môi trường hiển thị trên Web thông qua Wifi Hệ thống này sẽ đo các thông số chính xác tại khu vực đặt trạm như: nhiệt độ,
độ ẩm, bụi, cường độ ánh sáng Từ đó đưa ra những cảnh báo quan trọng dựa trên dữ liệu
đo được từ cảm biến
1.3 NỘI DUNG NGHIÊN CỨU
- Tìm hiểu cách thức hoạt động của các cảm biến sử dụng
- Tìm hiểu các chuẩn truyền thông như UART, I2C
- Thiết kế giao diện để điều khiển và giám sát: Web giám sát dữ liệu đo được từ cảm biến
- Thiết kế và thi công mô hình trạm giám sát
- Tính toán các thông số quy đổi cho các cảm biến
- Viết chương trình điều khiển cho Arduino, nạp code và chạy thử nghiệm sản phẩm, chỉnh sửa và hoàn thiện hệ thống
- Thực hiện viết sách luận văn báo cáo
- Tiến hành báo cáo đề tài tốt nghiệp
1.4 GIỚI HẠN
• Thiết kế mô hình trạm giám sát và chỉ thực hiện mô hình nhỏ để thực nghiệm
• Dải nhiệt độ đo được từ 0 – 50 độ C, độ ẩm từ 20 – 90% RH
• Nguồn cung cấp trực tiếp thông qua Adapter 12V
• Mạch hoạt động ổn định trong môi trường từ 10 – 50 độ C, vượt quá sẽ ảnh
hưởng đến kết quả đo từ các cảm biến cũng như gây hư hỏng toàn mạch
Trang 161.5 BỐ CỤC
• Chương 1: Tổng Quan
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung nghiên cứu, các giới hạn thông số và bố cục đồ án
• Chương 2: Cơ Sở Lý Thuyết
Nền tảng lý thuyết quan trọng được trình bày ở chương này, dựa vào đó để tính toán và thiết kế mạch thực tế
• Chương 3: Thiết Kế và Tính Toán
Các thông số tính toán, mẫu thiết kế từng khối, phần mềm lập trình sử dụng sẽ được trình bày cụ thể ở chương này
• Chương 4: Thi công hệ thống
Nội dung chương sẽ trình bày tóm tắt từng bước quá trình thi công hệ thống, hoàn thành
mô hình hệ thống
• Chương 5: Kết Quả, Nhận Xét và Đánh Giá
Sau khi hoàn thành việc thi công, chương này trình bày kết quả nghiên cứu và từ đó rút
ra nhận xét, đánh giá
• Chương 6: Kết Luận và Hướng Phát Triển
Nội dung chương sẽ nêu rõ nhóm có hoàn thành mục tiêu ban đầu đã đề ra, nếu không hoàn thành được thì tìm hiểu nguyên nhân Hướng phát triển của đề tài sau này
Trang 17Chương 2 CƠ SỞ LÝ THUYẾT
2.1 QUY TRÌNH GIÁM SÁT CỦA HỆ THỐNG
Ban đầu Arduino giao tiếp với các cảm biến nhiệt độ, độ ẩm, bụi và ánh sáng thông qua các chuẩn giao tiếp rồi hiển thị dữ liệu đo được lên LCD 20x4, đồng thời dữ liệu từ cảm biến
sẽ cập nhật liên tục và hiển thị trên Web qua Wifi Dữ liệu cập nhật theo thời gian thực và thời gian cập nhật là 15 giây
biến đo nhiệt độ, độ ẩm thông dụng
Bảng 2-1 Bảng so sánh các cảm biến đo nhiệt độ và độ ẩm thông dụng
Trang 18Căn cứ vào số liệu bảng so sánh trên ta thấy cả 2 dòng AS2301 và SHT10 đều có dải
đo nhiệt độ và độ ẩm lớn hơn so với DHT11 Tuy nhiên nếu xét cụ thể từng dòng, SHT10
có giá thành quá cao, AS2301 cũng có giá thành cao và điều khiển phức tạp hơn nhiều so với DHT11 Do đó, DHT11 là sự lựa chọn tốt nhất do được sử dụng phổ biến, giá thành rẻ, thông số kĩ thuật phù hợp với nhu cầu và giới hạn của đề tài
a Mô tả chân và sơ đồ kết nối với vi điều khiển của cảm biến DHT11
Hình 2-1.Sơ đồ chân của cảm biến DHT11
Mô tả chân:
- Chân số 1: nối với nguồn (3.5 - 5.5V DC)
- Chân số 2: truyền dữ liệu nối tiếp
- Chân số 3: chân không kết nối
- Chân số 4: nối mass
Trang 19Sơ đồ kết nối:
Hình 2-2 Sơ đồ kết nối giữa Vi điều khiển với DHT11
Trong đó, MCU: Micro Ctroller Unit (khối vi điều khiển)
b Tổng quan quá trình giao tiếp
Quá trình giao tiếp giữa cảm biến DHT11 với khối điều khiển Arduino sẽ diễn ra theo
03 giai đoạn được trình bày tóm tắt như sau Đầu tiên khối điều khiển gửi đi một xung bắt đầu chờ tín hiệu từ DHT11, nếu có DHT11 sẽ trả lời bằng cách kéo tín hiệu từ mức logic
1 xuống mức logic 0 Khi đó quá trình truyền nhận dữ liệu bắt đầu
Khi quá trình giao tiếp của khối điều khiển và cảm biến DHT11 bắt đầu, chân dữ liệu được kéo xuống mức logic 0 trong khoảng thời gian ít nhất 18ms để chắc chắn cảm biến DHT11 phát hiện tín hiệu từ khối điều khiển Sau đó khối điều khiển sẽ đưa mức logic lên
1 và đợi tầm 20-40 µs chờ cảm biến phản hồi
Khi cảm biến DHT11 phát hiện tín hiệu bắt đầu, nó sẽ hồi tiếp về mức 0 và giữ khoảng 80µs để chuẩn bị gửi dữ liệu về Sau đó lại đưa tín hiệu lên mức 1 khoảng 80µs để chuẩn
bị truyền dữ liệu Sau khi đưa tín hiệu chân dữ liệu về mức logic 0, cảm biến đưa nó lên mức logic 1 Nếu chân dữ liệu giữ mức logic 1 trong khoảng 26-28µs thì ta được bit 0, còn nếu 70µs thì ta được bit 1
c Đọc giá trị trên DHT11
Sau khi giao tiếp được với khối điều khiển, cảm biến DHT11 sẽ trả về giá trị nhiệt độ
và độ ẩm dưới dạng 40 bit dữ liệu, tương ứng chia làm 5 byte Trong đó:
Byte 1: giá trị phần nguyên của độ ẩm
Trang 20Byte 2: giá trị phần thập phân của độ ẩm
Byte 3: giá trị phần nguyên của nhiệt độ
Byte 4: giá trị phần thập phân của nhiệt độ
Byte 5: kiểm tra tổng
Nếu (Byte 5) = (Byte 1 + Byte 2 + Byte 3 + Byte 4) 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
Ví dụ: Dữ liệu nhận 40 Bit: 00110101 00000000 00011000 00000000 01001101
Dữ liệu đã nhận chính xác về Độ ẩm: 00110101 = 35H = 53%RH
Dữ liệu đã nhận chính xác về Nhiệt độ: 00011000 = 18H = 24oC
2.2.1.2 Cảm biến bụi Sharp GP2Y10 (Dust Sensor)
Ô nhiễm môi trường không khí ngày càng trầm trọng Điều này, ảnh hưởng trực tiếp tới sức khỏe mỗi con người Vì vậy module cảm biến bụi sẽ giúp chúng ta biết được mức
độ ô nhiễm môi trường không khí để có thể cải thiện chất lượng không khí
Hình 2-3.Cảm biến bụi Sharp GP2Y10
a Thông số cơ bản của cảm biến
▪ Nguồn : 3,3 – 5 VDC
▪ Dòng tiêu thụ : 10mA
▪ Ngõ ra : analog với tỉ lệ 0,5V ~ 0,1mg/m3
▪ Nhiệt độ hoạt động : -40 ~ 85 độ C
Trang 21b Sơ đồ chân kết nối
Sơ đồ chân kết nối được trình bày ở hình sau:
Hình 2-4 Sơ đồ chân và tổng quan quá trình kết nối với vi điều khiển của cảm biến bụi
Sharp GP2Y10
Bảng 2-2 Chân kết nối của cảm biến bụi GP2Y10
Thứ tự chân cảm biến bụi Thuộc tính
c Nguyên lý hoạt động của cảm biến
Cảm biến bụi được cấu tạo bởi ba thành phần chính: IR LED, Phototransistor, Amplifer IR LED và Phototransistor là 02 bộ phận dùng để truyền và nhận hồng ngoại và được đặt chệch gốc với nhau Khi có bụi bay vào, tia hồng ngoại từ IR LED sẽ bị dội vào Phototransistor, lúc này điện áp từ phototransistor sẽ được đưa đến mạch khuếch đại (Amplifier) và xuất ra chân Vo
2.2.1.3 Cảm biến cường độ ánh sáng BH1750
Trang 22Cảm biến BH1750 được sử dụng để đo cường độ ánh sáng, cảm biến có mạch chuyển đổi tương tự ra số nội và bộ tiền xử lý nên giá trị được trả ra là giá trị trực tiếp cường độ ánh sáng mà không phải qua bất kỳ xử lý Cảm biến BHT1750 được kết nối với
vi điều khiển thông qua giao tiếp I2C
Đơn vị cho số lượng ánh sáng chiếu từ một nguồn bất kỳ trong một giây là lumen Cảm biến ánh sáng sẽ đọc giá trị trong một giây trên 1 mét vuông Đơn vị là Lux viết tắt là
lx Lux = 1 Lm/m2
a) Thông số cơ bản của cảm biến
• Nguồn: 3 – 5VDC
• Giao tiếp: I2C
• Khoảng đo: 1 – 65535 lux
b) Sơ đồ nối chân và các chế độ đo
Hình 2-5 Sơ đồ chân kết nối của cảm biến BH1750
Bảng 2-3 Chân kết nối của cảm biến BH1750
ADDR = ‘H’ (ADDR > 0,7Vcc)
“1011100”
ADDR = ‘L’ ( ADDR < 0,3Vcc)
Trang 23“0100011”
Cảm biến BH1750 có 3 chế độ đo:
• H-Resolution với độ nhậy sáng 0.5 lux
• H-Resolution với độ nhậy sáng 1 lux
• L-Resolution với độ nhậy sáng 4 lux
2.2.2 Khối vi điều khiển
Arduino là một board mạch vi xử lý tích hợp, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8 bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau
Bảng 2-4 Một vài thông số lựa chọn Arduino trong các board Arduino phổ biến
Thông số kĩ thuật Arduino
Uno
Arduino Nano
Arduino Mega
nó không có khả năng tự ngắt nguồn như Uno Arduino Mega có giá thành hơi cao và có
Trang 24rất nhiều chân không cần thiết so với yêu cầu để tài
Bảng 2-5 Thông số Arduino Uno R3
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Cấu tạo chính của Arduino Uno R3 bao gồm các phần sau:
o Cổng USB: đây là loại cổng giao tiếp để ta nạp code từ PC lên vi điều khiển Đồng
thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính
o Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên hoặc một nguồn từ 9V đến 12V Với các chân điện như sau:
▪ GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau
Trang 25▪ 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
▪ 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
▪ Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO,nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
▪ IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này và nó luôn bằng 5V Mặc dù vậy không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
▪ RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Hình 2-6 Arduino Uno R3
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều
có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối) Một số chân digital có các chức năng đặc biệt như sau:
• Chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua
2 chân này Ví dụ kết nối Bluetooth chính là kết nối Serial không dây
Trang 26• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite()
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được sử dụng LED này sẽ sáng
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10 bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board ta
có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Nếu ta cấp điện áp 2.5V vào chân này thì ta có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL)
hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
2.2.3 Khối nhận tín hiệu
Đối với khối nhận tín hiệu ta sử dụng modul ESP8266-01, loại này có 02 phiên bản của đang lưu hành, trong đó phiên bản cũ (màu xanh) được loại bỏ, nó có bộ nhớ 512KB (2 phân vùng 256KB), phiên bản mới (màu đen) thường có tên "ai-cloud bên trong", phiên bản này có bộ nhớ 1MB (2 phân vùng 512KB)
Hình 2-7 Module ESP8266 V1
Trang 27Module ESP8266-01 hỗ trợ chuẩn giao tiếp UART, thích hợp giao tiếp với vi điều khiển
để truyền tải dữ liệu hay điều khiển các thiết bị thông qua WiFi Module ESP8266-01 có khả năng hoạt động độc lập với 02 chân I/O (cho phép module kết nối trực tiếp với cảm biến, thiết bị ngoại vi hoặc điều khiển máy chủ thông qua Wifi) và có khả năng lưu trữ với
bộ nhớ Flash 1MB Hai chân I/O cho mức điện áp ra tối đa 3.6V nên cần một bộ chuyển đổi mức điện áp đối với các thiết bị điện áp cao hơn như Arduino (5V)
ESP8266 sử dụng nguồn áp 3.3V nên cần dùng 1 mạch chuyển đổi điện áp 3.3V để module hoạt động Là một sự lựa chọn khá tốt khi làm dự án IoT với giá thành tương đối thấp
Trang 28Hình 2-8 Màn hình LCD 20x4
LCD 20X4 là loại LCD hiển thị được tất cả các kí tự trong bảng mã ASCII và 8 kí
tự đặc biệt do người dùng tạo ra, với khả năng hiển thị 4 dòng với 20 ký tự
Thông số kỹ thuật
• Điện áp hoạt động 4,5 đến 5,5 V
• Dòng tiêu thụ từ 2 dến 5mA
• IC chính SPLC780D-01
• Điện áp LCD nhận biết mức cao (VOH) 2,4 V
• Điện áp LCD nhận biết mức thấp (VOL) 0,4 V
• Nhiệt độ hoạt động -10 độ C đến 60 độ C
Bảng 2-6 Thông số kỹ thuật: Các chân của LCD
Thứ tự Tên chân Chức năng
RS = 0 Đưa LCD vào chế độ ghi lệnh
RS = 1 Đưa LCD vào chế độ ghi dữ liệu ( dữ liệu xuất lên màn hình)
Trang 292.2.4.2 Mạch chuyển đổi I2C cho LCD
LCD thường có nhiều chân nên khó khăn trong quá trình kết nối Thay vì sử dụng tối thiểu sáu chân của vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 và D4) thì với module chuyển đổi chỉ cần sử dụng hai chân (SCL, SDA) để kết nối Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver HD44780 kết nối với vi điều khiển thông qua giao tiếp I2C, tương thích với hầu hết các vi điều khiển
RW = 0 Vi điều khiển truyền dữ liệu vào LCD
RW = 1 Vi điều khiển đọc dữ liệu vào LCD
15 CATHODE Nguồn dương cấp cho led nền
Trang 30Hình 2-9 Module I2C chuyển đổi LCD
- Giao tiếp: I2C
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)
- Kích thước: 41.5mm (L) x 19mm (W) x 15.3mm (H)
- Trọng lượng: 5g
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
2.2.5 Các chuẩn giao tiếp
2.2.5.1 Chuẩn truyền giao tiếp nối tiếp 2 dây I2C
Chuẩn giao tiếp I2C được mô tả như hình bên dưới
Trang 31Hình 2-10 Kết nối các thiết bị theo chuẩn I2C
Một giao tiếp I2C gồm có 2 dây: SDA và SCL SDA là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ để đồng bộ và chỉ theo một hướng Theo hình vẽ trên, khi một thiết bị ngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL Mỗi dây SDA hãy SCL đều được nối với điện áp dương của nguồn cấp thông qua một điện trở kéo lên Sự cần thiết của các điện trở kéo này là vì chân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng
hở Giá trị của các điện trở này khác nhau tùy vào từng thiết bị và chuẩn giao tiếp
Nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ hay tớ
Trang 32- Một chủ một tớ
- Một chủ nhiều tớ
- Nhiều chủ nhiều tớ
▪ Thứ tự truyền bit lên đường truyền
Thiết bị chủ tạo một điều kiện bắt đầu Điều kiện này thông báo cho tất cả các thiết
bị tớ lắng nghe dữ liệu trên đường truyền Thiết bị chủ gửi địa chỉ của thiết bị tớ mà thiết
bị chủ muốn giao tiếp và cờ đọc/ghi dữ Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủ gửi sẻ phản hồi lại bằng một xung ACK Giao tiếp giữa thiết bị chủ và
tớ trên bus dữ liệu bắt đầu Cả chủ và tớ đều có thể nhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay viết Bộ truyền gửi 8 bit dữ liệu tới bộ nhận, bộ nhận trả lời với một bit ACK Để kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện kết thúc
▪ Điều kiện START và STOP
START và STOP là những điều kiện bắt buộc phải có khi một thiết bị chủ muốn thiết lập giao tiếp với một thiết bị nào đó trên bus I2C START là điều kiện khởi đầu, báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều ở mức cao Lúc này bus I2C được coi là rỗi, sẵn sàng cho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trong việc giao tiếp giữa các thiết bị I2C với nhau Sau khi có một điều kiện START, trong quá trình giao tiếp, khi có một tín hiệu START được lặp lại thay vì một tín hiệu STOP thì bus I2C vẫn tiếp tục trong trạng thái bận Tín hiệu START và lặp lại START đều có chức năng giống nhau là khởi tạo một giao tiếp
▪ Truyền dữ liệu:
Mỗi xung clock có một bit dữ liệu được truyền Mức tín hiệu SDA chỉ được thay đổi khi xung clock đang ở mức thấp, và ổn định khi xung clock ở mức cao Thiết bị tớ có thể lấy mẫu dữ liệu khi xung clock ở mức cao
2.2.5.2 Chuẩn truyền giao tiếp nối tiếp UART
Giao thức truyền nhận dữ liệu UART là giao thức truyền dữ liệu nối tiếp bất đồng
bộ Một gói truyền dữ liệu bao gồm bit Start, khung truyền dữ liệu, bit parity, bit Stop
Trang 33- Bit Start: giữ ở mức điện áp cao khi nó không truyền dữ liệu Để bắt đầu quá
trình truyền dữ liệu, UART truyền sẽ kéo bit này từ cao xuống thấp trong một chu kỳ xung nhịp Khi UART nhận phát hiện sự chuyển đổi điện áp cao sang thấp
- Khung dữ liệu: chứa dữ liệu được truyền, nó có thể dài từ 5 đến 8 bit nếu sử
dụng một bit parity Bit parity có tác dụng kiểm tra xem dữ liệu có bị thay đổi trong quá trình truyền không bằng cách là kiểm tra tổng số bit 1 là chẵn hay lẻ rồi so sánh với dữ liệu Nếu tổng số bit 1 là chẵn mà bit parity bằng 0 thì quá trình truyền không có lỗi và nếu bằng 1 thì đường truyền bị lỗi khiến dữ liệu bị thay đổi
- Bit Stop: để báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường
truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất hai bit
- Nguyên lý hoạt động: UART truyền sẽ nhận dữ liệu từ một bus dữ liệu Dữ liệu
được truyền từ bus dữ liệu sang UART truyền ở dạng song song rồi thêm bit start, bit parity
và bit stop để tạo gói dữ liệu Sau đó, gói dữ liệu được xuất ra dạng nối tiếp tuần tự ở chân
Tx rồi truyền qua chân Rx của UART nhận UART nhận đọc các gói dữ liệu nhận được rồi loại bỏ bit start, bit parity và bit stop Sau đó chuyển đổi dữ liệu trở lại dạng song song Cuối cùng UART nhận chuyển gói dữ liệu song song qua bus dữ liệu
2.2.5.3 Tập lệnh AT với ESP8266
Tập lệnh AT tập lệnh chuẩn được hỗ trợ cho các thiết bị di động như điện thoại di động, GSM modem mà có hỗ trợ gửi, nhận tin nhắn và điều khiển cuộc gọi Tập lệnh AT phục vụ cho các mục đích điều khiển khác nhau như: các cuộc gọi, truyền các file dữ liệu dưới dạng âm thanh, hình ảnh từ máy tính đến điện thoại di động, từ điện thoại di động đến điện thoại di động để tạo kỹ năng làm việc trong các hệ thống mạng viễn thông Khi ta muốn giao tiếp giữa vi điều khiển với ESP8266V1 theo chuẩn giao tiếp UART thì ta sẽ sử dụng tập lệnh AT
Các lệnh AT được sử dụng để giao tiếp giữa vi điều khiển và module ESP8266V1 gồm các lệnh cơ bản sau:
Bảng 2-7 Các lênh AT chung
Trang 34AT Kiểm tra lệnh, luôn trả về OK AT+RST Khởi động lại module
AT+GMR Truy vấn phiên bản Firmware
Bảng 2-8 Các lệnh AT cấu hình module WiFi
AT+CWMODE=<mode> Cài đặt chế độ 1= Station, 2= Access
Point, 3= Both;
AT+CWMODE? Truy vấn chế độ đã cài đặt
AT+CIPMUX=<mode> Cài đặt số lượng các kênh
kết nối
0= 1 kênh kết nối, 1=
nhiều kênh kết nối
AT+CIPMODE=<mode> Cài đặt chế độ dữ liệu 0= transparent, 1= Data
AT+CIPMODE? Truy vấn chế độ dữ liệu
cài đặt AT+CWMODE=? Truy vấn các chế độ có thể
cài đặt
Bảng 2-9 Các lệnh AT đối với module WiFi cấu hình là trạm/khách
AT+CWJAP=<mode>,<password> Kết nối với 1 mạng WiFi
AT+CWLAP Truy vấn các mạng WiFi có thể kết nối
AT+CWQAP Đóng kết nối WiFi với một Access Point
2.2.5.4 Giao thức TCP/IP
Giao thức TCP/IP là một tập hợp các giao thức điều khiển truyền thông giữa tất cả các máy tính trên Internet Giao thức này đưa ra cách thức đóng gói thông tin được gửi và nhận bởi các máy tính có kết nối với nhau
Giao thức TCP/IP là sự kết hợp của hai giao thức riêng biệt: Giao thức kiểm soát truyền tin (TCP) và giao thức Internet (IP) Giao thức Internet cho phép các gói được gửi qua mạng Nó cho biết các gói tin được gửi đi đâu và làm thế nào để đến đó Giao thức Internet có một phương thức cho phép bất kỳ máy tính nào trên Internet chuyển tiếp gói tin tới một máy tính khác thông qua một hoặc nhiều khoảng gần với người nhận gói tin Giao thức kiểm soát truyền tin kiểm tra các gói dữ liệu xem có lỗi không và gửi yêu cầu truyền lại nếu có lỗi được tìm thấy Các giao thức TCP/IP phổ biến: HTTP, HTTPS, FTP
Trang 36Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Để có kết quả đo chính xác bên cạnh sai số của cảm biến, chúng ta phải tính toán các
hệ số quy đổi cho phù hợp để dữ liệu đo về là chính xác nhất Với đề tài sử dụng khá nhiều các cảm biến, sai số càng nhỏ thì tính mạch bạch của đề tài càng cao
Từ các yêu cầu của đề tài thì sơ khối của hệ thống có thể hình dung như sau:
Hình 3 1 Sơ đồ khối hệ thống giám sát chỉ số môi trường Chức năng của từng khối:
• Khối cảm biến: có chức năng chuyền đổi giá trị cảm biến sang tín hiệu điện
• Khối điều khiển: xử lý tín hiệu từ khối cảm biến và truyền sang khối hiển thị
• Khối hiển thị: có chức năng hiển thị kết quả
• Khối giao tiếp: giao tiếp với máy tính thông qua Wifi
Trang 37• Khối nguồn: cung cấp nguồn cho toàn bộ mạch hoạt động
3.2.1 Tính toán và thiết kế mạch
3.2.1.1 Tính toán và thiết kế khối cảm biến
a) Tính toán khối cảm biến
▪ Cảm biến bụi
Theo datasheet, một lần đo của cảm biến sẽ mất khoảng 10ms để đo Trong 0,32ms IR LED sẽ được bật lên và chúng ta tiến hành đọc giá trị Tuy nhiên, chỉ được phép đọc giá trị sau 0.28ms, delay 0.28ms rồi tắt IR LED, delay 0.04ms Vậy còn 9,680ms thì cảm biến không làm gì nên ta chỉ cần delay 9.680ms
Nồng độ bụi trong không khí bằng quy đổi như sau: 0.1mg/m3 Nhưng khi sử dụng các
chân Analog của Arduino đọc thì điện áp sẽ được chuyển thành giá trị số (0 - 1023) Vì vậy chỉ cần tìm giá trị vôn của mỗi mức số bằng cách:
vpd = 𝑣𝑅𝑒𝑓
1024 (V) (3.1)
Trong đó:
vpd: giá trị điện áp tương ứng với 1 giá trị số (V)
vRef: giá trị điện áp cấp cho cảm biến (V)
Sau khi đã có vpd, ta chỉ cần nhân với giá trị ADC đọc từ chân Vo của cảm biến là có thể tính ra được điện áp Vậy là sau khi có điện áp, ta có thể dễ dàng tính ra được nồng bộ bụi trong không khí:
Matdobui = Vo∗vpd0,5 (mg/m3) (3.2)
Ví dụ: điên áp cấp cho cảm biến là 5V, giá trị ADC đọc về từ chân Vo là 5 Đầu tiên ta
tính vpd = 5/1024 = 4,8828x10−3 Vậy mật độ bụi Matdobui = (Vo*vpd)/0.5 = (5*4,8828x10−3)/0,5 = 0,05 mg/m3