Bối cảnh và vấn đề nghiên cứu

Đồ án tốt nghiệp đại học với đề tài "Nghiên cứu thiết kế hệ thống điều khiển các thiết bị điện trong căn hộ bằng sự trợ giúp của Google Assistant" được thực hiện bởi sinh viên Hà Trọng Phương Nam (lớp K23C, ngành Kỹ thuật Điện - Điện tử, Khoa Điện - Điện tử, Trường Đại học Mở Hà Nội) dưới sự hướng dẫn của giảng viên TS. Nguyễn Việt Anh vào tháng 5 năm 2024.

Lý do chọn đề tài xuất phát từ thực tiễn phát triển nhanh chóng của cuộc Cách mạng công nghiệp lần thứ tư, trong đó quá trình chuyển đổi thế giới thực thành thế giới số dựa trên các trụ cột như điện toán đám mây, trí tuệ nhân tạo (AI) và Internet vạn vật (IoT). Công nghệ IoT và AI đang được triển khai mạnh mẽ nhằm thay thế con người thực hiện các thao tác vận hành đơn giản trong đời sống sinh hoạt. Từ đó, nhu cầu thiết kế các giải pháp nhà thông minh (Smart Home) có khả năng tự động hóa và cho phép người dùng kiểm soát các thiết bị điện sinh hoạt thông qua tương tác giọng nói ngày càng trở nên cấp thiết.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định cụ thể như sau:

  1. Xây dựng một hệ thống điều khiển các thiết bị điện dân dụng trong phạm vi căn hộ thông qua trợ lý ảo Google Assistant và nền tảng Google Home.
  2. Thiết kế và tích hợp mạch phần cứng bao gồm khối xử lý trung tâm, các khối cảm biến đo lường môi trường (nhiệt độ, độ ẩm, khí gas độc hại/dễ cháy), khối hiển thị trạng thái và khối cơ cấu chấp hành (đèn, quạt, cơ cấu đóng mở cửa).
  3. Lập trình vi điều khiển để thu thập tín hiệu cảm biến, xử lý logic điều khiển tự động và tiếp nhận lệnh điều khiển thiết bị bằng giọng nói.
  4. Lắp ráp mô hình thực nghiệm, tiến hành chạy thử nghiệm, đánh giá khả năng vận hành của hệ thống và ghi nhận các lỗi kỹ thuật phát sinh.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ thống điều khiển nhúng tích hợp các thiết bị điện dân dụng (quạt làm mát, đèn chiếu sáng, động cơ servo điều khiển cửa) kết hợp các mô-đun cảm biến môi trường (DHT11, MQ-2) và giao tiếp điều khiển qua giọng nói.
  • Phạm vi không gian: Mô hình thực nghiệm cấp độ phòng mẫu thuộc căn hộ thông minh.
  • Phạm vi thời gian: Đồ án được hoàn thành và nghiệm thu vào tháng 5 năm 2024.

Cơ sở lý thuyết và phương pháp

