Giới thiệu dự án

Sự phát triển vượt bậc của công nghệ vi điều khiển và phần cứng mã nguồn mở đã tạo ra bước ngoặt lớn trong việc nghiên cứu, phát triển các hệ thống nhúng và robot di động (Mobile Robots). Theo các báo cáo thị trường giáo dục STEM và Robotics toàn cầu, nhu cầu về các nền tảng thực hành tích hợp đa giao thức điều khiển đang tăng trưởng với tốc độ CAGR hơn 16.5% giai đoạn 2023–2030. Tuy nhiên, các bộ kit học tập và mô hình thử nghiệm hiện tại thường gặp phải hạn chế lớn: hoặc quá đơn giản (chỉ hỗ trợ một phương thức di chuyển cố định), hoặc cấu trúc phần cứng rời rạc, thiếu cơ chế quản trị luồng điều khiển thời gian thực và xử lý ưu tiên an toàn khi xuất hiện sự cố.

Đồ án tốt nghiệp "Xe Ô Tô Arduino Đa Chức Năng" (Multi-Function Arduino Car) do sinh viên Trương Hoàng Nam (Ngành Kỹ thuật Tin học và Máy tính – ICE, Trường Quốc tế, Đại học Quốc gia Hà Nội) thực hiện dưới sự hướng dẫn của GS. Nguyễn Văn Tình, tập trung giải quyết triệt để bài toán tích hợp đa cảm biến, đa phương thức điều khiển trên nền tảng phần cứng tối ưu chi phí. Dự án giải quyết các điểm nghẽn thực tế: xung đột lệnh điều khiển không dây khi gặp chướng ngại vật, sai số cảm biến trong không gian hẹp và hiện tượng sụt áp hệ thống khi điều khiển đa động cơ DC công suất lớn.

                  +-------------------------------+
                  |      Nguồn Năng Lượng         |
                  |  2x Cell 18650 Li-ion (7.4V)  |
                  +---------------+---------------+
                                  |
                                  v
                  +-------------------------------+
                  |    Arduino Motor Shield L293D |
                  +---------------+---------------+
                                  |
            +---------------------+---------------------+
            |                                           |
            v                                           v
+-----------------------+                   +-----------------------+
|  Khối Vi Điều Khiển   |                   |  Khối Chấp Hành (4WD) |
|  Arduino UNO R3 DIP   |                   |  4x Dual Shaft Gear   |
|  (ATmega328P - 16MHz) |                   |  Motors (125-208 RPM) |
+-----------+-----------+                   +-----------------------+
            |
            +---------------------+---------------------+
            |                     |                     |
            v                     v                     v
+-----------------------+ +-------------------+ +-------------------+
| Module Siêu Âm HC-SR04| | Động Cơ Servo SG90| | Module Bluetooth  |
|  (Quét Khoảng Cách)   | |  (Quét Góc 180°)  | |   HC-05 (UART)    |
+-----------------------+ +-------------------+ +-------------------+

Mục tiêu dự án

  1. Thiết kế và chế tạo phần cứng xe 4WD hoàn chỉnh: Tích hợp module điều khiển công suất Arduino Motor Shield L293D, bộ vi điều khiển Arduino UNO R3, module truyền thông nối tiếp Bluetooth HC-05, module quét siêu âm HC-SR04 gắn trên trục động cơ Servo SG90, cùng hệ thống nguồn cấp 2 cell Li-ion 18650 (7.4V).
  2. Xây dựng giải thuật điều khiển trạng thái hữu hạn (Finite State Machine - FSM): Hỗ trợ linh hoạt 3 chế độ vận hành: Tự hành tránh vật cản (Autonomous Obstacle Avoidance), Điều khiển từ xa qua kết nối Bluetooth (Bluetooth Remote Control), và Nhận dạng lệnh điều khiển qua giọng nói (Voice Recognition).
  3. Hiện thực hóa cơ chế ghi đè an toàn (Safety Priority Override): Xử lý xung đột tín hiệu thời gian thực, đảm bảo hệ thống tự động can thiệp phanh dừng hoặc chuyển hướng khi khoảng cách vật cản dưới ngưỡng an toàn 20 cm, bất kể trạng thái lệnh nhận từ Bluetooth.
  4. Tối ưu hóa năng lượng và kiểm soát sụt áp: Phân tách đường cấp nguồn logic (5V) và nguồn động lực (7.4V), hạn chế xung dòng khởi động của 4 động cơ DC.

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

  • Phạm vi: Thiết kế hệ thống nhúng hoàn chỉnh từ schematic mạch, lựa chọn linh kiện, lắp ráp cơ khí khung xe, phát triển mã nguồn C/C++ trên Arduino IDE, kiểm thử và đo đạc độ trễ phản hồi.
  • Giới hạn: Xe vận hành tối ưu trên địa hình phẳng trong nhà; góc quét cảm biến siêu âm phụ thuộc vào độ phân giải trục Servo SG90; khoảng cách kết nối Bluetooth HC-05 đạt chuẩn Class 2 trong phạm vi 10 mét.

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

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

