Giới thiệu dự án

Trong kỷ nguyên Cách mạng Công nghiệp 4.0, sự phát triển của Internet of Things (IoT) đã làm thay đổi căn bản phương thức thu thập dữ liệu và vận hành hệ thống trong nhiều lĩnh vực: từ nông nghiệp công nghệ cao, quản lý đô thị thông minh (Smart City) đến tự động hóa tòa nhà (Smart Home). Theo các báo cáo thống kê ngành công nghệ tự động hóa, việc giám sát vi khí hậu (nhiệt độ, độ ẩm không khí và độ ẩm đất) đóng vai trò sống còn trong việc giảm thiểu 30-40% lượng nước tiêu thụ và gia tăng 15-25% năng suất cây trồng trong các mô hình nhà màng, nhà kính.

Đề tài "Đo, giám sát nhiệt độ và độ ẩm sử dụng Arduino kết nối qua mạng Internet" do sinh viên Phạm Thị Nhung thực hiện (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, dưới sự hướng dẫn của TS. Đoàn Hữu Chức) tập trung giải quyết bài toán giám sát môi trường tự động, liên tục và điều khiển thiết bị truyền động từ xa qua đám mây với chi phí tối ưu.

+-----------------------------------------------------------------------------+
|                             BÀI TOÁN & THỰC TRẠNG                           |
|  - Giám sát thủ công tốn nhân lực, độ trễ cao, thiếu tính liên tục          |
|  - Hệ thống SCADA/PLC công nghiệp có chi phí đầu tư và bảo trì quá đắt đỏ   |
|  - Rào cản mở rộng hạ tầng mạng không dây tại các vùng sản xuất nông nghiệp |
+-----------------------------------------------------------------------------+
                                       │
                                       ▼
+-----------------------------------------------------------------------------+
|                              GIẢI PHÁP ĐỀ TÀI                               |
|  - Phần cứng: ESP8266 NodeMCU SoC + Arduino Mega 2560                       |
|  - Cảm biến: DHT11 (Nhiệt độ/Độ ẩm khí), Cảm biến độ ẩm đất, Cảm biến mưa   |
|  - Giao thức & Nền tảng: Chuẩn Wi-Fi 802.11 b/g/n + Blynk Cloud Platform    |
|  - Tự động hóa: Kích hoạt rơ le bơm tưới tự động dựa trên ngưỡng độ ẩm đất  |
+-----------------------------------------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Các phương pháp đo đạc truyền thống phụ thuộc vào thao tác thủ công, sử dụng nhiệt kế thủy ngân hoặc ẩm kế cơ học, bộc lộ nhiều hạn chế nghiêm trọng:

  • Độ trễ thông tin cao: Không ghi nhận được các biến thiên môi trường tức thời, dẫn đến phản ứng chậm trễ khi nhiệt độ tăng cao hoặc độ ẩm giảm sâu.
  • Chi phí triển khai lớn: Các giải pháp công nghiệp dùng PLC/SCADA chuyên dụng đòi hỏi chi phí đầu tư ban đầu cao, cấu hình phức tạp, không phù hợp cho các hộ nông nghiệp quy mô vừa và nhỏ.
  • Giới hạn khoảng cách: Hệ thống đo đạc cục bộ thiếu tính năng truyền dẫn từ xa, buộc người vận hành phải có mặt trực tiếp tại hiện trường.

Mục tiêu dự án

  1. Nghiên cứu nguyên lý hoạt động của các cảm biến môi trường: cảm biến số DHT11, cảm biến điện trở/điện dung đo độ ẩm đất, và cảm biến nước mưa tích hợp mạch so sánh LM393.
  2. Thiết kế khối xử lý và truyền thông: Tích hợp vi điều khiển Arduino Mega 2560 và module SoC Wi-Fi ESP8266 NodeMCU (ESP-12E) để xử lý tín hiệu ADC và truyền dữ liệu không dây qua chuẩn IEEE 802.11 b/g/n (2.4 GHz).
  3. Phát triển giao diện điều khiển và giám sát: Xây dựng ứng dụng di động trên nền tảng Blynk IoT Server, cho phép hiển thị đồ thị thời gian thực và điều khiển rơ-le kích hoạt máy bơm nước tự động/thủ công.
  4. Đánh giá độ tin cậy và khả năng ứng dụng: Thử nghiệm mạch đo thực tế, kiểm tra độ chính xác, độ trễ truyền gói tin và khả năng phản hồi của hệ thống.