Cơ sở lý thuyết của đồ án dựa trên các nền tảng kỹ thuật phần cứng, công nghệ mạng và giao thức điều khiển nhúng:

  • Nền tảng trợ lý ảo và hệ sinh thái nhà thông minh: Cơ chế nhận dạng giọng nói và thực thi khẩu lệnh thông qua Google Assistant và Google Home; phương thức kích hoạt bằng các câu lệnh tiêu chuẩn ("OK Google", "Hey Google") trên các thiết bị di động (Android, iOS) hoặc loa thông minh Google Home.
  • Kiến trúc vi điều khiển AVR: Cấu trúc và nguyên lý hoạt động của vi điều khiển 8-bit ATmega328 trên nền bo mạch Arduino Uno R3, bao gồm cấu trúc bộ nhớ (Flash, SRAM, EEPROM), hệ thống chân vào/ra số (Digital I/O), chân điều chế độ rộng xung (PWM) và các kênh chuyển đổi tương tự - số (ADC 10-bit).
  • Nguyên lý điều khiển động cơ servo bằng xung PWM: Cơ chế phản hồi âm vòng kín sử dụng chiết áp đo vị trí kết hợp chuỗi xung điều khiển tần số 50 Hz (chu kỳ 20 ms), trong đó độ rộng xung từ 1 ms đến 2 ms xác định vị trí góc quay từ 0° đến 180° của động cơ RC Servo SG90.
  • Giao thức truyền thông số: Giao thức nối tiếp không đồng bộ UART/Serial (sử dụng chân RX/TX để truyền nhận dữ liệu chuỗi lệnh điều khiển); giao thức truyền thông nối tiếp đồng bộ 2 dây I2C (Inter-Integrated Circuit) gồm đường truyền dữ liệu nối tiếp (SDA) và đường xung nhịp (SCL) để truyền dữ liệu theo khung giữa master (vi điều khiển) và slave (màn hình LCD tích hợp mạch giải mã).
  • Nguyên lý chuyển đổi tín hiệu cảm biến: Cảm biến nhiệt điện trở NTC kết hợp chip xử lý 8-bit trên DHT11 để số hóa nhiệt độ và độ ẩm thành chuỗi dữ liệu 40-bit; vật liệu bán dẫn oxit thiếc ($SnO_2$) trên cảm biến MQ-2 biến đổi độ dẫn điện khi tiếp xúc với các khí dễ cháy (LPG, Propane, Hydrogen, Methane) tạo ra điện áp tương tự (Analog) hoặc mức logic (Digital).
  • Nguyên lý chuyển mạch bằng rơ-le (Relay): Sử dụng lực hút điện từ từ cuộn dây 5V để đóng/ngắt các tiếp điểm cơ khí chịu dòng tải lớn điều khiển đèn và quạt.

Phương pháp nghiên cứu thực tế được tác giả áp dụng:

  • Phương pháp phân tích và tổng hợp lý thuyết: Thu thập và nghiên cứu tài liệu kỹ thuật, sơ đồ chân và thông số hoạt động của linh kiện phần cứng từ các bảng dữ liệu (datasheet) của nhà sản xuất.
  • Phương pháp thiết kế mô hình hóa và tích hợp hệ thống kỹ thuật: Lựa chọn linh kiện, phân chia các khối chức năng (khối nguồn, khối xử lý, khối đo lường, khối hiển thị, khối chấp hành), thiết kế sơ đồ ghép nối chân tín hiệu và xây dựng lưu đồ thuật toán điều khiển.
  • Phương pháp thực nghiệm kỹ thuật: Lắp ráp mô hình thực tế, nạp chương trình điều khiển thông qua môi trường Arduino IDE, chạy kiểm thử các chức năng đo đạc cảm biến và thao tác đóng ngắt thiết bị tải.
  • Nguồn dữ liệu: Dữ liệu kỹ thuật từ thông số đo đạc thực tế của các cảm biến môi trường (DHT11, MQ-2), tín hiệu phản hồi logic và các tài liệu tham khảo kỹ thuật mở của cộng đồng Arduino.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc mô-đun phần cứng kết nối trực tiếp với bo mạch điều khiển trung tâm và phần mềm nhúng viết bằng ngôn ngữ C/C++.

Kiến trúc phần cứng

Hệ thống điều khiển trung tâm sử dụng bo mạch Arduino Uno R3 kết hợp với các thiết bị ngoại vi và cơ cấu chấp hành chuyên dụng. Các thông số kỹ thuật chính được tổng hợp trong bảng sau:

Thành phần hệ thống Model / Linh kiện Thông số kỹ thuật chính Chức năng trong mô hình
Khối xử lý trung tâm Arduino Uno R3 (ATmega328) Điện áp hoạt động: 5V DC; Tần số: 16 MHz; 14 chân Digital (6 chân PWM); 6 chân Analog (10-bit); Flash: 32 KB; SRAM: 2 KB; EEPROM: 1 KB. Đọc tín hiệu cảm biến, nhận chuỗi lệnh qua Serial, xử lý thuật toán và phát tín hiệu điều khiển chấp hành.
Cảm biến nhiệt - ẩm DHT11 Điện áp: 3.5V; Dòng đo: 0.3mA; Dải nhiệt độ: 0°C đến 50°C (sai số < 2% / ±1°C); Dải độ ẩm: 20% đến 90% (sai số < 5% / ±1%); Ngõ ra: Chuỗi dữ liệu nối tiếp. Đo lường nhiệt độ và độ ẩm phòng, truyền chuỗi dữ liệu 40-bit về chân Digital 4 của Arduino.
Cảm biến khí gas MQ-2 Vật liệu cảm biến: $SnO_2$; Điện áp hoạt động: 5V; Tín hiệu ngõ ra: Analog (chân A0) và Digital; Nhạy với khí LPG, Propane, $H_2$, $CH_4$. Giám sát nồng độ khí gas rò rỉ trong phòng để phục vụ cảnh báo tự động.
Cơ cấu điều khiển cửa Servo SG90 Kích thước: 23 x 12.2 mm; Trọng lượng: 9g; Điện áp: 4.8V - 6V; Mô-men xoắn chặn: 1.2 - 1.4 kg/cm (tại 4.8V); Tốc độ không tải: 0.12 s/60°; Góc quay: 180°. Điều khiển đóng/mở cánh cửa mô hình thông qua tín hiệu PWM tại chân Digital 5.
Khối chuyển mạch Module Relay SRD-12VDC Điện áp điều khiển cuộn hút: 5V DC; Dòng tải tiếp điểm cực đại: 10A; Thời gian tác động: 10 ms; Thời gian nhả: 5 ms. Đóng/cắt nguồn điện cách ly điều khiển đèn chiếu sáng và quạt tản nhiệt.
Thiết bị hiển thị LCD 16x2 + Module I2C Màn hình ký tự 16 ký tự x 2 dòng; Kích thước: 80 x 36 x 12.5 mm; Điện áp: 5V; Chip xử lý: HD44780; Địa chỉ I2C: 0x27. Hiển thị thông số nhiệt độ, độ ẩm lên 2 dòng màn hình thông qua 2 chân SDA (A4) và SCL (A5).
Đèn chiếu sáng Đèn báo Model APT Điện áp định mức: 12V; Công suất tiêu thụ: 10W; Dòng tiêu thụ: 20 mA. Mô phỏng hệ thống chiếu sáng trong phòng (kết nối qua Relay chân Digital 3).
Quạt thông gió Quạt làm mát mini Điện áp hoạt động: 5V DC; Kích thước dài: 8 cm; Vỏ nhựa đen 2 chân; Tích hợp chống ngược điện áp. Mô phỏng hệ thống quạt làm mát (kết nối qua Relay chân Digital 2).

Sơ đồ phân bổ chân kết nối trên Arduino Uno R3

Dựa trên cấu hình phần cứng và mã nguồn triển khai, các chân tín hiệu trên Arduino Uno R3 được phân bổ như sau:

  • Chân Digital 0 (RX) và Chân Digital 1 (TX): Nhận dữ liệu chuỗi lệnh điều khiển giọng nói Serial.
  • Chân Digital 2: Ngõ ra kích hoạt Module Relay điều khiển quạt (int quat = 2).
  • Chân Digital 3: Ngõ ra kích hoạt Module Relay điều khiển đèn (int den = 3).
  • Chân Digital 4: Ngõ vào nhận dữ liệu nối tiếp từ cảm biến nhiệt độ - độ ẩm DHT11 (const int DHTPIN = 4).
  • Chân Digital 5: Ngõ ra xuất xung điều khiển động cơ servo SG90 (int cua = 5).
  • Chân Analog A0: Đọc mức điện áp tương tự từ cảm biến khí gas MQ-2 (int cambiengas = A0).
  • Chân Analog A4 (SDA) và Chân Analog A5 (SCL): Giao tiếp tín hiệu dữ liệu và xung nhịp I2C với mạch điều khiển màn hình LCD 16x2.