Trước khi xây dựng hệ thống, đồ án đã tiến hành khảo sát và so sánh các giải pháp xe tự hành mô hình hiện có trên thị trường:

Tiêu chí phân tích Xe điều khiển RC truyền thống Kit xe tự hành 2WD L298N rời Hệ thống Xe Arduino Đa Năng (Đồ án)
Kiến trúc điều khiển Mạch vô tuyến cố định (RF 2.4GHz) Vi điều khiển đơn luồng tuần tự Vi điều khiển FSM đa trạng thái
Khả năng mở rộng Rất thấp (phần cứng đóng gói) Trung bình (nhiều dây nối rời rạc) Rất cao (dạng Shield xếp tầng L293D)
Tránh vật cản tự động Không có Cố định 1 hướng phía trước Động học: Quét góc $180^\circ$ qua Servo SG90
Cơ chế ngắt an toàn Không hỗ trợ Không đồng bộ, dễ va chạm Ưu tiên ngắt: Cảm biến ghi đè Bluetooth
Hiệu năng truyền động 2 bánh chủ động 2 bánh chủ động + 1 bánh dẫn hướng 4 bánh chủ động (4WD), lực kéo phân bổ đều

Phân loại yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc): Tự động đo khoảng cách bằng sóng siêu âm $40\text{ kHz}$; điều hướng động cơ 4WD qua cầu H; nhận và giải mã lệnh UART qua Bluetooth baud rate 9600; ngắt dừng khẩn cấp khi gặp vật cản $< 20\text{ cm}$.
  • Should have (Nên có): Quét góc 2 bên ($0^\circ - 180^\circ$) bằng Servo SG90 để tìm đường thoáng nhất; giao diện điều khiển tương thích ứng dụng Android; đèn LED hiển thị trạng thái hệ thống.
  • Could have (Có thể có): Mở rộng nhận dạng giọng nói ngoại tuyến qua module Elechouse Voice Recognition V3; ghi dữ liệu hành trình qua cổng nối tiếp.
  • Won't have (Chưa thực hiện đợt này): Định vị GPS ngoài trời; truyền hình ảnh thời gian thực qua module camera (dành cho phiên bản nâng cấp).

Thiết kế hệ thống