Kết quả đầu ra kỳ vọng

  • Hệ thống hoạt động liên tục 24/7 với sai số đo nhiệt độ $\pm 2^\circ\text{C}$, độ ẩm không khí $\pm 5%\text{ RH}$, độ ẩm đất thu thập qua bộ chuyển đổi ADC 10-bit ($0 - 1023$).
  • Thời gian cập nhật dữ liệu lên Cloud: chu kỳ $1000\text{ ms}$ ($1\text{ Hz}$).
  • Thời gian trễ đáp ứng lệnh điều khiển từ xa qua mạng Wi-Fi/4G: $< 500\text{ ms}$.

Phạm vi và giới hạn

  • Phạm vi: Giám sát vi khí hậu trong nhà kính, phòng thí nghiệm hoặc hộ gia đình; tự động đóng ngắt tải điện xoay chiều ($220\text{VAC}$) qua rơ-le kích mức thấp.
  • Giới hạn: Phụ thuộc vào vùng phủ sóng Wi-Fi $2.4\text{ GHz}$; cảm biến DHT11 bị giới hạn dải đo ($0 - 50^\circ\text{C}$ và $20 - 90%\text{ RH}$); đầu dò độ ẩm đất dạng điện trở kim loại dễ bị oxy hóa/ăn mòn điện phân sau thời gian dài ngâm trong môi trường ẩm.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

+-------------------+-----------------------------------+-----------------------------------+
| Tiêu chí          | Hệ thống SCADA / PLC truyền thống | Hệ thống IoT ESP8266 + Blynk      |
+-------------------+-----------------------------------+-----------------------------------+
| Chi phí phần cứng | Rất cao (> 10.000.000 VNĐ)        | Thấp (< 300.000 VNĐ)              |
| Hạ tầng kết nối   | Dây dẫn RS485 / Modbus RTU cồng kềnh| Không dây Wi-Fi 802.11 b/g/n      |
| Cấu hình giám sát | Máy tính công nghiệp, phần mềm trả phí| Ứng dụng Android/iOS trực quan    |
| Khả năng mở rộng  | Phức tạp, phụ thuộc nhà cung cấp  | Linh hoạt (Open Source Hardware)   |
| Tiêu thụ năng lượng| Cao (Nguồn 24VDC/220VAC)          | Rất thấp (Nguồn 3.3V - 5VDC)      |
+-------------------+-----------------------------------+-----------------------------------+

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc phải có): Đọc chính xác dữ liệu từ DHT11 và cảm biến đất; hiển thị thông số lên màn hình LCD 16x2; gửi dữ liệu lên Blynk Server qua Wi-Fi; tự động bật máy bơm khi độ ẩm đất dưới ngưỡng cài đặt.
  • Should have (Nên có): Giao diện điều khiển thủ công (Manual Override) trên ứng dụng di động; đèn LED báo trạng thái kết nối mạng và trạng thái rơ-le.
  • Could have (Có thể có): Tích hợp cảm biến nước mưa cảnh báo âm thanh qua còi buzzer; lưu trữ nhật ký biến động nhiệt độ/độ ẩm.
  • Won't have (Chưa thực hiện trong giai đoạn này): Đồng bộ hóa qua giao thức MQTT bảo mật TLS/SSL; chuyển đổi sang cảm biến độ ẩm đất dạng điện dung chuyên dụng chống ăn mòn.

Thiết kế hệ thống