Triển khai phần mềm và mã nguồn hệ thống

Hệ thống được lập trình trên môi trường Arduino IDE (trong văn bản có lúc gọi là Arduino IEC 1.19). Mã nguồn tích hợp các thư viện chuẩn gồm <DHT.h>, <LiquidCrystal_I2C.h> và thư viện điều khiển Servo. Dưới đây là đoạn mã nguồn khai báo và cấu hình thực tế được trích xuất từ đồ án:

#include <DHT.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int DHTPIN = 4; // Chân Out của cảm biến nối chân số 4 Arduino
const int DHTTYPE = DHT11; // Khai báo kiểu cảm biến là DHT11
DHT dht(DHTPIN, DHTTYPE);
Servo dccua;
String voice;

int quat = 2;
int cua = 5;
int den = 3;
int cambiengas = A0;

void setup() {
  Serial.begin(9600); // Khởi động giao tiếp Serial
  lcd.init(); // Khởi động LCD
  lcd.backlight(); // Mở đèn nền LCD
  lcd.setCursor(9, 0); // Đặt con trỏ hiển thị
  lcd.print("oC");
}

void loop() {
  float doam = dht.readHumidity(); // Đọc giá trị độ ẩm
  // Đọc dữ liệu nhiệt độ và hiển thị ra màn hình LCD
  if (Serial.available() > 0) {
    voice = "";
    // Nhận chuỗi ký tự điều khiển từ giao tiếp Serial
  }
  // Điều khiển chấp hành rơ-le và động cơ
  digitalWrite(quat, HIGH);
  delay(1000);
  digitalWrite(den, HIGH);
  delay(1000);
}

Quy trình kiểm thử và vận hành

Hệ thống vận hành theo chu trình lặp:

  1. Đọc dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT11 theo định dạng số nguyên và thập phân (sai số đo nhiệt độ dưới 2% và độ ẩm dưới 5%), đồng thời đo mức nồng độ khí gas từ cảm biến MQ-2 qua cổng A0.
  2. Cập nhật và xuất dữ liệu đo đạc lên 2 dòng của màn hình LCD 16x2 thông qua giao thức I2C.
  3. Liên tục lắng nghe cổng giao tiếp Serial để nhận chuỗi ký tự điều khiển bắt nguồn từ khẩu lệnh Google Assistant của người dùng.
  4. Khi chuỗi lệnh hợp lệ được xác lập, vi điều khiển kích hoạt các chân Digital 2, 3 và 5 để đóng/ngắt relay điều khiển quạt, đèn và quay góc servo SG90 để đóng/mở cửa.

Nội dung chính theo từng chương

Chương 1. Tổng quan về hệ thống nhà thông minh

Chương 1 trình bày bối cảnh chuyển đổi số của cuộc Cách mạng công nghiệp 4.0, nhấn mạnh vai trò của điện toán đám mây, AI và IoT trong việc hình thành các giải pháp nhà thông minh thay thế con người thực hiện các thao tác vận hành cơ bản. Nội dung chương tập trung giới thiệu hệ sinh thái trợ lý ảo Google Assistant với các tính năng: nhận dạng giọng nói, hỗ trợ đa ngôn ngữ, tích hợp trên nhiều dòng thiết bị như điện thoại Android (từ năm 2017), TV Android (Sony), ứng dụng điều hướng Google Maps và hệ thống Android Auto trên ô tô (Volvo, Audi). Đồng thời, tác giả đi sâu phân tích thiết bị và ứng dụng Google Home: khái niệm, các chức năng chính (phát nhạc từ Spotify, YouTube Music; trả lời câu hỏi thời tiết, tin tức; điều khiển thiết bị thông minh như đèn, quạt, máy lạnh; giải trí qua Chromecast, Google Photos; đặt báo thức và lịch hẹn). Chương 1 cũng phân tích ưu điểm (trả lời tức thì, kết nối đa thiết bị, đồng bộ dịch vụ Google) và chỉ ra hạn chế thực tế là sự chồng chéo giữa thương hiệu Google Home và Google Nest gây nhầm lẫn cho người dùng.