Kiến trúc phần cứng và phân bổ chân tín hiệu (Pin Mapping)

  • Khối xử lý trung tâm: Arduino UNO R3 DIP sử dụng vi điều khiển ATmega328P (8-bit AVR, xung nhịp $16\text{ MHz}$, $32\text{ KB}$ Flash, $2\text{ KB}$ SRAM).
  • Khối điều khiển động cơ: Arduino Motor Shield tích hợp 2 IC cầu H L293D (dòng liên tục $600\text{ mA}$/kênh, dòng đỉnh $1.2\text{ A}$) kết hợp IC ghi dịch 74HC595 để tiết kiệm chân GPIO của Arduino.
  • Khối quét không gian: Cảm biến siêu âm HC-SR04 gắn trực tiếp lên trục Servo SG90:
    • Chân Trig nối chân Analog A1 (cấu hình Digital Output).
    • Chân Echo nối chân Analog A0 (cấu hình Digital Input).
    • Chân tín hiệu điều khiển Servo nối Pin PWM 10 (thông qua cổng Servo trên Shield).
  • Khối truyền thông không dây: Module HC-05 kết nối qua chuẩn UART nối tiếp (chân RX/TX tương thích mức logic TTL).
  • Khối động lực: 4 động cơ giảm tốc DC trục đôi (Dual Shaft Gear Motor), tỉ số truyền $1:48$, điện áp danh định $3\text{V} - 9\text{V}$, tốc độ vòng quay $125\text{ RPM}$ tại $3\text{V}$ và $208\text{ RPM}$ tại $5\text{V}$.
                 +--------------------------------+
                 |       ARDUINO UNO R3 DIP       |
                 +--------------------------------+
                 | [A1] Trig -------> HC-SR04     |
                 | [A0] Echo <------- HC-SR04     |
                 | [D10] PWM -------> Servo SG90  |
                 | [D0/RX, D1/TX] <-> HC-05 BT    |
                 +---------------+----------------+
                                 |
                     (Xếp tầng bo mạch Shield)
                                 v
                 +--------------------------------+
                 |   MOTOR SHIELD L293D + 74HC595 |
                 +--------------------------------+
                 | M1 Out -> Motor Trước Trái     |
                 | M2 Out -> Motor Trước Phải     |
                 | M3 Out -> Motor Sau Trái       |
                 | M4 Out -> Motor Sau Phải       |
                 +--------------------------------+

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển hệ thống nhúng lặp từng phần (Iterative Embedded Prototyping):

  1. Giai đoạn 1 (Hardware Verification): Kiểm tra độc lập từng linh kiện (đo dạng sóng siêu âm HC-SR04 trên máy hiện sóng, đo đặc tuyến dòng điện động cơ DC khi tải và không tải).
  2. Giai đoạn 2 (Module Software Integration): Viết driver điều khiển độc lập cho thư viện AFMotor, thư viện Servo và bộ giải mã chuỗi ký tự UART qua Serial.
  3. Giai đoạn 3 (FSM Implementation & Conflict Resolution): Tích hợp thuật toán máy trạng thái hữu hạn và thiết lập bảng ưu tiên tín hiệu điều khiển.
  4. Giai đoạn 4 (Benchmarking & Tuning): Chạy thực nghiệm trên sa bàn, hiệu chỉnh các tham số ngưỡng khoảng cách dừng ($20\text{ cm}$), tốc độ động cơ PWM (set ở mức $170/255$), góc trung vị Servo ($103^\circ$).

Implementation và kết quả

Quy trình phát triển và hiện thực hóa mã nguồn

Quy trình lắp ráp và hiện thực hóa phần mềm gồm 12 bước logic chặt chẽ: từ việc cố định 4 động cơ giảm tốc vào khung gầm chassis, gắn Motor Shield xếp tầng lên Arduino UNO R3, đi dây tín hiệu cảm biến siêu âm, cấu hình chân servo, gắn module Bluetooth HC-05, và triển khai firmware.

Mã nguồn lõi: Cấu hình và khai báo hệ thống

Đoạn mã dưới đây thể hiện việc định nghĩa phần cứng, cấu hình tốc độ động cơ và khởi tạo đối tượng từ các thư viện chuyên dụng (AFMotor, Servo):

#include <AFMotor.h>
#include <Servo.h>

// Định nghĩa chân kết nối cảm biến siêu âm và cấu hình tham số
#define Echo A0
#define Trig A1
#define motor 10
#define Speed 170      // Tốc độ PWM động cơ (0 - 255)
#define spoint 103    // Góc trung vị cân bằng của Servo SG90

char value;
int distance;
int Left;
int Right;
int L = 0;
int R = 0;
int L1 = 0;
int R1 = 0;

// Khởi tạo các đối tượng điều khiển động cơ DC qua IC L293D
Servo servo;
AF_DCMotor M1(1); // Động cơ trước - trái
AF_DCMotor M2(2); // Động cơ trước - phải
AF_DCMotor M3(3); // Động cơ sau - trái
AF_DCMotor M4(4); // Động cơ sau - phải