graph TD
    subgraph SENSORS["Khối Cảm Biến Thu Thập"]
        DHT11["Cảm biến DHT11<br/>(Nhiệt độ & Độ ẩm khí - 1-Wire)"]
        SOIL["Cảm biến độ ẩm đất<br/>(Analog A0 / Digital D7)"]
        RAIN["Cảm biến nước mưa<br/>(Mạch so sánh LM393)"]
    end

    subgraph MCU["Khối Xử Lý Trung Tâm & Truyền Thông"]
        MEGA["Arduino Mega 2560<br/>(ATmega2560 - 16MHz)"]
        ESP["ESP8266 NodeMCU<br/>(Wi-Fi SoC 802.11 b/g/n)"]
    end

    subgraph OUTPUT["Khối Ngoại Vi & Chấp Hành"]
        LCD["Màn hình LCD 16x2<br/>(Giao tiếp 4-bit)"]
        RELAY["Module Relay Kích Mức Thấp<br/>(Điều khiển Bơm 220VAC)"]
        BUZZER["Còi Báo Động Buzzer"]
    end

    subgraph CLOUD["Hạ Tầng Đám Mây & Ứng Dụng"]
        BLYNK["Blynk IoT Server<br/>(Cloud / REST API)"]
        APP["Blynk Mobile App<br/>(Android / iOS GUI)"]
    end

    DHT11 -->|Pin 2| MEGA
    SOIL -->|Pin A0 / D7| ESP
    RAIN -->|Chân DO / AO| MEGA
    MEGA -->|Bus dữ liệu 4-bit| LCD
    MEGA -->|Digital Out| BUZZER
    ESP -->|Pin D0 Out| RELAY
    ESP <==>|Wi-Fi 2.4GHz / TCP/IP| BLYNK
    BLYNK <==>|Internet / 4G| APP

Technology Stack và Thông số kỹ thuật

  • Vi điều khiển trung tâm:
    • ESP8266 NodeMCU (ESP-12E): Vi xử lý Tensilica Xtensa LX106 32-bit, tần số xung nhịp $80\text{ MHz}$, tích hợp Wi-Fi IEEE 802.11 b/g/n, điện áp hoạt động $3.3\text{VDC}$, bộ nhớ Flash $4\text{MB}$, IC nạp tự động CP2102.
    • Arduino Mega 2560: Vi điều khiển 8-bit ATmega2560, tần số $16\text{ MHz}$, 54 chân Digital I/O (15 chân PWM), 16 chân Analog Input, 256 KB Flash Memory, 8 KB SRAM.
  • Cảm biến chuyên dụng:
    • DHT11: Dải đo nhiệt độ $0 - 50^\circ\text{C}$ (sai số $\pm 2^\circ\text{C}$), dải đo độ ẩm $20 - 90%\text{ RH}$ (sai số $\pm 5%\text{ RH}$), giao thức truyền thông số Digital 1-Wire, tần số lấy mẫu tối đa $1\text{ Hz}$.
    • Module độ ẩm đất & Module mưa: Tích hợp IC so sánh điện áp kép LM393, ngõ ra Digital (DO) mức logic TTL và ngõ ra Analog (AO) nối tiếp về chân ADC $10\text{-bit}$ của vi điều khiển.
  • Phần mềm và Thư viện: Arduino IDE v1.8.x, Thư viện ESP8266WiFi.h, BlynkSimpleEsp8266.h, DHT.h, LiquidCrystal.h.

Implementation và kết quả

Chi tiết thuật toán và Code triển khai

Hệ thống được phát triển theo quy trình thực nghiệm phần cứng kết hợp lập trình nhúng. Dữ liệu từ các cảm biến được số hóa, chuẩn hóa và xử lý theo từng khối chức năng riêng biệt.

1. Đọc và giải mã dữ liệu cảm biến DHT11 (1-Wire Protocol)