Chương 2: Mô hình hệ thống

Chương 2 mô tả cấu trúc tổng thể và phân tích các yêu cầu kỹ thuật của mô hình hệ thống:

  • Liệt kê danh mục phần cứng gồm: Bộ điều khiển Arduino Uno R3, cảm biến nhiệt độ - độ ẩm DHT11, cảm biến khí gas MQ-2, màn hình LCD 16x2, đèn báo 12V, quạt làm mát 5VDC và động cơ điều khiển cửa servo SG90.
  • Xác định môi trường phần mềm lập trình là Arduino IDE.
  • Phân tích yêu cầu chức năng của hệ thống với mục tiêu cốt lõi là điều khiển thiết bị điện bằng giọng nói. Mạch cảm biến DHT11 yêu cầu đo nhiệt độ và độ ẩm với sai số nhiệt độ dưới 2% độ C và sai số độ ẩm dưới 5%, dữ liệu được hiển thị trực tiếp lên 2 dòng của màn hình LCD 16x2. Khối cảm biến khí gas có nhiệm vụ phát hiện và đo nồng độ khí gas trong không khí.

Chương 3: Thiết kế hệ thống

Chương 3 là chương nội dung kỹ thuật trọng tâm của đồ án, thuyết minh chi tiết thông số và nguyên lý của từng linh kiện:

  • Phân tích vi điều khiển ATmega328 trên bo mạch Arduino Uno R3 (điện áp 5V, xung nhịp 16 MHz, bộ nhớ Flash 32 KB, SRAM 2 KB, EEPROM 1 KB, 14 chân Digital I/O, 6 kênh ADC 10-bit, hỗ trợ PWM, SPI, I2C, UART).
  • Phân tích động cơ servo SG90: cơ chế phản hồi âm vòng kín, nguyên lý điều khiển độ rộng xung PWM chu kỳ 20 ms (50 Hz), độ rộng 1.5 ms cho góc 90°, nhỏ hơn 1.5 ms cho góc 0°, lớn hơn 1.5 ms cho góc 180°, tốc độ không tải 0.12 s/60° ở 4.8V.
  • Thuyết minh thông số quạt làm mát 5VDC (chất liệu nhựa đen, dài 8 cm, chống ngược cực) và đèn báo Model APT (12V, 10W, dòng 20 mA).
  • Thuyết minh cấu tạo màn hình LCD 16x2 (chip HD44780, kích thước 80 x 36 x 12.5 mm, bảng mô tả chi tiết 16 chân giao tiếp và tập lệnh điều khiển con trỏ/hiển thị) cùng Module chuyển đổi giao tiếp I2C (cơ chế truyền bit dữ liệu trên chân SDA, xung nhịp trên chân SCL, khung địa chỉ 7-bit, bit đọc/ghi và bit ACK/NACK).
  • Thuyết minh cảm biến DHT11 (dải đo nhiệt độ 0°C đến 50°C với sai số ±1°C, độ ẩm 20% đến 90% với sai số ±1%, truyền dữ liệu nối tiếp 40-bit) và cảm biến khí gas MQ-2 (sử dụng phần tử bán dẫn $SnO_2$, phát hiện LPG, Propane, Hydrogen, Methane, cung cấp ngõ ra Analog và Digital điều chỉnh ngưỡng bằng biến trở).
  • Thuyết minh cấu tạo Module Relay SRD-12VDC gồm 3 khối (tiếp thu, trung gian, chấp hành) với các thông số: cuộn hút 5V, dòng cực đại 10A, thời gian đóng 10 ms, nhả 5 ms.
  • Trình bày hệ thống các lưu đồ thuật toán điều khiển đèn, điều khiển quạt và điều khiển cửa.
  • Giới thiệu phần mềm lập trình Arduino IDE (khái niệm mã nguồn mở, hỗ trợ ngôn ngữ C/C++, tích hợp hơn 700 thư viện, hỗ trợ đa nền tảng Windows, MacOS, Linux, cơ chế biên dịch tạo file Hex nạp qua cổng USB) và cung cấp các đoạn mã nguồn cấu hình cảm biến, hiển thị LCD, đọc dữ liệu Serial và điều khiển đầu ra rơ-le.