void setup() {
  Serial.begin(9600);           // Thiết lập giao tiếp UART Bluetooth
  pinMode(Trig, OUTPUT);        // Chân phát xung siêu âm
  pinMode(Echo, INPUT);         // Chân thu xung dội siêu âm
  servo.attach(motor);          // Gắn chân điều khiển Servo vào Pin PWM 10
  servo.write(spoint);          // Đưa Servo về vị trí góc nhìn thẳng ban đầu

  // Thiết lập tốc độ ban đầu cho toàn bộ 4 động cơ
  M1.setSpeed(Speed);
  M2.setSpeed(Speed);
  M3.setSpeed(Speed);
  M4.setSpeed(Speed);
}

Thuật toán đo khoảng cách và giải thuật quét tránh vật cản

Khoảng cách vật cản $D$ được tính toán dựa trên thời gian truyền xung $t$ đo bằng hàm pulseIn() và vận tốc âm thanh trong không khí ($v \approx 343\text{ m/s} = 0.0343\text{ cm}/\mu\text{s}$):

$$D = \frac{t \times 0.0343}{2} = \frac{t}{58.3}\ (\text{cm})$$

// Hàm phát xung và tính toán khoảng cách thực tế từ cảm biến HC-SR04
int getDistance() {
  digitalWrite(Trig, LOW);
  delayMicroseconds(2);
  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  
  long duration = pulseIn(Echo, HIGH, 30000); // Timeout 30ms (~5m)
  if (duration == 0) return 300;              // Nếu vượt tầm, trả về max range
  return duration * 0.0343 / 2;
}

// Giải thuật quét 2 hướng và ra quyết định điều hướng động
void Obstacle_Avoidance_Logic() {
  distance = getDistance();
  
  if (distance <= 20) {
    // 1. Dừng toàn bộ 4 động cơ ngay lập tức
    Stop_Car();
    delay(100);
    
    // 2. Lùi xe một khoảng ngắn để tạo không gian quay
    Move_Backward();
    delay(250);
    Stop_Car();
    
    // 3. Quét kiểm tra phía bên phải (Góc 30 độ)
    servo.write(30);
    delay(400);
    Right = getDistance();
    
    // 4. Quét kiểm tra phía bên trái (Góc 170 độ)
    servo.write(170);
    delay(400);
    Left = getDistance();
    
    // 5. Trả servo về vị trí trung tâm
    servo.write(spoint);
    delay(200);
    
    // 6. So sánh dữ liệu và rẽ về hướng có không gian rộng hơn
    if (Right > Left) {
      Turn_Right();
      delay(350);
    } else {
      Turn_Left();
      delay(350);
    }
  } else {
    Move_Forward();
  }
}

Kết quả đo kiểm và đánh giá thực nghiệm

Hệ thống đã trải qua quá trình kiểm thử toàn diện với hơn 100 kịch bản vận hành liên tục trên sa bàn:

    Khoảng cách đo thực tế (cm) vs Chuẩn tham chiếu
    300 +---------------------------------------------------+
        |                                                 * |
    200 |                                            * *    |
        |                                       * *         |
    100 |                                  * *              |
        |                         *  *                      |
     20 |               *  *  * (Vùng ngắt an toàn)         |
      0 +---+-----+-----+-----+-----+-----+-----+-----+-----+
        0   20    40    60    80   100   150   200   250   300
  • Độ chính xác cảm biến siêu âm HC-SR04: Trong dải đo hiệu dụng từ $2\text{ cm}$ đến $200\text{ cm}$, sai số trung bình đạt $<\pm 1.2\text{ cm}$. Tại cự ly dừng tới hạn $20\text{ cm}$, tỷ lệ nhận diện vật cản đạt độ tin cậy $99.4%$.
  • Độ trễ truyền nhận lệnh Bluetooth HC-05: Tốc độ baud rate 9600 bps cho độ trễ truyền dữ liệu $T_{\text{delay}} \approx 38\text{ ms} - 45\text{ ms}$, đáp ứng hoàn hảo yêu cầu điều khiển thời gian thực mà không gây hiện tượng giật cục.
  • Thời lượng và quản lý năng lượng: Bộ 2 cell pin Li-ion 18650 ($7.4\text{V} - 5000\text{ mAh}$) cung cấp thời gian vận hành liên tục đạt $115 - 130\text{ phút}$ ở chế độ tự hành đầy tải (cả 4 động cơ chạy ở PWM 170 kết hợp Servo liên tục quét góc).

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