Cảm biến DHT11 giao tiếp với Arduino qua một dây dữ liệu duy nhất (chân Digital 2). Quá trình bắt tay diễn ra qua chuỗi xung: Arduino kéo chân Data xuống mức thấp tối thiểu $18\text{ ms}$, sau đó kéo lên cao $20 - 40\text{ }\mu\text{s}$. DHT11 phản hồi bằng xung thấp $54\text{ }\mu\text{s}$ rồi xung cao $80\text{ }\mu\text{s}$, trước khi truyền chuỗi dữ liệu $40\text{ bit}$ ($5\text{ bytes}$):

  • Byte 1: Giá trị nguyên của độ ẩm không khí.
  • Byte 2: Giá trị thập phân của độ ẩm.
  • Byte 3: Giá trị nguyên của nhiệt độ.
  • Byte 4: Giá trị thập phân của nhiệt độ.
  • Byte 5: Checksum kiểm tra lỗi ($\text{Byte 1} + \text{Byte 2} + \text{Byte 3} + \text{Byte 4} = \text{Checksum}$).
// Trích xuất từ mã nguồn thực nghiệm trên Arduino Mega 2560
#include <DHT.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Khởi tạo chân LCD RS, EN, D4, D5, D6, D7
const int DHTPIN = 2;
const int DHTTYPE = DHT11;
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  lcd.begin(16, 2);
  dht.begin();
  Serial.begin(9600);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Kiểm tra tính hợp lệ của dữ liệu đọc về từ cảm biến
  if (isnan(h) || isnan(t)) {
    Serial.println("Loi: Khong the doc du lieu tu DHT11!");
    return;
  }

  // Xuất dữ liệu lên Serial Monitor
  Serial.print("Nhiet do: "); Serial.print(t); Serial.print(" *C | ");
  Serial.print("Do am: "); Serial.print(h); Serial.println(" %");

  // Hiển thị trực quan lên màn hình LCD
  lcd.setCursor(0, 0);
  lcd.print("Temp: "); lcd.print(t); lcd.print(" C");
  lcd.setCursor(0, 1);
  lcd.print("Humid: "); lcd.print(h); lcd.print(" %");

  delay(1000); // Tần số quét 1Hz theo đặc tính kỹ thuật DHT11
}

2. Xử lý tín hiệu cảm biến độ ẩm đất và đồng bộ hóa lên Blynk Cloud qua ESP8266

Tín hiệu điện áp analog từ đầu dò đất đưa vào chân A0 của ESP8266 qua bộ chuyển đổi ADC 10-bit ($0 - 1023$). Hàm map() chuyển đổi tuyến tính giá trị ADC nghịch đảo thành thang đo phần trăm ($0 - 100%$). Khi độ ẩm đất xuống thấp hơn ngưỡng quy định, hệ thống tự động xuất tín hiệu điều khiển kích hoạt Rơ-le (kết nối chân D0) để mở van tưới.

// Trích xuất mã nguồn nhúng trên ESP8266 NodeMCU kết nối Blynk Server
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#define do_am_pin D7   // Chân đọc tín hiệu Digital từ cảm biến đất
#define adc_pin   A0   // Chân đọc tín hiệu Analog (0 - 1023)
#define RELAY_PIN D0   // Chân điều khiển Rơ-le đóng ngắt máy bơm (Active LOW)

char auth[] = "TL7A7vnE5uz5Omo2uJhRExNWwMJf5St7"; // Token xác thực Blynk
char ssid[] = "Cong Ty HTC";                      // Tên mạng Wi-Fi
char pass[] = "88888888";                         // Mật khẩu Wi-Fi

int do_am, gia_tri_adc;

void sendSensorData() {
  gia_tri_adc = analogRead(adc_pin);
  
  // Ánh xạ ADC 10-bit (0 - 1023) sang giá trị % độ ẩm thực tế (Nghịch đảo)
  do_am = map(gia_tri_adc, 0, 1023, 0, 100);
  do_am = 100 - do_am; 

  // Đẩy dữ liệu thời gian thực lên Virtual Pin V1 trên giao diện Blynk App
  Blynk.virtualWrite(V1, do_am);
  Blynk.virtualWrite(V2, gia_tri_adc);

  // Thuật toán điều khiển tự động bơm dựa trên ngưỡng cài đặt
  if (do_am < 40) { // Ngưỡng độ ẩm đất khô thiếu nước
    digitalWrite(RELAY_PIN, LOW);  // Kích hoạt rơ-le bật máy bơm nước
    Serial.println("Canh bao: Dat kho -> Dang bat may bom");
  } else if (do_am >= 70) { // Đất đã đạt độ ẩm bão hòa
    digitalWrite(RELAY_PIN, HIGH); // Ngắt rơ-le dừng máy bơm nước
    Serial.println("Trang thai: Du nuoc -> Tat may bom");
  }
}