Chương 4. Kết quả đạt được và vấn đề gặp phải trong quá trình tìm hiểu

Chương 4 tổng kết quá trình triển khai thực nghiệm mô hình:

  • Ghi nhận những khó khăn và trục trặc kỹ thuật thực tế gặp phải: nguồn thông tin tra cứu còn hạn chế; hệ thống gặp lỗi không kết nối được thiết bị; xảy ra hiện tượng hư hỏng linh kiện do quá trình đấu nối nhầm lẫn các chân tín hiệu.
  • Đánh giá ưu điểm mô hình: có tính ứng dụng vào thực tế, phù hợp lắp đặt tại các căn nhà hiện đại hoặc văn phòng công sở với chi phí linh kiện hợp lý.
  • Đánh giá nhược điểm: người dùng bắt buộc phải tìm hiểu về công nghệ và phương thức kết nối để có thể điều khiển và vận hành hệ thống.
  • Đề xuất định hướng phát triển: mở rộng quy mô từ một phòng cơ bản thành một căn hộ thông minh hoàn chỉnh với sự đa dạng về chủng loại thiết bị chấp hành, mở rộng số lượng cảm biến giám sát và nâng cao tính tự động hóa an toàn.

Kết quả và đóng góp

Đồ án ghi nhận các kết quả kỹ thuật cụ thể sau quá trình nghiên cứu và chế tạo thực nghiệm:

  • Xây dựng thành công mô hình phần cứng: Lắp ráp hoàn chỉnh mô hình nhà thông minh mức độ phòng mẫu tích hợp bo mạch Arduino Uno R3 điều khiển cơ cấu đóng mở cửa (servo SG90), hệ thống làm mát (quạt 5VDC qua relay), chiếu sáng (đèn báo 12V 10W qua relay) và hệ thống cảnh báo môi trường tự động.
  • Vận hành chính xác các khối đo lường môi trường: Cảm biến DHT11 thu thập dữ liệu nhiệt độ (dải đo 0 - 50°C, sai số nhiệt độ dưới 2%) và độ ẩm (dải đo 20 - 90%, sai số độ ẩm dưới 5%), hiển thị trực quan thông số lên 2 dòng của màn hình LCD 16x2 thông qua mạch ghép nối I2C; cảm biến MQ-2 đo đạc nồng độ khí gas phục vụ chức năng cảnh báo.
  • Kiểm chứng cơ chế điều khiển thiết bị: Thực hiện chạy thực nghiệm chu trình điều khiển thiết bị thông qua tín hiệu lệnh tương thích với trợ lý ảo Google Assistant và Google Home.
  • Đóng góp của đồ án: Đồ án đã tổng hợp có hệ thống các thông số kỹ thuật, phương pháp ghép nối chân và thuật toán điều khiển cho các linh kiện điện tử phổ biến trong hệ thống nhúng; chứng minh tính khả thi của việc ứng dụng công nghệ điều khiển bằng giọng nói vào các thiết bị điện dân dụng với chi phí chế tạo thấp, tạo tiền đề tiếp cận xu hướng công nghệ Smart Home cho sinh viên kỹ thuật.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đồ án được tác giả chỉ ra trực tiếp từ quá trình chế tạo mô hình:

  • Quy mô thử nghiệm còn hạn hẹp, mới dừng lại ở mức độ điều khiển cơ bản cho một căn phòng đơn lẻ, chưa bao quát toàn bộ căn hộ.
  • Khả năng mở rộng số lượng cảm biến giám sát trên phần cứng hiện tại còn hạn chế do tài nguyên chân vào/ra của bo mạch và cấu hình mạch thực nghiệm.
  • Trong quá trình triển khai, hệ thống gặp lỗi kết nối phần cứng và phát sinh hỏng hóc linh kiện do việc đấu nối sai các chân tín hiệu.
  • Giao diện vận hành đòi hỏi người sử dụng phải có kiến thức nhất định về công nghệ và cách thức thiết lập kết nối. Nền tảng điều khiển phụ thuộc vào dịch vụ Google, trong đó sự chồng chéo giữa Google Home và Google Nest gây khó khăn nhất định trong quá trình trải nghiệm.