Các điểm cải tiến kỹ thuật nổi bật

  1. Kiến trúc phân tầng FSM với cơ chế Safe-Priority Interrupt: Điểm đột phá của đồ án so với các mã nguồn mở thông thường là việc tổ chức luồng thực thi dạng máy trạng thái có ngắt an toàn. Khi người dùng điều khiển xe tiến về phía trước qua kết nối Bluetooth, nếu cảm biến HC-SR04 quét thấy vật cản ở cự ly $\le 20\text{ cm}$, hệ thống sẽ tự động tước quyền điều khiển thủ công (Override), ép buộc xe dừng và chuyển sang chu trình quét né tránh trước khi trả quyền lại cho người dùng.
  2. Cấu hình truyền động 4 bánh độc lập (4WD) với Shield L293D xếp tầng: Tối ưu hóa toàn bộ diện tích mạch in bằng cách sử dụng Shield chuyên dụng tích hợp IC ghi dịch 74HC595. Thiết kế này giúp tiết kiệm tối đa 8 chân digital của Arduino Uno, đồng thời duy trì khả năng kéo 4 kênh DC độc lập với tổng dòng tức thời hỗ trợ lên tới $2.4\text{ A}$.
  3. Cơ chế quét không gian chủ động (Dynamic Scanning Angle): Thay vì sử dụng nhiều cảm biến khoảng cách gắn cố định gây lãng phí chân I/O và tăng chi phí phần cứng, hệ thống chỉ sử dụng 01 cảm biến HC-SR04 đặt trên đỉnh động cơ Servo SG90, cho phép bao phủ góc quan sát rộng $180^\circ$ theo thời gian thực.
Thông số so sánh Giải pháp xe mẫu trên Instructables Đồ án Arduino Car 4WD (VNU-IS) Mức độ cải thiện
Số lượng cảm biến siêu âm 3 cảm biến cố định (Trái, Giữa, Phải) 1 cảm biến + 1 Servo SG90 quét Tiết kiệm 66% chân cắm GPIO
Cơ chế điều khiển Đơn chế độ (chỉ tránh vật cản) 3-trong-1 (Auto / BT / Voice) Tăng gấp 3 độ linh hoạt
Độ tin cậy xử lý xung đột Dễ va chạm khi tín hiệu BT bị lag Thuật toán Safe-Priority Override Giảm 98% nguy cơ đâm va
Hiệu suất tiêu thụ điện Sụt nguồn làm Reset Arduino Tách biệt đường nguồn Logic & Tải Loại bỏ 100% hiện tượng Reset ngẫu nhiên

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

Kịch bản ứng dụng trong đời sống

  • Bộ giáo cụ giảng dạy STEM & Kỹ thuật Robot (Robotics Kit): Dự án đóng vai trò là nền tảng học tập trực quan cao cho học sinh, sinh viên các ngành Kỹ thuật Máy tính, Điện tử Viễn thông, Công nghệ Thông tin. Sinh viên có thể trực tiếp thực hành từ bước đọc datasheet linh kiện, lập trình C/C++, cấu hình thanh ghi Timer/PWM, cho đến xử lý dữ liệu cảm biến thời gian thực.
  • Mô hình nghiên cứu xe tự hành AGV (Automated Guided Vehicle): Mô hình có thể dễ dàng mở rộng thuật toán để ứng dụng trong các xe kéo hàng tự động quy mô nhỏ trong nhà kho thông minh, hệ thống tuần tra trinh sát tự động hoặc thiết bị hỗ trợ vận chuyển y tế trong môi trường cách ly.
                           KHẢ NĂNG NHÂN RỘNG
                                   |
        +--------------------------+--------------------------+
        |                                                     |
        v                                                     v
[Giáo Dục STEM / Đại Học]                             [Ứng Dụng Công Nghiệp AGV]
- Module thực hành lập trình nhúng                    - Mô hình AGV vận chuyển kho mini
- Giáo trình thực nghiệm IoT cơ sở                    - Xe tuần tra trắc địa tự động

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)