void setup() {
  Serial.begin(9600);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH); // Mặc định tắt máy bơm khi khởi động
  
  // Khởi tạo kết nối Wi-Fi và đồng bộ với Blynk Cloud
  Blynk.begin(auth, ssid, pass);
}

void loop() {
  Blynk.run();
  sendSensorData();
  delay(1000); // Chu kỳ cập nhật dữ liệu định kỳ 1s
}

Kết quả thử nghiệm và đánh giá hiệu năng

+---------------------------+-----------------------+-----------------------+---------------+
| Đại lượng đo              | Thiết bị đo chuẩn     | Kết quả hệ thống IoT  | Sai lệch      |
+---------------------------+-----------------------+-----------------------+---------------+
| Nhiệt độ không khí        | Testo 608-H1 (Chuẩn)  | Cảm biến DHT11        | $\pm 1.2^\circ\text{C}$ (Trong ngưỡng cho phép) |
| Độ ẩm môi trường          | Testo 608-H1 (Chuẩn)  | Cảm biến DHT11        | $\pm 3.8\%\text{ RH}$ (Đạt tiêu chuẩn)         |
| Độ ẩm đất (Đất khô)       | Đo trọng lượng sấy khô| Cảm biến đất (Analog) | $15.4\%$ vs $14.2\%$ (Lệch $1.2\%$)            |
| Độ ẩm đất (Sau tưới)      | Đo trọng lượng sấy khô| Cảm biến đất (Analog) | $78.0\%$ vs $76.5\%$ (Lệch $1.5\%$)            |
| Thời gian phản hồi mạng   | Ping Cloud Gateway    | ESP8266 WiFi          | $180\text{ ms} - 320\text{ ms}$                |
| Tỷ lệ mất gói tin (PLR)   | 10.000 gói truyền     | Wi-Fi 2.4GHz          | $< 0.8\%$                                      |
+---------------------------+-----------------------+-----------------------+---------------+

Đổi mới và đóng góp

  1. Tối ưu hóa kiến trúc nhúng chi phí thấp: Thay vì sử dụng các module GSM/GPRS (SIM900A, SIM800L) với chi phí duy trì cước viễn thông hàng tháng, đồ án khai thác triệt để SoC ESP8266 tích hợp stack TCP/IP hoàn chỉnh, giảm $75%$ chi phí phần cứng so với các bộ điều khiển công nghiệp truyền thống.
  2. Cơ chế điều khiển khép kín thông minh: Đồ án không dừng lại ở việc đọc dữ liệu thụ động mà thiết lập vòng phản hồi tự động (Closed-loop Control): Tự động so sánh giá trị ADC thực tế với ngưỡng đặt, đóng ngắt rơ-le bảo vệ bơm mà không cần can thiệp thủ công.
  3. Mô hình hóa chuẩn phục vụ giáo dục STEM/STEAM: Nghiên cứu cấu trúc hóa toàn bộ sơ đồ nguyên lý trên phần mềm Fritzing, chuẩn hóa lưu đồ thuật toán và module hóa mã nguồn, tạo tài liệu tham khảo trực quan phục vụ công tác giảng dạy kỹ thuật điều khiển tự động và IoT.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong nông nghiệp công nghệ cao (Smart Agriculture)

        [ Trạm quan trắc IoT tại vườn / Nhà kính ]
  (DHT11 + Cảm biến đất + Cảm biến mưa + ESP8266)
                         │
                         │ [Wi-Fi 802.11 b/g/n]
                         ▼
               [ Router Wi-Fi / Gateway ]
                         │
                         │ [Cáp quang / 4G Internet]
                         ▼
               [ Blynk Cloud Server ]
                    │          │
         ┌──────────┘          └──────────┐
         ▼                                ▼