Hướng nghiên cứu tiếp theo được đề xuất trong văn bản:

  • Hoàn thiện mô hình cho một căn hộ thông minh hoàn chỉnh, bổ sung đa dạng các loại thiết bị điện gia dụng.
  • Nâng cấp và mở rộng số lượng, chủng loại cảm biến giám sát môi trường và an ninh.
  • Đa dạng hóa các kịch bản hoạt động tự động trong căn hộ nhằm nâng cao tính tiện nghi và mức độ an toàn cho người dùng.

Giá trị tham khảo

Đồ án tốt nghiệp này là tài liệu tham khảo thực nghiệm phù hợp cho:

  • Sinh viên các ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Điều khiển và Tự động hóa, Công nghệ Thông tin, Kỹ thuật Máy tính đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài nhà thông minh (Smart Home) và Internet vạn vật (IoT).
  • Người học và kỹ sư mới bắt đầu nghiên cứu về vi điều khiển Arduino Uno R3, cần tài liệu hướng dẫn chi tiết về cấu trúc phần cứng, sơ đồ chân và cách thức lập trình giao tiếp với các cảm biến DHT11, MQ-2, màn hình LCD 16x2 qua giao tiếp I2C.

Các nội dung có giá trị tham khảo cao nhất trong đồ án bao gồm:

  1. Bảng tổng hợp thông số kỹ thuật chi tiết của vi điều khiển ATmega328, động cơ servo SG90, Module Relay SRD-12VDC và cảm biến DHT11, MQ-2.
  2. Sơ đồ mô tả chức năng 16 chân và bảng mã lệnh điều khiển con trỏ/hiển thị của màn hình LCD HD44780 kết hợp nguyên lý truyền thông I2C.
  3. Nguyên lý phát xung PWM điều khiển góc quay servo và các đoạn mã nguồn mẫu bằng ngôn ngữ C/C++ xử lý giao diện cảm biến và cơ cấu chấp hành trên Arduino IDE.

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

1. Bo mạch điều khiển trung tâm được sử dụng trong hệ thống là gì và có thông số bộ nhớ ra sao?
Bo mạch điều khiển trung tâm của hệ thống là Arduino Uno R3 sử dụng vi điều khiển 8-bit ATmega328 chạy ở tần số dao động 16 MHz. Bộ nhớ của bo mạch gồm có: 32 KB bộ nhớ Flash (trong đó 0.5 KB được sử dụng cho Bootloader), 2 KB bộ nhớ tĩnh SRAM và 1 KB bộ nhớ EEPROM lưu trữ dữ liệu không bị mất khi mất điện.

