Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghiệp hóa, hiện đại hóa và sự phát triển mạnh mẽ của công nghệ mạng không dây (đặc biệt là kết nối Wi-Fi hoạt động trong phạm vi mạng cục bộ WLAN), việc theo dõi và giám sát các thông số môi trường đóng vai trò quan trọng trong sản xuất công nghiệp, nông nghiệp công nghệ cao và đời sống sinh hoạt. Xuất phát từ nhu cầu thu thập dữ liệu môi trường từ xa và hiển thị trực quan trên nhiều phương tiện, đề tài đồ án tốt nghiệp "Nghiên cứu một số cảm biến đo thông số môi trường và giám sát qua mạng internet" được sinh viên Phạm Ngọc Hiếu thực hiện dưới sự hướng dẫn của TS. Đoàn Hữu Chức tại Khoa Điện – Điện tử, Trường Đại học Quản lý và Công nghệ Hải Phòng (thực tập tại Công ty cổ phần bao bì Thuận Phát, Hải Phòng).
Mục tiêu nghiên cứu của đề tài bao gồm bốn nhiệm vụ trọng tâm:
- Tiếp nhận tín hiệu đo lường từ các module cảm biến môi trường.
- Thực hiện chức năng giám sát dữ liệu từ xa qua mạng Internet trên giao diện điện thoại thông minh hoặc máy tính cá nhân.
- Xuất và hiển thị trực tiếp các thông số đo đạc tại chỗ lên màn hình tinh thể lỏng (LCD).
- Xây dựng và thi công mô hình phần cứng hoàn chỉnh có khả năng ứng dụng thử nghiệm trên mô hình thu nhỏ hoặc tích hợp vào hệ thống nhà ở thực tế.
Nhiệm vụ thực hiện của đồ án được triển khai qua 7 nội dung công việc cụ thể:
- Nội dung 1: Nghiên cứu tài liệu kỹ thuật về bo mạch Arduino, kit NodeMCU ESP8266, các dòng cảm biến đo môi trường, giao thức truyền thông không dây và mạng Internet.
- Nội dung 2: Nghiên cứu các mô hình điều khiển và xử lý tín hiệu.
- Nội dung 3: Thiết kế sơ đồ nguyên lý và mạch phần cứng cho hệ thống.
- Nội dung 4: Thi công phần cứng, tiến hành đo kiểm, thử nghiệm và hiệu chỉnh mạch.
- Nội dung 5: Thử nghiệm toàn diện hệ thống, tối ưu hóa chương trình điều khiển và đánh giá sai lệch thông số của mô hình.
- Nội dung 6: Biên soạn báo cáo tổng kết đồ án tốt nghiệp.
- Nội dung 7: Bảo vệ đồ án trước Hội đồng chấm tốt nghiệp.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các linh kiện cảm biến đo thông số vật lý/môi trường (nhiệt độ, độ ẩm không khí, độ ẩm đất, hiện tượng mưa, khí gas dễ cháy), vi điều khiển ATmega328 (trên Arduino Uno R3), chip Wi-Fi ESP8266 (trên kit NodeMCU) và nền tảng máy chủ đám mây Blynk.
- Phạm vi nghiên cứu: Đồ án tập trung vào khối điều khiển trung tâm và xây dựng mô hình thu nhỏ; sử dụng các thư viện mã nguồn mở có sẵn để giao tiếp phần cứng và truyền dữ liệu qua Internet. Phạm vi ứng dụng hướng tới nhà ở thông minh, nhà xưởng sản xuất và nhà kính nông nghiệp.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và nguyên lý đo lường
Đồ án tổng hợp các nguyên lý vật lý và công thức giải tích dùng trong đo lường thông số môi trường:
- Đo nhiệt độ bằng nhiệt điện trở kim loại (RTD): Quan hệ phi tuyến giữa nhiệt độ $t$ và điện trở $R_t$ tuân theo phương trình:
$$R_t = R_0 (1 + \alpha t + \beta t^2 + \gamma t^3)$$
Trong điều kiện đo lường thông thường, các hệ số bậc cao $\beta, \gamma$ được bỏ qua để quy đổi về hàm tuyến tính. Kim loại Platin (Pt) có độ lặp lại cao, sai số ngẫu nhiên thấp ($0.01%$), độ trôi dạt nhỏ hơn $0.1^\circ\text{C}/\text{năm}$.
- Đo nhiệt độ bằng nhiệt điện trở bán dẫn (Thermistor): Được tạo từ hỗn hợp bột oxit kim loại ($\text{MgO}, \text{MgAl}_2\text{O}_4, \text{Mn}_2\text{O}_3, \text{Fe}_3\text{O}_4, \text{Co}_2\text{O}_3, \text{NiO}$) thiêu kết ở $1000^\circ\text{C}$. Hệ số nhiệt điện trở có giá trị âm với độ nhạy cao: $\alpha = -2.5% \div -4%$, biểu diễn qua hệ thức:
$$R_t = A \cdot e^{\frac{B}{T}}$$
- Đo nhiệt độ bằng cặp nhiệt điện (Thermocouple): Dựa trên hiệu ứng nhiệt điện sinh ra sức điện động:
$$E_t = K_T (t_n - t_{td})$$
(với $K_T$ là hệ số hiệu ứng nhiệt điện, $t_n$ là nhiệt độ đầu nóng, $t_{td}$ là nhiệt độ đầu tự do).
- Đo độ ẩm đất kiểu điện dung: Ứng dụng IC tạo xung NE555 với bản cực PCB đóng vai trò tụ điện. Tần số dao động tỉ lệ nghịch với điện dung theo công thức $f = \frac{1}{R \cdot C}$. Mật độ hơi nước cao làm tăng hằng số điện môi, làm giảm tần số ngõ ra; mạch lọc thông thấp chuyển đổi tần số này thành điện áp Analog tương ứng.
- Đo độ ẩm đất kiểu điện trở: Sử dụng hai cực kim loại cắm vào đất kết hợp IC so sánh LM393. Điện trở đất thay đổi theo độ ẩm; biến trở trên module dùng để phân áp định ngưỡng so sánh tạo tín hiệu số (Digital) 0V hoặc 5V.
- Cảm biến khí gas MQ2: Sử dụng màng bán dẫn thiêu kết $\text{SnO}_2$. Trong không khí sạch, độ dẫn điện thấp; khi tiếp xúc với các khí gây cháy (LPG, $\text{i-butan}$, Propan, Metan, Hydro, Cồn, Khói), độ dẫn điện tăng làm tăng điện áp ngõ ra Analog.
Phương pháp nghiên cứu
- Phương pháp thu thập và phân tích tài liệu kỹ thuật: Tổng hợp datasheet của các linh kiện bán dẫn, sơ đồ chân vi điều khiển và tập lệnh giao tiếp.
- Phương pháp phân tích - thiết kế kỹ thuật: Tính toán phối hợp trở kháng, thiết kế sơ đồ nối dây cho từng khối chức năng riêng biệt trước khi tích hợp vào bo mạch chính.
- Phương pháp thực nghiệm - kiểm thử: Lắp ráp mô hình thực tế, nạp firmware lập trình bằng ngôn ngữ C/C++ trên Arduino IDE, cấu hình Virtual Pin trên Blynk App và kiểm tra việc truyền nhận dữ liệu thời gian thực qua giao thức mạng.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc khối mô-đun hóa, gồm 4 phân hệ chính: khối cảm biến thu thập thông số, khối xử lý trung tâm, khối hiển thị tại chỗ và khối truyền thông đám mây.
[Khối Cảm Biến]
[Khối Xử Lý Trung Tâm: Arduino Uno R3 / ATmega328]
[Blynk Cloud Server]
(IP: cloud.vn, Port: 8443/8442)
[Ứng Dụng Di Động Blynk]
(Virtual Pins V0, V1, V2...)
1. Bảng cấu hình thông số các bo mạch vi xử lý
| Đặc tính kỹ thuật |
Bo mạch Arduino Uno R3 |
Bo mạch Arduino Mega 2560 |
Bo mạch NodeMCU ESP8266 |
| Vi điều khiển trung tâm |
ATmega328 (8-bit) |
AVR ATmega2560 (8-bit) |
ESP8266EX SoC (Wi-Fi 2.4GHz) |
| Điện áp hoạt động |
5V DC |
5V DC |
3.3V DC (Cấp nguồn 5V qua MicroUSB/Vin) |
| Điện áp vào khuyên dùng |
7 – 12V DC |
7 – 12V DC |
5V DC |
| Điện áp vào giới hạn |
6 – 20V DC |
6 – 20V DC |
3.3V – 5V DC |
| Tần số xung nhịp |
16 MHz |
16 MHz |
80 MHz / 160 MHz |
| Số chân Digital I/O |
14 (6 chân hỗ trợ PWM) |
54 (12 chân PWM) |
9 chân GPIO (D0 – D8, hỗ trợ PWM, SPI, I2C) |
| Số chân Analog Input |
6 (Độ phân giải 10-bit) |
16 (Độ phân giải 10-bit) |
1 (Chân A0, ADC 10-bit) |
| Dung lượng Flash Memory |
32 KB |
128 KB |
4 MB (trên module ESP-12) |
| Dung lượng SRAM |
2 KB |
8 KB |
~64 KB Instruction, ~96 KB Data |
| Dung lượng EEPROM |
1 KB |
4 KB |
Giả lập trên Flash |
| Chip nạp và giao tiếp USB |
ATmega16U2 |
ATmega16U2 |
CP2102 (UART sang USB) |
2. Sơ đồ đấu nối chân phần cứng của các hệ thống con
Hệ thống giảm thiểu số lượng đường dây tín hiệu kéo đến màn hình LCD 16×2 từ 8 đường song song thông thường xuống còn 2 đường tín hiệu nối tiếp nhờ mạch chuyển đổi giao tiếp $I^2C$ (sử dụng chân A4 làm SDA, A5 làm SCL).
| Hệ thống con |
Tên linh kiện |
Chân linh kiện |
Chân kết nối trên Arduino Uno R3 |
Ghi chú mức điện áp / Giao thức |
| Đo nhiệt độ, độ ẩm khí |
Cảm biến DHT11 |
VCC, GND, DATA |
5V, GND, Chân Digital 7 |
Chuẩn 1-Wire Digital TTL |
| Đo độ ẩm đất |
Module độ ẩm đất |
VCC, GND, A0 |
5V, GND, Chân Analog A0 |
Điện áp Analog (0V đến 3.0V / 5.0V) |
| Hệ thống cảnh báo mưa |
Cảm biến giọt nước mưa |
VCC, GND, D0 |
5V, GND, Chân Digital 6 |
Ngõ ra Digital 0/1 qua IC so sánh LM393 |
| Khối hiển thị tại chỗ |
Màn hình LCD 16×2 |
VCC, GND, SDA, SCL |
5V, GND, Chân A4 (SDA), Chân A5 (SCL) |
Giao tiếp $I^2C$ (Điện áp 2.5V – 6V) |
3. Cấu hình phần mềm và giao tiếp nền tảng Blynk IoT
- Giao thức và định danh: Quá trình kết nối giữa phần cứng NodeMCU ESP8266 và máy chủ Blynk được xác thực thông qua chuỗi khóa
Auth Token gồm 32 ký tự hệ Hex (gửi trực tiếp về hộp thư điện tử của người quản trị dự án).
- Thiết lập kết nối máy chủ: Cấu hình trạm máy chủ trung gian qua địa chỉ máy chủ nội địa với thông số
IP: cloud.vn tại cổng dịch vụ Port: 8443 (hoặc 8442).
- Cơ chế chân ảo (Virtual Pins): Dữ liệu không ghi đè trực tiếp lên chân vật lý mà truyền qua chân ảo ($V_0, V_1, V_2\dots$) nhằm tạo khả năng xử lý linh hoạt và ngăn chặn hiện tượng nghẽn mạng (
Flood Error) bằng cách sử dụng bộ định thời BlynkTimer.
- Luồng điều khiển logic:
- Khởi tạo: Gọi hàm
setup() thiết lập tốc độ Baud truyền thông nối tiếp, cấu hình chân I/O và kết nối mạng không dây qua Blynk.begin(auth, ssid, pass).
- Vòng lặp: Hàm
loop() thực hiện kiểm tra chu kỳ đọc cảm biến, cập nhật giá trị đến bộ điều khiển trung tâm và đẩy dữ liệu lên ứng dụng di động qua lệnh Blynk.virtualWrite().
Nội dung chính theo từng chương
Chương 1. Nghiên cứu một số cảm biến đo các thông số của môi trường
Chương 1 đi sâu vào phân tích nguyên lý hoạt động, cấu tạo vật lý, giải thuật chuyển đổi tín hiệu và thông số kỹ thuật của các dòng cảm biến môi trường thông dụng:
- Cảm biến đo nhiệt độ: Tác giả phân loại và so sánh 3 phương pháp chính:
- Nhiệt điện trở kim loại (RTD Pt, Cu, Ni): Đặc tính tuyến tính cao, độ ổn định lâu dài tốt, tín hiệu điện áp ra lớn hơn cặp nhiệt điện nhưng giá thành cao và kích thước tương đối lớn.
- Nhiệt điện trở bán dẫn (Thermistor): Kích thước nhỏ, độ nhạy vượt trội gấp 6 – 10 lần kim loại nhưng quan hệ điện trở - nhiệt độ có tính phi tuyến mạnh, đòi hỏi mạch bù nhiệt và hiệu chỉnh phi tuyến.
- Cặp nhiệt điện (Thermocouple): Hoạt động dựa trên sức điện động nhiệt điện $E_t$, phù hợp cho dải đo rộng nhưng yêu cầu xử lý tuyến tính hóa từng đoạn.
- Cảm biến đo độ ẩm đất: Phân tích sự khác biệt giữa hai giải pháp:
- Cảm biến kiểu điện dung: Khắc phục nhược điểm bị ăn mòn điện hóa của loại điện trở, hoạt động ở điện áp $3.5\text{V}$, dải điện áp ngõ ra $0 \sim 3.0\text{V}$, tích hợp mạch định thời NE555 với độ biến thiên điện dung $0.2 \div 0.5\text{pF}$ cho mỗi $1%\text{ RH}$.
- Cảm biến kiểu điện trở: Sử dụng hai đầu dò tiếp xúc cắm trực tiếp vào đất, phối hợp IC LM393 để xuất tín hiệu kép Analog ($A_0$) và Digital ($D_0$).
- Cảm biến nhiệt độ và độ ẩm không khí DHT11: Sử dụng cảm biến độ ẩm kiểu điện trở kết hợp nhiệt điện trở NTC và bộ vi điều khiển 8-bit tiền xử lý. Thiết bị hỗ trợ chuẩn truyền thông số 1-wire, điện áp $3.3 \div 5\text{V}$, khoảng cách truyền dẫn tối đa $20\text{m}$, dòng tiêu thụ đỉnh $2.5\text{mA}$, tần số lấy mẫu $1\text{Hz}$, dải nhiệt độ $0 \div 50^\circ\text{C}$ ($\pm 2^\circ\text{C}$) và dải độ ẩm $20 \div 90%\text{ RH}$ ($\pm 5%\text{ RH}$).
- Cảm biến phát hiện mưa: Module bao gồm tấm mạch in phủ kim loại ngoài trời kết hợp mạch so áp LM393/LM358, cung cấp ngõ ra TTL dòng $100\text{mA}$, điện áp hoạt động $5\text{V}$, có đèn LED hiển thị trạng thái nguồn và cảnh báo mưa.
- Cảm biến phát hiện khí gas MQ2: Sử dụng màng bán dẫn $\text{SnO}_2$, dòng tiêu thụ $150\text{mA}$ ở điện áp $5\text{V DC}$, có độ nhạy phản hồi tốt với các khí dễ cháy như LPG, $\text{i-butan}$, Propan, Metan, Hydro và khói.
Chương 2. Tìm hiểu về Arduino
Chương 2 trình bày tổng quan về nền tảng phần cứng và môi trường phát triển mã nguồn mở Arduino:
- Lịch sử và kiến trúc nền tảng: Giới thiệu nguồn gốc ra đời của dự án Arduino từ năm 2005 tại Viện Thiết kế Tương tác Ivrea (Italy) bởi Massimo Banzi và cộng sự, phát triển dựa trên nền tảng Wiring của Hernando Barragan.
- Khảo sát chi tiết bo mạch Arduino Uno R3: Trình bày chức năng các khối linh kiện phần cứng gồm chip vi điều khiển chính ATmega328, chip nạp ATmega16U2 giao tiếp qua cổng COM ảo, hệ thống 14 chân Digital, 6 chân Analog, nút Reset, hệ thống chân cấp nguồn ($5\text{V}, 3.3\text{V}, \text{GND}, \text{Vin}$) và các LED chỉ thị trạng thái (ON, Tx, Rx, L - chân 13).
- Khảo sát bo mạch mở rộng Arduino Mega 2560: Đánh giá cấu trúc phần cứng nâng cao với vi điều khiển AVR ATmega2560, sở hữu 54 chân Digital I/O (12 chân PWM), 16 ngõ vào Analog, 4 cổng USART phần cứng và bộ nhớ Flash lên đến $128\text{ KB}$.
- Môi trường lập trình tích hợp Arduino IDE: Mô tả cấu trúc công cụ biên dịch đa nền tảng dựa trên Java, hỗ trợ ngôn ngữ C/C++ với cơ chế thực thi vòng lặp bắt buộc thông qua hai khối hàm cơ sở
setup() (chạy khởi tạo một lần duy nhất khi bật nguồn/reset) và loop() (lặp vô hạn chu kỳ hoạt động).
- Module truyền thông không dây ESP8266 / NodeMCU: Giới thiệu vi mạch Wi-Fi SoC 2.4GHz do Espressif Systems phát triển. Phân tích kit NodeMCU tích hợp module ESP-12, chip nạp CP2102, bộ nhớ Flash SPI và các chân GPIO giao tiếp mức logic $3.3\text{V DC}$.
Chương 3. Thiết kế hệ thống
Chương 3 tập trung hiện thực hóa các mạch ghép nối phần cứng và xây dựng lưu đồ giải thuật điều khiển:
- Thiết kế khối đo nhiệt độ, độ ẩm không khí: Kết nối cảm biến DHT11 và màn hình LCD 16×2 thông qua module chuyển đổi giao tiếp $I^2C$ (PC8574), giúp tối ưu hóa tài nguyên phần cứng của Arduino Uno R3.
- Thiết kế khối đo độ ẩm đất: Đấu nối mạch cảm biến điện trở với chân $A_0$ của Arduino, thực hiện chuyển đổi tín hiệu tương tự sang số (ADC 10-bit) để hiển thị thông số độ ẩm lên màn hình.
- Thiết kế khối cảnh báo mưa: Đấu nối chân tín hiệu số $D_0$ của cảm biến mưa vào chân Digital 6 của vi điều khiển, thiết lập ngưỡng đóng cắt qua biến trở và hiển thị thông báo trạng thái có mưa/không mưa lên LCD.
- Xây dựng giải thuật điều khiển chung: Lưu đồ chương trình vận hành theo trình tự khép kín: Khởi động hệ thống $\rightarrow$ Cấp nguồn cho cảm biến và màn hình $\rightarrow$ Vi điều khiển đọc dữ liệu từ các chân I/O $\rightarrow$ Kiểm tra tính hợp lệ của tín hiệu $\rightarrow$ Xuất thông số hiển thị lên màn hình LCD $\rightarrow$ Đóng gói và đẩy dữ liệu lên dịch vụ Internet.
- Đưa dữ liệu lên Internet qua nền tảng Blynk: Hướng dẫn các bước thiết lập dự án trên ứng dụng di động Blynk, cài đặt thư viện phần mềm trên Arduino IDE, gán chuỗi
Auth Token, tạo các tiện ích (Widget) điều khiển, phân bổ chân ảo (Virtual Pin) và thiết lập cơ chế đồng bộ dữ liệu thời gian thực giữa bo mạch NodeMCU ESP8266 và thiết bị di động.
Kết quả và đóng góp
Kết quả đạt được
- Về mặt phần cứng: Chế tạo thành công mô hình mạch nhúng tích hợp hoàn chỉnh các khối chức năng: khối nguồn, khối vi điều khiển Arduino Uno R3, khối truyền thông Wi-Fi NodeMCU ESP8266, khối hiển thị LCD 16×2 qua giao tiếp $I^2C$ và cụm 4 cảm biến môi trường (DHT11, cảm biến độ ẩm đất, cảm biến mưa, cảm biến khí gas MQ2).
- Về mặt phần mềm và truyền thông:
- Lập trình firmware điều khiển trên Arduino IDE, tiếp nhận và xử lý tín hiệu ổn định từ các cảm biến số và tương tự.
- Kết nối thành công với máy chủ đám mây Blynk qua địa chỉ
cloud.vn tại cổng 8443/8442, tạo giao diện hiển thị thông số trực quan trên điện thoại thông minh (iOS/Android) thông qua cơ chế Virtual Pin.
- Khả năng vận hành: Hệ thống thực hiện giám sát liên tục các thông số nhiệt độ, độ ẩm không khí, độ ẩm đất, phát hiện nồng độ khí gas gây cháy và cảnh báo trạng thái mưa với độ trễ thấp, hiển thị đồng thời tại chỗ qua LCD và từ xa qua Internet.
Đóng góp kỹ thuật của đồ án
- Hệ thống hóa chi tiết cơ sở lý thuyết, công thức toán học và thông số vận hành của các loại cảm biến đo môi trường thông dụng trong công nghiệp và dân dụng.
- Đưa ra giải pháp thiết kế tối ưu chân I/O trên vi điều khiển bằng cách tích hợp module $I^2C$ cho màn hình LCD và phân bổ hợp lý các chân giao tiếp 1-Wire, ADC và Digital.
- Xây dựng mô hình nhúng IoT chi phí thấp, linh kiện phổ biến, dễ thi công, có khả năng mở rộng để ứng dụng vào các mô hình nhà ở thông minh (Smart Home) hoặc nhà kính nông nghiệp.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
- Hệ thống mới dừng lại ở quy mô mô hình thử nghiệm thu nhỏ trong phòng thí nghiệm, chưa được đóng gói hoàn chỉnh theo tiêu chuẩn công nghiệp để hoạt động trong các môi trường khắc nghiệt hoặc chịu rung động mạnh.
- Cảm biến DHT11 có dải đo và độ chính xác ở mức cơ bản (sai số nhiệt độ $\pm 2^\circ\text{C}$, sai số độ ẩm $\pm 5%\text{ RH}$, tần số lấy mẫu giới hạn ở $1\text{Hz}$).
- Cảm biến độ ẩm đất kiểu điện trở dễ bị oxy hóa bề mặt sau thời gian dài tiếp xúc với môi trường đất ẩm.
- Nền tảng Blynk phiên bản miễn phí bị giới hạn mức tài nguyên năng lượng (Energy) khi tạo nhiều Widget phức tạp trên cùng một giao diện điều khiển.
Hướng nghiên cứu tiếp
- Nâng cấp sử dụng các module cảm biến công nghiệp có độ bền và độ chính xác cao hơn (như cảm biến độ ẩm đất kiểu điện dung chống ăn mòn, cảm biến nhiệt độ - độ ẩm SHT hoặc DS18B20).
- Tích hợp thêm các cơ cấu chấp hành tự động (mô-tơ kéo rèm che khi trời mưa, hệ thống bơm nước tự động khi đất thiếu ẩm, quạt thông gió tự động ngắt khi phát hiện rò rỉ khí gas).
- Mở rộng phạm vi triển khai và lắp đặt thử nghiệm trên các hệ thống thực tế như nhà kính nông nghiệp quy mô lớn hoặc nhà xưởng công nghiệp.
Giá trị tham khảo
Bản thuyết minh đồ án là tài liệu tham khảo hữu ích cho:
- Sinh viên ngành Kỹ thuật điều khiển & Tự động hóa, Điện tử viễn thông, Công nghệ thông tin: Sinh viên làm đồ án môn học, đồ án tốt nghiệp về hệ thống nhúng, IoT hoặc vi điều khiển Arduino/ESP8266.
- Kỹ sư và người nghiên cứu hệ thống IoT cơ bản: Tham khảo cách thức ghép nối phần cứng qua các chuẩn giao tiếp $I^2C$, 1-Wire, Analog/Digital và quy trình cấu hình nền tảng đám mây Blynk.
- Nội dung đáng tham khảo nhất: Bảng sơ đồ nối chân chi tiết cho từng khối cảm biến (Chương 3) và phần tổng hợp lý thuyết chuyển đổi đại lượng vật lý của các cảm biến đo lường (Chương 1).
Câu hỏi thường gặp
1. Hệ thống sử dụng những loại cảm biến nào để thu thập dữ liệu môi trường?
Hệ thống tích hợp 4 loại cảm biến chính:
- Cảm biến DHT11 (đo nhiệt độ từ $0 \div 50^\circ\text{C}$ và độ ẩm không khí từ $20 \div 90%\text{ RH}$).
- Cảm biến độ ẩm đất kiểu điện trở (sử dụng IC so sánh LM393 xuất tín hiệu Analog/Digital).
- Cảm biến phát hiện mưa (sử dụng mạch so áp LM393/LM358 xuất tín hiệu cảnh báo mức 0/1).
- Cảm biến khí gas MQ2 (phát hiện khói, LPG, Propan, Metan, Hydro thông qua cảm biến bán dẫn $\text{SnO}_2$).
2. Sự khác biệt cơ bản giữa cảm biến độ ẩm đất kiểu điện dung và kiểu điện trở trong đồ án là gì?
- Cảm biến kiểu điện trở: Hoạt động dựa trên sự thay đổi điện trở của đất giữa 2 đầu đo kim loại; nhược điểm là các cực kim loại dễ bị ăn mòn điện hóa theo thời gian.
- Cảm biến kiểu điện dung: Đo sự thay đổi hằng số điện môi của môi trường xung quanh hai bản cực PCB thông qua mạch tạo dao động NE555 ($f = \frac{1}{R \cdot C}$); ưu điểm là không để lộ kim loại tiếp xúc trực tiếp với đất, giúp tuổi thọ và độ bền cao hơn nhiều so với loại điện trở.
3. Tại sao hệ thống cần sử dụng module chuyển đổi giao tiếp I2C cho màn hình LCD 16×2?
Màn hình LCD 16×2 thông thường cần sử dụng từ 6 đến 8 chân tín hiệu Digital của Arduino để điều khiển các đường dữ liệu ($DB_0 \div DB_7$) và các chân điều khiển ($RS, RW, E$). Việc tích hợp module $I^2C$ giúp rút gọn số lượng dây kết nối xuống chỉ còn 2 dây tín hiệu ($SDA$ nối chân A4, $SCL$ nối chân A5), giúp tiết kiệm tài nguyên chân I/O cho vi điều khiển để phục vụ kết nối các cảm biến khác.
4. Dữ liệu từ vi điều khiển được đẩy lên ứng dụng Blynk thông qua cơ chế nào để tránh lỗi nghẽn mạng?
Dữ liệu từ phần cứng được truyền qua các chân ảo (Virtual Pins như $V_0, V_1, V_2\dots$) thay vì ghi trực tiếp vào các chân GPIO vật lý. Để ngăn ngừa lỗi ngắt kết nối do gửi dữ liệu quá tải (Flood Error), hệ thống sử dụng bộ định thời BlynkTimer để thiết lập chu kỳ gửi dữ liệu định kỳ lên máy chủ Blynk.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu một số cảm biến đo thông số môi trường và giám sát qua mạng internet" của tác giả Phạm Ngọc Hiếu đã hoàn thành đầy đủ các mục tiêu thiết kế phần cứng và lập trình hệ thống nhúng giám sát môi trường. Bằng việc kết hợp bo mạch vi điều khiển Arduino Uno R3, kit truyền thông NodeMCU ESP8266 cùng các module cảm biến nhiệt độ, độ ẩm, mưa và khí gas, hệ thống đã thu thập và hiển thị chính xác các thông số môi trường tại chỗ trên màn hình LCD và giám sát từ xa qua nền tảng đám mây Blynk. Kết quả nghiên cứu là tài liệu tham khảo có tính ứng dụng thực tiễn cao, đóng vai trò nền tảng để phát triển các giải pháp tự động hóa toàn diện trong nhà thông minh và nông nghiệp công nghệ cao.