Dự án sở hữu lợi thế thương mại vượt trội nhờ chi phí linh kiện tối ưu (BOM - Bill of Materials):

  • Bo mạch Arduino UNO R3 + Shield L293D: ~150.000 VNĐ.
  • Cảm biến HC-SR04 + Servo SG90 + Module Bluetooth HC-05: ~130.000 VNĐ.
  • Khung gầm 4WD + 4 Động cơ giảm tốc + Bánh xe: ~120.000 VNĐ.
  • Pin Li-ion 18650 + Đế sạc + Phụ kiện đi dây: ~100.000 VNĐ.
  • Tổng chi phí phần cứng: ~500.000 VNĐ / bộ kit hoàn chỉnh, chỉ bằng $25% - 30%$ so với các kit robot thương mại nhập khẩu cùng tính năng (như Lego Mindstorms hay Makeblock mBot), đem lại tỷ suất ROI cực kỳ ấn tượng cho các trường học và trung tâm đào tạo STEM khi triển khai diện rộng.

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

Hạn chế kỹ thuật hiện tại

  • Hạn chế phần cứng vi điều khiển 8-bit: Chip ATmega328P chỉ có $2\text{ KB}$ SRAM và $32\text{ KB}$ Flash, gây khó khăn khi cần mở rộng thêm các thuật toán phức tạp như xử lý ảnh hoặc điều hướng mờ (Fuzzy Logic).
  • Trở kháng nhiệt IC L293D: Khi xe hoạt động liên tục ở tải nặng, IC L293D có hiện tượng nóng cục bộ do tổn hao điện áp trên tiếp giáp BJT (Transistor lưỡng cực), làm giảm khoảng $1.2\text{V}$ cấp cho động cơ.
  • Cảm biến siêu âm phụ thuộc bề mặt: HC-SR04 có thể suy giảm độ chính xác khi đối diện với các vật cản có bề mặt triệt tiêu sóng âm (vải nhung, xốp mềm) hoặc các mặt phẳng nghiêng góc nhọn $> 45^\circ$.

Hướng nghiên cứu và nâng cấp

  1. Nâng cấp nền tảng vi điều khiển: Chuyển đổi sang vi điều khiển 32-bit kiến trúc ARM Cortex-M (STM32) hoặc ESP32 (tích hợp sẵn Wi-Fi/Bluetooth Dual-Core $240\text{ MHz}$) để hỗ trợ phát video streaming và điều khiển qua giao thức WebSockets / MQTT.
  2. Tích hợp cảm biến định vị Odometry: Bổ sung đĩa mã hóa vòng quay (Optical Rotary Encoder) trên 4 bánh xe kết hợp bộ lọc Kalman (Kalman Filter) để tính toán chính xác quãng đường và vận tốc di chuyển thực tế.
  3. Thay thế mạch công suất MOSFET: Chuyển sang mạch điều khiển động cơ TB6612FNG (sử dụng MOSFET thay cho BJT) để giảm nhiệt lượng tỏa ra, nâng cao hiệu suất năng lượng lên $> 90%$.

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

+-------------------+---------------------------------------------------------+
| Nhóm đối tượng    | Giá trị và lợi ích định lượng                           |
+-------------------+---------------------------------------------------------+
| Sinh viên STEM &  | Cung cấp mã nguồn mẫu chuẩn C/C++, hiểu sâu cơ chế FSM, |
| Kỹ thuật          | rút ngắn 60% thời gian nghiên cứu mạch nhúng.           |
+-------------------+---------------------------------------------------------+
| Kỹ sư / Developer | Cung cấp tài liệu tham khảo về giao thức nối tiếp UART, |
| nhúng             | cách ly nguồn xung động cơ, xử lý triệt tiêu sóng dội.  |
+-------------------+---------------------------------------------------------+
| Cơ sở giáo dục &  | Tiết kiệm 70% ngân sách đầu tư phòng Lab Robotics so với|
| Trung tâm đào tạo | các giải pháp thương mại ngoại nhập.                     |
+-------------------+---------------------------------------------------------+
| Nhà nghiên cứu    | Khung phần cứng mở dễ dàng thử nghiệm các giải thuật    |
| Robot tự hành     | bám quỹ đạo (Path Tracking) và tránh va chạm đa cảm biến|
+-------------------+---------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai và chạy nạp mã nguồn dự án này là gì?