2. Các cảm biến môi trường trong hệ thống đảm nhiệm chức năng gì và có dải đo như thế nào?
Hệ thống sử dụng hai loại cảm biến:

  • Cảm biến DHT11: Đo nhiệt độ phòng trong dải từ 0°C đến 50°C (sai số dưới 2% / ±1°C) và đo độ ẩm trong dải từ 20% đến 90% (sai số dưới 5% / ±1%), xuất dữ liệu nối tiếp 40-bit về vi điều khiển.
  • Cảm biến MQ-2: Sử dụng phần tử cảm biến oxit thiếc ($SnO_2$) để phát hiện và đo nồng độ các loại khí gas, khí dễ cháy như LPG, Propane, Hydrogen và Methane trong không khí, cung cấp tín hiệu ngõ ra Analog (chân A0) và ngõ ra Digital.

3. Khối chấp hành của mô hình gồm những thiết bị cụ thể nào và được điều khiển bằng phương thức gì?
Khối chấp hành gồm:

  • Động cơ RC Servo SG90 (góc quay tối đa 180°, tốc độ không tải 0.12 s/60° ở 4.8V, mô-men xoắn chặn 1.2 - 1.4 kg/cm) được điều khiển bằng chuỗi xung PWM tần số 50 Hz (chu kỳ 20 ms, độ rộng xung biến thiên từ 1 ms đến 2 ms) kết nối tại chân Digital 5 để đóng/mở cửa.
  • Đèn báo Model APT (12V, 10W, dòng tiêu thụ 20 mA) và quạt làm mát 5VDC (chất liệu nhựa đen, kích thước 8 cm) được đóng/cắt nguồn điện thông qua Module Relay 5 chân SRD-12VDC kích hoạt bởi các chân Digital 3 và Digital 2.

4. Dữ liệu từ cảm biến được hiển thị lên thiết bị nào và sử dụng giao thức truyền thông gì?
Dữ liệu nhiệt độ và độ ẩm được hiển thị trực tiếp lên màn hình LCD 16x2 (sử dụng chip điều khiển HD44780, hiển thị tối đa 2 dòng). Màn hình được kết nối thông qua Module chuyển đổi giao tiếp nối tiếp đồng bộ I2C (địa chỉ 0x27), giúp tiết kiệm chân vi điều khiển bằng cách chỉ sử dụng 2 đường tín hiệu là SDA (kết nối với chân Analog A4 của Arduino) và SCL (kết nối với chân Analog A5 của Arduino).

5. Tác giả đã ghi nhận những lỗi kỹ thuật và sự cố thực tế nào trong quá trình lắp ráp mô hình?
Trong quá trình thực hiện, tác giả ghi nhận các sự cố kỹ thuật gồm: nguồn tài liệu thông tin tra cứu còn hạn chế; hệ thống gặp trục trặc không thể thiết lập kết nối giữa các thiết bị; đặc biệt xảy ra hiện tượng thiết bị linh kiện bị chập cháy, hư hỏng do sơ suất kết nối sai các chân tín hiệu trong quá trình đi dây phần cứng.

Kết luận

Đồ án tốt nghiệp của sinh viên Hà Trọng Phương Nam đã thiết kế và chế tạo thành công mô hình hệ thống điều khiển thiết bị điện phòng mẫu ứng dụng nền tảng trợ lý ảo Google Assistant và bo mạch vi điều khiển Arduino Uno R3. Hệ thống tích hợp đầy đủ các khối chức năng đo lường môi trường (nhiệt độ, độ ẩm qua DHT11, khí gas qua MQ-2), hiển thị dữ liệu qua màn hình LCD 16x2 giao tiếp I2C và điều khiển chấp hành rơ-le cho đèn, quạt cùng động cơ servo điều khiển cửa. Mặc dù vẫn còn tồn tại những hạn chế về phạm vi thử nghiệm ở cấp độ phòng đơn, nguy cơ đấu nối sai chân linh kiện và phụ thuộc vào kiến thức kỹ thuật của người dùng, công trình đã kiểm chứng thành công tính khả thi của giải pháp điều khiển thiết bị gia dụng bằng giọng nói với chi phí linh kiện hợp lý, đồng thời vạch ra định hướng mở rộng hệ thống cho toàn bộ căn hộ thông minh trong tương lai.