[ App Quản trị viên ]          [ Tự động kích hoạt ]
- Giám sát đồ thị vi khí hậu   - Rơ le đóng van điện từ
- Cảnh báo ngưỡng nhiệt độ     - Động cơ bơm nước tưới ẩm
- Bật/Tắt thủ công từ xa       - Đóng mái che khi mưa lớn
  • Hệ thống tưới tự động cho vườn ươm, nhà màng: Giúp nông dân quản lý chính xác lượng nước tưới dựa trên độ ẩm đất thực tế của từng luống cây trồng, tiết kiệm đến $35%$ lượng nước tiêu thụ và hạn chế sâu bệnh do nấm mốc phát sinh khi độ ẩm không khí vượt quá $85%$.
  • Giám sát kho hàng và phòng máy chủ (Server Room): Cảnh báo sớm hiện tượng quá nhiệt ($> 40^\circ\text{C}$) hoặc rò rỉ nước mưa, kích hoạt hệ thống quạt thông gió và chuông cảnh báo nhằm bảo vệ thiết bị điện tử.

Phân tích hiệu quả kinh tế (ROI)

  • Chi phí vật tư phần cứng: ~ 280.000 VNĐ (Bao gồm NodeMCU ESP8266, DHT11, cảm biến độ ẩm đất, module relay 1 kênh và phụ kiện đấu nối).
  • Chi phí vận hành: 0 VNĐ phí dịch vụ đám mây (sử dụng gói Blynk IoT Community/Open Server).
  • Thời gian hoàn vốn (Payback Period): Ước tính $< 3\text{ tháng}$ đối với nhà vườn quy mô $100\text{ m}^2$ thông qua việc tiết kiệm điện năng vận hành bơm và giảm công lao động thủ công hàng ngày.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Tuổi thọ cảm biến đất: Đầu dò độ ẩm đất dạng điện trở kim loại mạ niken tiếp xúc trực tiếp với ion khoáng trong đất ẩm bị điện phân ăn mòn sau $3 - 6\text{ tháng}$ vận hành liên tục.
  2. Dải đo DHT11: Giới hạn nhiệt độ tối đa $50^\circ\text{C}$ và độ trễ lấy mẫu $1\text{ s}$ không phù hợp cho các quy trình sấy công nghiệp nhiệt độ cao.
  3. Phụ thuộc kết nối Wi-Fi: Khi mất tín hiệu mạng Internet, module ESP8266 chạy vòng lặp kết nối lại có thể làm gián đoạn tạm thời quá trình điều khiển cục bộ nếu không dùng cơ chế ngắt phần cứng (Timer Interrupt).

Hướng phát triển nâng cao

  • Nâng cấp cảm biến: Thay thế DHT11 bằng DHT22 / SHT30 (dải đo $-40\text{ đến }125^\circ\text{C}$, sai số $\pm 0.3^\circ\text{C}$) và sử dụng Cảm biến độ ẩm đất điện dung (Capacitive Soil Moisture Sensor v1.2) chống ăn mòn tuyệt đối.
  • Tối ưu hóa giao thức: Chuyển dịch từ Blynk HTTP/REST sang giao thức truyền thông nhẹ MQTT (Message Queuing Telemetry Transport) kết hợp mã hóa TLS/SSL qua broker EMQX hoặc HiveMQ.
  • Mở rộng tầm xa với LoRaWAN: Kết nối mạng hình sao không dây tầm xa (Long Range - LoRa $433/915\text{ MHz}$) cho phép truyền dữ liệu vi khí hậu từ các cánh đồng bán kính $2 - 5\text{ km}$ về Gateway trung tâm mà không cần phủ sóng Wi-Fi toàn khu vực.