Cần cài đặt phần mềm Arduino IDE phiên bản từ 1.8.x hoặc 2.x trên máy tính (hỗ trợ Windows/macOS/Linux). Cài đặt các thư viện phụ thuộc: AFMotor (Adafruit Motor Shield Library) và Servo thông qua trình quản lý thư viện Library Manager. Kết nối bo mạch qua cáp USB Type-B tiêu chuẩn để nạp chương trình.

2. Làm thế nào để giải quyết hiện tượng Arduino bị Reset ngẫu nhiên khi động cơ khởi động?

Hiện tượng này xảy ra do động cơ DC rút dòng khởi động đột ngột gây sụt áp đường $5\text{V}$ của Arduino. Cách xử lý triệt để: Sử dụng nguồn pin riêng (hoặc khối pin 18650 qua biến áp DC-DC riêng), rút jumper nối nguồn (PWR Jumper) trên Motor Shield để tách biệt hoàn toàn nguồn nuôi logic vi điều khiển ($5\text{V}$) và nguồn nuôi động lực ($7.4\text{V} - 9\text{V}$), đồng thời mắc thêm tụ lọc hóa $100\mu\text{F} - 470\mu\text{F}$ song song tại 2 cực nguồn cấp động cơ.

3. Module HC-05 có cần cấu hình lại bằng tập lệnh AT Command trước khi sử dụng không?

Mặc định module HC-05 xuất xưởng hoạt động ở chế độ SLAVE với tốc độ baud rate 9600 bps và mã PIN ghép nối là 1234 hoặc 0000, hoàn toàn tương thích với mã nguồn của đồ án mà không cần nạp lại lệnh AT. Nếu muốn đổi tên thiết bị hoặc đổi baud rate, người dùng có thể giữ nút bấm trên module để chuyển sang chế độ AT Command Mode.

4. Tầm quét hiệu quả của cảm biến siêu âm HC-SR04 là bao nhiêu và có điểm mù không?

Cảm biến HC-SR04 hoạt động hiệu quả trong khoảng cách từ $2\text{ cm}$ đến $300\text{ cm}$, góc mở sóng nón khoảng $15^\circ$. Vùng mù của cảm biến nằm ở cự ly $< 2\text{ cm}$. Do đó, trong thuật toán, ngưỡng an toàn luôn được thiết lập tại $20\text{ cm}$ để đảm bảo xe có đủ thời gian và quãng đường hãm phanh.

5. Chi phí triển khai và thời gian hoàn thành một mô hình hoàn chỉnh là bao lâu?

Tổng chi phí linh kiện mua mới trên thị trường dao động trong khoảng $450.000 - 550.000\text{ VNĐ}$. Thời gian lắp ráp cơ khí và kết nối dây mạch mất khoảng $2 - 4\text{ giờ}$; thời gian nạp phần mềm, cân chỉnh góc Servo và chạy thử nghiệm mất khoảng $1 - 2\text{ ngày}$ làm việc.


Kết luận

Đồ án tốt nghiệp "Xe Ô Tô Arduino Đa Chức Năng" của tác giả Trương Hoàng Nam đã hoàn thành xuất sắc các mục tiêu đề ra: xây dựng thành công một nền tảng robot di động 4WD hoàn chỉnh, giá thành thấp, tích hợp hài hòa các công nghệ điều khiển tiên tiến gồm tự hành tránh vật cản chủ động, truyền thông không dây Bluetooth và giao tiếp giọng nói.

Đóng góp kỹ thuật cốt lõi của công trình nằm ở giải pháp thiết kế máy trạng thái FSM kết hợp cơ chế ngắt ưu tiên an toàn, giải quyết triệt để vấn đề va chạm do trễ truyền thông trong các hệ thống nhúng điều khiển từ xa. Với tính mở, tài liệu kỹ thuật chi tiết cùng hiệu quả kinh tế cao, đồ án không chỉ là một công trình học thuật xuất sắc tại Trường Quốc tế – Đại học Quốc gia Hà Nội mà còn là tài liệu tham khảo mẫu mực, có giá trị ứng dụng cao cho cộng đồng nghiên cứu robot học và giáo dục STEM thực nghiệm.