Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của công nghệ hiện đại, việc tích hợp liên ngành giữa kỹ thuật cơ khí, điện tử và lập trình điều khiển nhúng đóng vai trò then chốt trong việc tạo ra các hệ thống thông minh ứng dụng vào thực tiễn sản xuất và đời sống. Trong các hệ thống điều khiển tự động, cảm biến là thành phần cơ bản thực hiện chức năng thu thập, chuyển đổi và giám sát các thông số vật lý của môi trường, hỗ trợ hệ thống đưa ra các quyết định điều khiển chính xác. Trong số các đại lượng vật lý cần quan trắc, nhiệt độ và độ ẩm là hai yếu tố có ảnh hưởng trực tiếp đến chất lượng sinh trưởng của cây trồng trong nông nghiệp công nghệ cao, môi trường bảo quản dược phẩm, thực phẩm trong kho bãi và điều kiện làm việc trong các nhà xưởng, phòng thí nghiệm.
Từ bối cảnh thực tiễn đó, tác giả Phạm Thị Nhung (sinh viên lớp DCL 2401, chuyên ngành Điện Tự động Công nghiệp, Trường Đại học Quản lý và Công nghệ Hải Phòng) đã thực hiện đề tài tốt nghiệp: "Đo, giám sát nhiệt độ và độ ẩm sử dụng Arduino kết nối qua mạng Internet", dưới sự hướng dẫn khoa học của TS. Đoàn Hữu Chức.
Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:
- Nghiên cứu tổng quan về mạng kết nối vạn vật (Internet of Things - IoT), công nghệ mạng không dây WiFi và các chuẩn truyền thông IEEE 802.11.
- Khảo sát nguyên lý hoạt động, cấu tạo và đặc tính kỹ thuật của các bộ vi điều khiển (Arduino Mega 2560, NodeMCU ESP8266) cùng các loại cảm biến môi trường (cảm biến nhiệt độ, cảm biến độ ẩm không khí DHT11, cảm biến độ ẩm đất và cảm biến nước mưa).
- Thiết kế sơ đồ nguyên lý phần cứng, kết nối các module cảm biến và màn hình hiển thị LCD với vi điều khiển.
- Xây dựng thuật toán và lập trình điều khiển thu thập dữ liệu đo, đồng thời truyền dữ liệu giám sát lên ứng dụng điện thoại thông minh qua nền tảng máy chủ đám mây Blynk.
- Kiểm thử mô hình thực nghiệm giám sát độ ẩm đất kết hợp điều khiển tự động thiết bị máy bơm nước tưới tiêu nông nghiệp.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các thông số môi trường (nhiệt độ không khí, độ ẩm không khí, độ ẩm của đất, trạng thái nước mưa); vi điều khiển Arduino Mega 2560, module WiFi SoC ESP8266 NodeMCU; cảm biến DHT11, cảm biến độ ẩm đất loại điện trở, cảm biến mưa dùng chip so sánh LM393; giao thức truyền thông mạng và dịch vụ máy chủ Blynk.
- Phạm vi không gian và ứng dụng: Mô hình hệ thống giám sát và điều khiển áp dụng trong quy mô phòng thí nghiệm và nhà vườn nông nghiệp công nghệ cao.
- Phạm vi thời gian: Đề tài được giao thực hiện từ ngày 04 tháng 4 năm 2022 và hoàn thành bảo vệ trước ngày 24 tháng 6 năm 2022.
Cơ sở lý thuyết và phương pháp nghiên cứu
Đề tài vận dụng khung lý thuyết về kiến trúc mạng Internet of Things gồm bốn tầng thành phần cơ bản:
- Tầng thiết bị (Device/Sensor): Thu thập dữ liệu vật lý từ môi trường thông qua các cảm biến chuyên dụng.
- Tầng kết nối mạng (Network Connectivity): Mạng cục bộ không dây (WLAN) dựa trên các tiêu chuẩn sóng vô tuyến IEEE 802.11 (hoạt động ở dải tần 2.4 GHz hoặc 5 GHz) để truyền gói tin giữa phần cứng nhúng và bộ định tuyến (router).
- Tầng nền tảng đám mây (IoT Platform/Cloud): Dịch vụ máy chủ lưu trữ trực tuyến (cụ thể là Blynk Server) đóng vai trò trung gian tiếp nhận dữ liệu từ phần cứng, xử lý và phân phối thông tin tới thiết bị đầu cuối.
- Tầng ứng dụng (Application Interface): Giao diện phần mềm trên hệ điều hành Android cho phép người dùng theo dõi biểu đồ dữ liệu và gửi lệnh điều khiển đảo chiều về phần cứng.
Cơ sở lý thuyết về cảm biến nhiệt độ và độ ẩm được tác giả phân loại theo nguyên lý vật lý:
- Cảm biến nhiệt độ: Dựa trên sự thay đổi điện trở kim loại theo nhiệt độ (RTD như Pt100, Pt1000, Cu50), sức điện động nhiệt điện tại mối hàn hai kim loại khác nhau (cặp nhiệt điện loại K, R, S), hoặc cảm biến bán dẫn. Mạch đo nhiệt độ được phân loại thành kết nối 2 dây, 3 dây và 4 dây tùy thuộc yêu cầu bù điện trở đường dây.
- Cảm biến độ ẩm: Được chia thành cảm biến độ ẩm điện trở (sử dụng màng polymer hoặc gốm hút hơi ẩm làm biến đổi trở kháng), cảm biến độ ẩm điện dung (sử dụng màng polymer có hằng số điện môi biến đổi tỷ lệ thuận với lượng hơi nước hấp thụ), và cảm biến độ dẫn nhiệt (sử dụng 2 nhiệt điện trở NTC so sánh giữa không khí ẩm và buồng nitơ khô kín).
Phương pháp nghiên cứu thực tế được thực hiện qua các bước:
- Phương pháp phân tích - tổng hợp tài liệu: Thu thập thông số kỹ thuật (datasheet) của linh kiện điện tử, sơ đồ chân vi điều khiển và các chuẩn kết nối WiFi.
- Phương pháp thiết kế mô hình hóa hệ thống: Sử dụng phần mềm Fritzing để lập sơ đồ kết nối chân, nguyên lý đấu nối giữa vi điều khiển, màn hình hiển thị LCD, module rơ-le và các cảm biến.
- Phương pháp thực nghiệm và lập trình nhúng: Biên dịch mã nguồn trên phần mềm Arduino IDE; thiết lập cơ chế đọc tín hiệu kỹ thuật số (Digital) và tương tự (Analog); cấu hình mã xác thực kết nối qua thư viện giao tiếp Blynk.
- Nguồn dữ liệu: Dữ liệu số đo nhiệt độ và độ ẩm môi trường từ cảm biến DHT11 (định dạng khung truyền 40-bit); dữ liệu mức logic và giá trị điện áp tương tự biến đổi theo hàm lượng nước trong đất (chuyển đổi ADC 10-bit với dải giá trị từ 0 đến 1023).
Thiết kế và triển khai hệ thống kỹ thuật
Hệ thống được thiết kế theo cấu trúc phần cứng và phần mềm nhúng hoàn chỉnh, phục vụ mục tiêu thu thập dữ liệu tại chỗ và giám sát từ xa qua Internet.
+-------------------------------------------------------------+
| KHỐI CẢM BIẾN MÔI TRƯỜNG |
| - Cảm biến nhiệt độ, độ ẩm không khí: DHT11 (1-Wire) |
| - Cảm biến độ ẩm đất: Đầu dò điện trở + Module xử lý LM393 |
| - Cảm biến nước mưa: Đệm niken ngoài trời + Module LM393 |
+------------------------------+------------------------------+
| Tín hiệu Digital / Analog
v
+-------------------------------------------------------------+
| KHỐI XỬ LÝ TRUNG TÂM |
| - Arduino Mega 2560 (ATmega2560, thạch anh 16 MHz) |
| - NodeMCU ESP8266 (ESP8266EX SoC, 2.4 GHz WiFi, CP2102) |
| - Cấp nguồn: 5VDC qua cổng MicroUSB hoặc Adapter rời |
+------------------------------+------------------------------+
|
+------------------+------------------+
| Giao tiếp GPIO | Sóng vô tuyến WiFi 802.11b/g/n
v v
+-----------------------+ +-----------------------+
| KHỐI HIỂN THỊ / TẢI | | NỀN TẢNG ĐÁM MÂY |
| - Màn hình LCD 16x2 | | - Máy chủ Blynk |
| - Còi báo Buzzer | +-----------+-----------+
| - Module Rơ-le | |
| - Tải: Máy bơm 220VAC | v
+-----------------------+ +-----------------------+
| ỨNG DỤNG ĐIỆN THOẠI |
| - Dashboard Android |
| - Giám sát & Điều |
| khiển từ xa |
+-----------------------+
Kiến trúc phần cứng
- Khối vi điều khiển xử lý và truyền thông:
- Arduino Mega 2560: Sử dụng vi điều khiển ATmega2560 với 54 chân kỹ thuật số (15 chân PWM), 16 chân ngõ vào tương tự (Analog), 4 cổng UART phần cứng, thạch anh 16 MHz, bộ nhớ Flash 256 KB, SRAM 8 KB, EEPROM 4 KB. Bo mạch sử dụng chip ATmega16U2 chuyển đổi tín hiệu USB sang giao tiếp nối tiếp để nạp chương trình.
- Kit phát triển NodeMCU ESP8266: Dựa trên vi mạch ESP8266EX (Espressif Systems), tích hợp bộ thu phát WiFi dải tần 2.4 GHz, chip nạp và giao tiếp UART CP2102. Bo mạch hoạt động ở mức logic 3.3VDC, nhận nguồn nuôi 5VDC qua cổng MicroUSB hoặc chân Vin, cung cấp các chân GPIO (D0 đến D8) và 1 chân ngõ vào tương tự A0.
- Khối cảm biến thu thập thông số:
- Module cảm biến DHT11: Tích hợp bộ cảm biến độ ẩm dạng điện trở và nhiệt điện trở NTC cùng bộ vi điều khiển 8-bit tiền xử lý dữ liệu. Giao tiếp qua chuẩn 1 dây (1-wire), khoảng cách truyền tối đa 20 mét.
- Cảm biến độ ẩm đất: Gồm đầu dò cắm trực tiếp vào đất và mạch so sánh điện áp tích hợp biến trở điều chỉnh độ nhạy, cung cấp ngõ ra số (D0) và ngõ ra tương tự (A0).
- Module cảm biến nước mưa: Gồm tấm đệm cảm biến kích thước 54 x 40 mm phủ niken lắp đặt ngoài trời và mạch PCB kích thước 30 x 16 mm dùng IC so sánh LM393, dòng tiêu thụ 15 mA, điện áp cấp từ 3.3V đến 5V.
- Khối hiển thị tại chỗ và chấp hành:
- Màn hình LCD kết nối với các chân vi điều khiển qua các chân RS, Enable, D4, D5, D6, D7; sử dụng biến trở để chỉnh độ tương phản.
- Module rơ-le kích ngõ ra ở mức thấp, kết nối đóng/ngắt nguồn điện lưới 220VAC cho máy bơm nước.
Kiến trúc phần mềm và truyền dữ liệu
Phần mềm điều khiển hệ thống được phát triển trên ngôn ngữ C/C++ trong môi trường Arduino IDE:
- Giao thức 1-wire của DHT11: Để khởi tạo giao tiếp, vi điều khiển kéo chân dữ liệu (DATA) xuống mức điện áp thấp trong thời gian tối thiểu 18 mili-giây, sau đó kéo lên mức cao. Cảm biến gửi xung phản hồi ở mức thấp trong 54 micro-giây rồi giữ ở mức cao 80 micro-giây trước khi truyền khung dữ liệu nối tiếp 40-bit (gồm 5 byte: 2 byte độ ẩm, 2 byte nhiệt độ và 1 byte kiểm tra checksum).
- Kết nối đám mây qua Blynk Server: Khởi tạo kết nối mạng không dây bằng hàm thư viện
ESP8266WiFi.h, nạp thông số cấu hình mạng bao gồm mã xác thực quyền người dùng (Auth Token), tên mạng WiFi (SSID) và mật khẩu truy cập.
- Xử lý thuật toán điều khiển tự động: Đọc giá trị điện áp tương tự từ cảm biến độ ẩm đất qua chân A0, chuyển đổi tín hiệu bằng hàm ánh xạ
map(gia_tri_adc, 0, 1023, 0, 100) sang thang phần trăm độ ẩm. Nếu độ ẩm đất thấp hơn ngưỡng định mức, vi điều khiển kích hoạt chân điều khiển D0 để bật máy bơm; khi độ ẩm đạt ngưỡng đủ nước, hệ thống phát tín hiệu dừng bơm. Đồng thời, toàn bộ dữ liệu độ ẩm được gửi định kỳ 1000 mili-giây lên máy chủ Blynk để hiển thị trên điện thoại.
Nội dung chính theo từng chương
Chương 1: Tổng quan về Internet of Thing
Chương 1 hệ thống hóa các khái niệm nền tảng về mạng kết nối vạn vật, các tiêu chuẩn truyền dẫn không dây và khảo sát phần cứng vi điều khiển được ứng dụng trong đề tài.
- Khái niệm và lịch sử IoT: Tác giả nêu lại mốc lịch sử năm 1982 tại Đại học Carnegie Mellon với cỗ máy bán nước giải khát Coke kết nối mạng đầu tiên, và thuật ngữ "Internet of Things" do Kevin Ashton đặt ra năm 1999. Các thành phần cốt lõi của một hệ thống IoT bao gồm thiết bị cảm biến, nền tảng điện toán đám mây (Cloud Platform), đường truyền Internet và ứng dụng giao diện người dùng.
- Các lĩnh vực ứng dụng của IoT: Phân tích ứng dụng trong Nhà thông minh (Smart Home), Giao thông thông minh (cảnh báo tắc đường, quản lý lịch trình vận tải), Y tế thông minh (theo dõi từ xa nhịp tim, huyết áp qua miếng dán sức khỏe), Nông nghiệp thông minh (mô hình nhà kính tự động hóa ánh sáng, nhiệt độ, tưới tiêu) và Thành phố thông minh (Smart City).
- Công nghệ mạng không dây WiFi và các chuẩn IEEE 802.11:
| Chuẩn WiFi |
Năm ban hành |
Băng tần hoạt động |
Tốc độ truyền tối đa |
Phạm vi phủ sóng |
Đặc điểm kỹ thuật chính |
| 802.11 gốc |
1997 |
2.4 GHz |
2 Mbps |
- |
Chuẩn mạng không dây đầu tiên của IEEE |
| 802.11b |
1999 |
2.4 GHz |
11 Mbps |
Tốt, giá thành thấp |
Dễ bị xuyên nhiễu bởi lò vi sóng, điện thoại không dây |
| 802.11a |
1999 |
5 GHz |
54 Mbps |
Hẹp (40 - 100 m) |
Khó xuyên tường, giá thành cao, dùng cho doanh nghiệp |
| 802.11g |
2003 |
2.4 GHz |
54 Mbps |
Khá tốt (80 - 200 m) |
Kết hợp ưu điểm giữa chuẩn a và b |
| 802.11n |
- |
2.4 GHz & 5 GHz |
600 Mbps |
Rộng (100 - 250 m) |
Sử dụng công nghệ đa ăng-ten MIMO |
| 802.11ac |
- |
5 GHz |
1730 Mbps |
- |
WiFi thế hệ thứ 5, tốc độ vượt trội, thiết bị giá cao |
- Phần cứng vi điều khiển và cảm biến nền tảng:
- Giới thiệu chi tiết thông số kỹ thuật bo mạch Arduino Mega 2560 (dòng tải tối đa 20 mA/chân I/O, bộ chuyển đổi ATmega16U2).
- Giới thiệu kit WiFi NodeMCU ESP8266: vi mạch tích hợp thu phát 2.4 GHz giá rẻ, hỗ trợ môi trường nạp lệnh Lua hoặc Arduino IDE.
- Phân tích chi tiết đặc tính module cảm biến nhiệt độ - độ ẩm DHT11: điện áp hoạt động từ 3.3V đến 5V, dòng tiêu thụ cực đại 2.5 mA, dải đo độ ẩm 20% - 90% RH (sai số ±5% RH), dải đo nhiệt độ 0°C - 50°C (sai số ±2°C), tần số lấy mẫu 1 Hz (1 lần/giây).
Chương 2: Giới thiệu các cảm biến
Chương 2 tập trung phân tích nguyên lý cấu tạo vật lý, cơ chế hoạt động và phân loại của từng nhóm cảm biến môi trường.
- Mạch giám sát kết hợp ESP8266 và ứng dụng di động: Giới thiệu tổng quan mạch đo giám sát gửi thông số lên máy chủ Blynk; ứng dụng Android thực hiện chức năng lưu trữ dữ liệu, hiển thị biểu đồ nhiệt độ, độ ẩm và giao diện điều khiển rơ-le 220VAC.
- Cảm biến nhiệt độ:
- Cấu tạo: Gồm đầu đo nối hai dây kim loại (đầu nóng và đầu lạnh), dây kết nối (loại 2 dây, 3 dây hoặc 4 dây), chất cách điện gốm ngừa đoản mạch, bột oxit nhôm (alumina) làm đầy chống rung chấn cơ học, vỏ kim loại bảo vệ và đầu kết nối chuyển đổi dòng 4-20mA.
- Nguyên lý: Dựa trên sự thay đổi điện trở kim loại theo nhiệt độ (tại 0°C điện trở đạt 100 Ω, tăng khi nhiệt độ tăng) hoặc sức điện động nhiệt điện phát sinh khi có chênh lệch nhiệt độ giữa hai đầu mối hàn kim loại.
- Phân loại: Cặp nhiệt điện (loại K, R, S dải đo nhiệt cao), nhiệt điện trở RTD (Pt100, Pt1000, Pt50, Cu50), điện trở oxit kim loại, cảm biến bán dẫn (Diode, IC) và nhiệt kế bức xạ.
- Cảm biến độ ẩm:
- Định nghĩa: Phân biệt độ ẩm tuyệt đối (lượng hơi nước trong một mét khối khí, đơn vị $g/m^3$) và độ ẩm tương đối (tỷ số giữa áp suất hơi nước hiện tại so với áp suất hơi nước bão hòa, tính bằng %).
- Nguyên lý 3 nhóm chính: Cảm biến điện trở (màng polymer/gốm thay đổi trở kháng khi hấp thụ ẩm); cảm biến điện dung (hằng số điện môi hơi nước xấp xỉ 80 làm tăng điện dung tụ điện màng mỏng polymer có hằng số 2-15); cảm biến dẫn nhiệt (tính chênh lệch trở kháng giữa 2 đầu đo NTC, một đầu đặt ngoài không khí ẩm và một đầu bọc kín trong khí nitơ khô).
- Lĩnh vực ứng dụng: Hệ thống sưởi thông gió điều hòa (HVAC), lồng ấp y tế trẻ sơ sinh, bảo tàng lưu trữ hiện vật, nhà máy chế biến thực phẩm, kiểm soát môi trường sản xuất vi mạch bán dẫn.
- Cảm biến nước mưa:
- Cấu tạo: Đệm cảm biến tấm niken ngoài trời và module vi mạch khuếch đại PCB tích hợp chip so sánh LM393, đèn LED báo trạng thái nguồn và ngõ ra, biến trở tinh chỉnh độ nhạy.
- Nguyên tắc vận hành: Khi không có mưa, bề mặt khô ráo có trở kháng rất cao, ngõ ra kỹ thuật số DO giữ ở mức cao (5V - 12V), đèn LED tắt. Khi có hạt mưa bám trên bề mặt đệm, nước làm giảm trở kháng giữa các đường niken, chân DO được kéo tụt về mức thấp (0V), đèn LED đỏ bật sáng, kích hoạt còi cảnh báo buzzer hoặc hiển thị thông báo lên màn hình LCD.
Chương 3: Giám sát độ ẩm nhiệt độ qua Internet
Chương 3 trình bày các phương án ghép nối mạch phần cứng, lưu đồ thuật toán và triển khai thực nghiệm hệ thống giám sát.
- Mạch đo nhiệt độ và độ ẩm không khí dùng DHT11:
- Thiết kế sơ đồ mạch trên phần mềm Fritzing: Chân VCC nối nguồn 5VDC, chân GND nối đất, chân DATA nối vào chân GPIO số 2 của bo mạch Arduino thông qua một điện trở kéo lên nguồn; các chân điều khiển màn hình LCD được đấu nối vào các chân 8, 9, 4, 5, 6, 7 của Arduino.
- Xây dựng lưu đồ thuật toán đọc dữ liệu định kỳ mỗi 1 giây; hiển thị các giá trị nhiệt độ (°C) và độ ẩm (% RH) lên màn hình tinh thể lỏng và cổng nối tiếp Serial.
- Mạch đo độ ẩm đất:
- Ứng dụng đầu dò đo lượng nước chứa trong đất nông nghiệp.
- Đấu nối tín hiệu cảm biến về chân kỹ thuật số số 13 của kit Arduino Mega 2560. Nguyên lý xử lý: khi đất đủ ẩm, điện áp ra giảm, tín hiệu DO trả về mức thấp (LOW); khi đất khô, điện áp ra tăng, tín hiệu DO chuyển lên mức cao (HIGH) cảnh báo đất thiếu nước cần tưới.
- Hệ thống giám sát độ ẩm đất và điều khiển bơm qua Internet:
- Sử dụng kit phát triển NodeMCU ESP8266 làm bộ điều khiển trung tâm kết nối trực tiếp với mạng WiFi.
- Đọc giá trị điện áp tương tự từ cảm biến độ ẩm đất qua chân A0 và chân kỹ thuật số D7; nạp mã xác thực kết nối vào mạng WiFi ("Cong Ty HTC") và gửi dữ liệu lên ứng dụng Blynk.
- Thuật toán tự động hóa: kiểm tra giá trị độ ẩm đất đo được so với ngưỡng cài đặt, tự động phát lệnh qua chân D0 để kích hoạt rơ-le bật máy bơm khi độ ẩm thấp, và ngắt máy bơm khi độ ẩm đất đã được cung cấp đầy đủ nước. Giao diện ứng dụng di động hiển thị tức thời các trạng thái "Khong du nuoc" / "Du nuoc" và cho phép người dùng giám sát từ xa.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Xây dựng hoàn chỉnh mạch phần cứng thu thập thông số môi trường:
- Hệ thống đo đạc thành công hai thông số nhiệt độ (dải đo từ 0°C đến 50°C, sai số ±2°C) và độ ẩm không khí (dải đo từ 20% đến 80%, sai số ±5% RH) qua cảm biến DHT11.
- Tích hợp thành công cảm biến độ ẩm đất với cơ chế đọc kép: tín hiệu số DO qua bộ so sánh LM393 và tín hiệu tương tự Analog chuyển đổi qua bộ ADC (dải số nguyên từ 0 đến 1023).
- Thiết lập mạch cảnh báo nước mưa sử dụng đệm cảm biến niken và bộ so sánh điện áp LM393, kích hoạt còi báo buzzer và xuất ký tự thông báo lên màn hình LCD.
- Triển khai thành công liên kết IoT qua nền tảng Blynk:
- Nạp chương trình điều khiển thành công cho module WiFi ESP8266 NodeMCU, duy trì kết nối ổn định với mạng không dây WiFi chuẩn 802.11 b/g/n băng tần 2.4 GHz.
- Thiết lập kênh truyền dữ liệu từ bo mạch nhúng lên máy chủ Blynk Server, đồng bộ hóa dữ liệu hiển thị về ứng dụng di động Android với chu kỳ cập nhật 1 giây/lần.
- Thực thi logic điều khiển tự động khép kín: kích hoạt rơ-le điều khiển máy bơm 220VAC khi đất thiếu nước và ngắt bơm khi đạt ngưỡng ẩm mong muốn.
Đóng góp thực tiễn của đề tài
- Chế tạo một mô hình thực nghiệm nhỏ gọn, vận hành ổn định với chi phí linh kiện thấp, phù hợp áp dụng vào các mô hình nhà vườn nông nghiệp vừa và nhỏ để tự động hóa khâu tưới tiêu.
- Cung cấp tài liệu thiết kế phần cứng và mã nguồn mẫu chi tiết (các phụ lục 1, 2, 3), hỗ trợ ứng dụng trực tiếp trong hoạt động đào tạo thực hành các phương pháp giáo dục kỹ thuật hiện đại như STEM và STEAM.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận
- Hệ thống phụ thuộc hoàn toàn vào vùng phủ sóng của mạng không dây WiFi (băng tần 2.4 GHz) và tốc độ truy cập đường truyền Internet; khi xảy ra mất mạng hoặc sóng yếu, quá trình giám sát từ xa qua máy chủ Blynk bị gián đoạn.
- Cảm biến độ ẩm đất và cảm biến mưa dạng tiếp xúc kim loại dễ bị ăn mòn điện hóa sau một thời gian ngâm trong môi trường đất ẩm hoặc nước mưa ngoài trời.
- Nguồn tài liệu tham khảo của đề tài chủ yếu khai thác từ các nguồn mở trên mạng Internet, chưa có sự so sánh đối chuẩn với các thiết bị đo kiểm công nghiệp chuyên dụng.
Hướng nghiên cứu mở rộng
- Nghiên cứu thay thế các cảm biến tiếp xúc bằng cảm biến độ ẩm đất dạng điện dung chống ăn mòn để tăng tuổi thọ làm việc trong môi trường đất khắc nghiệt.
- Bổ sung cơ chế lưu trữ dữ liệu ngoại tuyến (offline logging) qua thẻ nhớ SD hoặc bộ nhớ EEPROM nhằm duy trì lịch sử đo đạc khi mất kết nối mạng.
- Mở rộng giao thức truyền thông không dây năng lượng thấp và cự ly xa (như LoRa hoặc ZigBee) để ứng dụng trên các diện tích canh tác nông nghiệp quy mô lớn ngoài trời.
Giá trị tham khảo
Đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho:
- Sinh viên ngành Kỹ thuật: Sinh viên các chuyên ngành Điện Tự động công nghiệp, Kỹ thuật Điều khiển và Tự động hóa, Điện tử Viễn thông và Công nghệ Thông tin cần tài liệu tham khảo về cách tích hợp bo mạch Arduino/ESP8266 với các module cảm biến và dịch vụ đám mây Blynk.
- Nội dung kỹ thuật đáng giá: Quy trình giải mã giao thức 1-wire của cảm biến DHT11; phương pháp lập trình ánh xạ tín hiệu ADC trên ESP8266; sơ đồ đấu nối mạch nguyên lý trên phần mềm Fritzing và mã nguồn chương trình C/C++ hoàn chỉnh ở phần phụ lục.
Câu hỏi thường gặp
1. Giao thức truyền dữ liệu giữa cảm biến DHT11 và vi điều khiển hoạt động như thế nào?
DHT11 sử dụng giao tiếp kỹ thuật số 1 dây (1-wire). Để bắt đầu, vi điều khiển kéo chân dữ liệu xuống mức thấp tối thiểu 18 mili-giây rồi kéo lên mức cao. DHT11 phát xung phản hồi ở mức thấp trong 54 micro-giây và mức cao trong 80 micro-giây. Sau đó, cảm biến truyền liên tục 40-bit dữ liệu chia làm 5 byte (2 byte phần nguyên và phần thập phân của độ ẩm, 2 byte phần nguyên và phần thập phân của nhiệt độ, và 1 byte kiểm tra checksum).
2. Kit phát triển NodeMCU ESP8266 có những đặc tính kỹ thuật nào nổi bật?
Kit phát triển NodeMCU tích hợp vi mạch SoC WiFi ESP8266EX (Espressif Systems), chip nạp và giao tiếp UART CP2102. Bo mạch sử dụng mức điện áp giao tiếp 3.3VDC, nhận nguồn nuôi 5VDC qua cổng MicroUSB hoặc chân Vin, cung cấp 10 chân GPIO (từ D0 đến D8 hỗ trợ PWM, I2C, SPI, 1-Wire) và 1 ngõ vào tương tự ADC (chân A0).
3. Nguyên tắc nhận biết mưa của module cảm biến nước mưa dựa trên cơ chế nào?
Module sử dụng một đệm niken ngoài trời kết nối với IC so sánh LM393. Khi khô ráo, trở kháng giữa các đường dẫn kim loại rất cao, ngõ ra DO ở mức cao (5V - 12V). Khi có giọt nước rơi trên bề mặt, tính dẫn điện của nước làm giảm trở kháng, ngõ ra DO tụt xuống mức thấp (0V) làm sáng đèn LED đỏ và kích hoạt tín hiệu báo động ra còi hoặc màn hình LCD.
4. Thuật toán điều khiển máy bơm nước tự động theo độ ẩm đất được cài đặt ra sao?
Trên NodeMCU ESP8266, giá trị điện áp tương tự từ cảm biến độ ẩm đất được đọc qua chân A0 (dải giá trị 0 - 1023) và chuyển đổi sang tỷ lệ phần trăm độ ẩm bằng hàm map(gia_tri_adc, 0, 1023, 0, 100). Khi giá trị độ ẩm đất thấp hơn ngưỡng yêu cầu, chương trình kích hoạt chân D0 bật rơ-le cấp điện cho máy bơm nước. Khi đất đạt đủ độ ẩm, chương trình ngắt lệnh rơ-le để dừng máy bơm.
5. Kết nối giữa ESP8266 và ứng dụng Blynk được cấu hình bằng các tham số nào?
Trong mã nguồn nạp vào ESP8266, kết nối được thiết lập thông qua ba tham số chính: mã xác thực tài khoản (char auth[] = "TL7A7vnE5uz5Omo2uJhRExNWwMJf5St7"), tên mạng WiFi cục bộ (char ssid[] = "Cong Ty HTC") và mật khẩu mạng WiFi (char pass[] = "88888888").
Kết luận
Đồ án tốt nghiệp "Đo, giám sát nhiệt độ và độ ẩm sử dụng Arduino kết nối qua mạng Internet" của tác giả Phạm Thị Nhung đã thiết kế và tích hợp thành công hệ thống giám sát môi trường dựa trên sự kết hợp giữa kit điều khiển ESP8266 NodeMCU, Arduino và các cảm biến DHT11, cảm biến độ ẩm đất, cảm biến mưa. Nghiên cứu đã hoàn thiện mạch phần cứng, xây dựng thuật toán điều khiển và triển khai thành công giao thức giám sát, điều khiển máy bơm nước từ xa qua nền tảng điện toán đám mây Blynk trên điện thoại Android. Mô hình có cấu trúc gọn nhẹ, chi phí thấp, tính linh hoạt cao và đóng vai trò như một tài liệu thực nghiệm có giá trị cho các ứng dụng nông nghiệp công nghệ cao và hoạt động đào tạo kỹ thuật STEM/STEAM.