Đối tượng hưởng lợi

  • Sinh viên & Học viên kỹ thuật: Nắm vững cấu trúc lập trình vi điều khiển ESP8266/Arduino, nguyên lý giải mã giao thức 1-Wire, ADC và kỹ thuật tích hợp phần mềm đám mây IoT.
  • Kỹ sư & Lập trình viên nhúng: Tham khảo mã nguồn chuẩn cho các ứng dụng đo đạc ngoại vi, cấu hình Timer không chặn (non-blocking) và kỹ thuật ánh xạ tuyến tính dữ liệu cảm biến.
  • Chủ trang trại & Hộ sản xuất nông nghiệp: Tiếp cận giải pháp tự động hóa chi phí thấp, dễ lắp ráp, tối ưu hóa năng suất mùa vụ và giảm thiểu chi phí quản lý vận hành.
  • Nhà nghiên cứu & Giảng viên: Sử dụng mô hình thực nghiệm làm giáo cụ trực quan trong các chuyên đề thí nghiệm Tự động hóa, Đo lường cảm biến và IoT cơ sở.

Câu hỏi thường gặp

1. Hệ thống cần yêu cầu nguồn điện và đường truyền mạng như thế nào để vận hành ổn định?

Hệ thống yêu cầu nguồn cấp ổn định $5\text{VDC} - 2\text{A}$ qua cổng microUSB hoặc chân Vin. Mạng Wi-Fi cần hỗ trợ băng tần $2.4\text{ GHz}$ (chuẩn $802.11\text{ b/g/n}$), do chip ESP8266 không hỗ trợ băng tần $5\text{ GHz}$.

2. Khi mất kết nối Wi-Fi, máy bơm có tự động hoạt động được không?

Trong thuật toán cải tiến, các lệnh điều khiển đọc ngưỡng ADC được đưa vào hàm xử lý độc lập không chặn bởi Blynk.run(). Do đó, vi điều khiển vẫn duy trì việc so sánh độ ẩm cục bộ và bật/tắt rơ-le bơm tự động bình thường dù không có mạng Internet.

3. Làm cách nào để khắc phục hiện tượng cảm biến độ ẩm đất bị ăn mòn nhanh?

Để khắc phục triệt để, nên chuyển sang sử dụng cảm biến độ ẩm đất điện dung (Capacitive Soil Moisture Sensor). Ngoài ra, có thể lập trình chân Digital của ESP8266 để chỉ cấp nguồn VCC cho cảm biến khi bắt đầu đo và ngắt nguồn ngay sau khi đọc xong, nhằm triệt tiêu dòng điện phân liên tục.

4. Hệ thống có thể mở rộng kết nối thêm nhiều cảm biến khác không?

Hoàn toàn có thể. Nhờ vi điều khiển Arduino Mega 2560 sở hữu tới 54 chân I/O và 16 kênh ADC, người dùng có thể tích hợp thêm cảm biến cường độ ánh sáng (BH1750/LDR), cảm biến nồng độ khí $\text{CO}_2$ (MQ-135) hoặc cảm biến áp suất khí quyển (BMP280) qua giao tiếp I2C/SPI.

5. Chi phí triển khai thực tế và thời gian bảo trì định kỳ là bao lâu?

Toàn bộ chi phí linh kiện mạch điều khiển dưới 300.000 VNĐ. Thời gian bảo trì định kỳ khuyến nghị là $3\text{ tháng/lần}$ để vệ sinh bề mặt tấm cảm biến mưa và kiểm tra độ ổn định của đầu dò độ ẩm đất.


Kết luậ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" của sinh viên Phạm Thị Nhung đã nghiên cứu thành công mô hình nhúng tích hợp IoT hoàn chỉnh từ tầng cảm biến, tầng xử lý trung tâm đến tầng ứng dụng người dùng. Giải pháp khẳng định tính khả thi cao trong việc ứng dụng công nghệ vi điều khiển giá rẻ vào tự động hóa nông nghiệp và đời sống, mang lại giá trị thực tiễn trong việc tiết kiệm tài nguyên và nâng cao năng lực sản xuất.