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

Đồ án tốt nghiệp "Điều khiển robot bằng giọng nói" được thực hiện bởi sinh viên Trịnh Ngọc Danh và Đặng Viết Tâm, dưới sự hướng dẫn của ThS. Nguyễn Văn Hiệp tại Bộ môn Điện tử Công nghiệp, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (tháng 07/2017).

Về bối cảnh thực tiễn, tác giả chỉ ra rằng từ năm 2001 trở lại đây, tiến bộ khoa học – kỹ thuật và tự động hóa được ứng dụng sâu rộng vào sản xuất và đời sống tại Việt Nam nhằm thay thế sức lao động thủ công. Trên thế giới, các sản phẩm tự động hóa phục vụ đời sống (như robot hút bụi, máy giặt đa năng, hệ thống giám sát Internet) và công nghệ điều khiển bằng giọng nói (điển hình như robotcam trong y khoa tại Mỹ) đã có những bước tiến lớn. Tại Việt Nam, nghiên cứu điều khiển thiết bị bằng giọng nói vào thời điểm thực hiện đề tài vẫn còn tương đối mới mẻ. Việc kết hợp công nghệ nhận dạng giọng nói sẵn có của Google, hệ điều hành Android, kết nối không dây Bluetooth và nền tảng vi điều khiển Arduino mở ra tiềm năng ứng dụng thực tế trong học tập, nghiên cứu và giải trí.

Mục tiêu chính của đề tài là thiết kế và thi công một mô hình xe robot có khả năng nhận lệnh điều khiển bằng giọng nói của con người thông qua điện thoại thông minh (smartphone) chạy hệ điều hành Android, phục vụ nhu cầu giải trí và thư giãn.

Nhiệm vụ nghiên cứu của đồ án bao gồm 6 nội dung cụ thể:

  1. Tìm hiểu và lựa chọn nguồn cấp, module kết nối Bluetooth và vi điều khiển phù hợp.
  2. Viết ứng dụng trên hệ điều hành Android để smartphone nhận tín hiệu giọng nói, xử lý và truyền dữ liệu điều khiển đến vi điều khiển.
  3. Thiết kế và thi công các khối phần cứng: Module vi điều khiển Arduino Mega 2560, Module công suất Motor Shield L293D và Module truyền thông Bluetooth HC-06.
  4. Kết nối, tích hợp các khối module phần cứng và phần mềm điều khiển.
  5. Chạy thử nghiệm, kiểm tra thông số và cân chỉnh mô hình xe robot.
  6. Hoàn thiện quyển báo cáo khóa luận tốt nghiệp.

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

  • Đối tượng nghiên cứu: Hệ thống phần cứng xe robot 4 bánh (động cơ DC giảm tốc, mạch điều khiển công suất L293D, vi điều khiển ATmega2560, module Bluetooth HC-06) và ứng dụng di động xử lý giọng nói trên hệ điều hành Android.
  • Phạm vi không gian: Kết nối truyền thông không dây Bluetooth trong cự ly hoạt động không quá 10 m (chuẩn Bluetooth Class 2).
  • Phạm vi công nghệ: Ứng dụng điều khiển chỉ tương thích với hệ điều hành Android và yêu cầu kết nối mạng Internet để thực hiện nhận dạng giọng nói qua dịch vụ của Google; việc nhận dạng phụ thuộc vào độ chuẩn của giọng phát âm.

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

Đồ án dựa trên các nền tảng lý thuyết kỹ thuật điện tử, vi điều khiển và công nghệ truyền thông không dây:

  • Công nghệ truyền thông không dây Bluetooth: Sử dụng sóng vô tuyến ở dải tần số 2.48 GHz thuộc băng tần chung ISM (Industrial, Scientific, Medical). Tốc độ truyền dữ liệu đạt mức tối đa 1 Mbps, hỗ trợ 3 kênh truyền giọng nói và 7 kênh truyền dữ liệu trong mạng cá nhân. Mức tiêu thụ năng lượng ở chế độ chờ là 0.3 mAh và tối đa khoảng 30 mAh khi truyền dữ liệu.
  • Hệ điều hành Android: Cấu trúc nền tảng gồm 5 tầng phân bố trong 4 lớp:
    1. Tầng nhân Linux (Linux Kernel 2.6): Quản lý bộ nhớ, tiến trình, bảo mật và các trình điều khiển phần cứng (Display, Camera, Bluetooth, USB, Audio, Binder IPC, Power Management).
    2. Tầng thư viện (Libraries): Chứa các thư viện C/C++ như System C library, Media Framework, Surface Manager, WebKit, SGL, OpenGL/ES, FreeType, SQLite.
    3. Tầng Android Runtime: Gồm các thư viện lõi (Core Libraries) và máy ảo Dalvik (Dalvik Virtual Machine) thực thi tệp tin định dạng .dex.
    4. Tầng khung ứng dụng (Application Framework): Cung cấp các dịch vụ quản lý như Activity Manager, Window Manager, View System, Content Providers, Resource Manager, Telephony Manager, Package Manager.
    5. Tầng ứng dụng (Applications): Chạy các ứng dụng Java đóng gói dạng .apk.
  • Phần cứng vi điều khiển Arduino Mega 2560: Sử dụng vi điều khiển ATmega2560 kiến trúc AVR của hãng Atmel. Tần số hoạt động 16 MHz, bộ nhớ Flash 256 KB, SRAM 8 KB, EEPROM 4 KB, cung cấp 54 chân Digital I/O (15 chân PWM), 16 chân Analog, 4 bộ giao tiếp UART phần cứng, dòng ra tối đa 30 mA mỗi chân I/O.
  • Module Arduino Motor Shield L293D: Tích hợp 2 IC cầu H L293D (dòng tải tối đa 600 mA/kênh, điện áp hỗ trợ lên tới 36 V) kết hợp với 1 IC ghi dịch chốt dữ liệu 8-bit 74HC595 (ngõ vào nối tiếp DS, chân xung dịch SH_CP, chân chốt ST_CP, chân cho phép ngõ ra OE tích cực mức thấp) nhằm tiết kiệm chân điều khiển của vi điều khiển.
  • Module Bluetooth HC-06: Sử dụng chipset CSR BC417 / BC417143, bộ nhớ Flash ngoài 8 Mbit, phiên bản Bluetooth V2.0 + EDR, hoạt động ở dải điện áp 3.3 V – 6.6 V (dòng kết nối ban đầu 30 mA, dòng truyền nhận ổn định 8 mA), hỗ trợ chế độ Command Mode (cấu hình tập lệnh AT) và Data Mode (chế độ Slave với Baud rate mặc định 9600, 8 data bit, 1 stop bit, no parity, mã PIN ghép nối 1234).
  • Chuẩn giao tiếp UART (Universal Asynchronous Receiver - Transmitter): Truyền thông nối tiếp bất đồng bộ qua hai chân tín hiệu RX và TX, cấu trúc khung truyền (Frame) bao gồm Start bit (mức 0), 8 bit dữ liệu (D0–D7), bit kiểm tra Parity và Stop bit (mức 1).
  • Công cụ hỗ trợ khác: Nhóm tác giả tham khảo công cụ Curve Fitting Toolbox trong MATLAB hỗ trợ phân tích tham số và khớp nối dữ liệu.

Phương pháp nghiên cứu kết hợp giữa phân tích lý thuyết, thiết kế mô hình hóa trên sơ đồ nguyên lý (sử dụng phần mềm Fritzing), lập trình khối chức năng trên công cụ trực quan MIT App Inventor 2, lập trình nhúng C/C++ bằng Arduino IDE và kiểm nghiệm thực nghiệm trên mô hình xe phần cứng. Nguồn dữ liệu bao gồm datasheet linh kiện từ nhà sản xuất, tài liệu lập trình Android của Open Handset Alliance (OHA) và tài liệu kỹ thuật của Arduino.


Thiết kế và triển khai

Hệ thống điều khiển được phân chia thành 5 khối chức năng chính: Khối nguồn, Khối xử lý trung tâm (Arduino Mega 2560), Khối module điều khiển động cơ (Motor Shield L293D), Khối module truyền thông Bluetooth (HC-06) và Khối ứng dụng Android trên smartphone.

Tính toán phụ tải và thiết kế nguồn cung cấp

Để đảm bảo hệ thống hoạt động ổn định và có tính cơ động, nhóm tác giả đã khảo sát mức tiêu thụ điện áp và dòng điện của các thành phần phần cứng trong hệ thống:

STT Tên linh kiện / Khối chức năng Điện áp định mức (VDC) Dòng điện định mức (mA)
1 Bo mạch vi điều khiển Arduino Mega 2560 5 – 9 30
2 Động cơ DC giảm tốc V1 ($4 \times 140\text{ mA}$) 3 – 9 560
3 Module Bluetooth HC-06 5 40
4 Module Arduino Motor Shield L293D 4.5 – 16 1200
Tổng Toàn bộ hệ thống ($I_{tổng}$) — 1830 mA

Dựa trên tổng dòng điện tính toán ($1830\text{ mA}$), giải pháp cấp nguồn được phân tách độc lập:

  • Nguồn cấp cho vi điều khiển và các module logic: Sử dụng pin sạc dự phòng Xiaomi dung lượng 5000 mAh, điện áp ngõ ra 5 VDC qua cổng USB.
  • Nguồn cấp cho khối động cơ công suất: Sử dụng pin sạc LiPo 3-cell điện áp 12 VDC kết nối vào chân EXT_PWR của Motor Shield (rút jumper PWR để cách ly nguồn động cơ với vi điều khiển nhằm tránh sụt áp).

Thiết kế phần cứng và cơ khí robot

  • Khung xe: Thiết kế dạng 2 tầng song song cố định bằng đinh ốc. Tầng dưới bố trí bo mạch Arduino Mega 2560, Motor Shield L293D, module HC-06 và khối nguồn; tầng trên làm giá đỡ đặt điện thoại thông minh.
  • Hệ thống chuyển động: Sử dụng 4 động cơ DC giảm tốc V1 có tỉ số truyền 1:48, tốc độ quay 125 vòng/phút ở điện áp 3 VDC và 208 vòng/phút ở điện áp 5 VDC.
  • Ghép nối điều khiển: 4 ngõ ra động cơ nối vào các cổng M1, M2, M3, M4 của Motor Shield. Vi điều khiển giao tiếp với IC 74HC595 qua các chân số 4, 7, 8, 12; các chân cấp xung điều khiển động cơ nối tại chân 3, 5, 6, 11; hai cổng RC Servo tích hợp sẵn nối với chân 9 và 10.
  • Mạch nạp và giao tiếp: Arduino Mega sử dụng chip chuyển đổi giao tiếp USB-UART CH340. Khi nạp chương trình qua cổng USB, các kết nối UART ngoại vi trên chân RX0/TX0 cần được ngắt để tránh xung đột đường truyền.

Thiết kế ứng dụng điều khiển trên Android

Ứng dụng được xây dựng trên nền tảng web MIT App Inventor 2 (phát triển ban đầu bởi Google từ tháng 07/2010):

  • Cơ chế nhận dạng: Sử dụng component SpeechRecognizer để thu âm giọng nói người dùng, gửi dữ liệu lên máy chủ Google để xử lý chuyển thành chuỗi văn bản (Speech-to-Text).
  • Giao diện và chức năng: Giao diện gồm nút kết nối Bluetooth (ListPicker_Blue), màn hình hiển thị trạng thái ("Disconnected" / "Connected BT"), nút kích hoạt nhận giọng nói (Button_Start), nhãn hiển thị số điện thoại liên lạc khẩn cấp, các nút ghi âm (Button_Rec, Button_StopRec, Button_PlayRec), nút bật tắt (Button_OnOff) và chức năng đặt báo thức qua TimePicker.
  • Cơ chế điều khiển: Khi nhận diện đúng khẩu lệnh điều khiển hướng di chuyển (tiến, lùi, rẽ trái, rẽ phải, dừng), ứng dụng gửi ký tự mã hóa tương ứng qua liên kết Bluetooth UART đến Arduino để chấp hành; nếu khẩu lệnh không khớp sẽ hiển thị thông báo "Thử lại".
  • Tiện ích mở rộng: Tích hợp PhoneCall để tự động quay số điện thoại người thân khi có lệnh cứu hộ, SoundRecorder để ghi lại lời nhắn, và Player để phát nhạc/kể chuyện từ bộ nhớ thiết bị.

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

Chương 1. Tổng quan

Chương 1 trình bày tính cấp thiết của đề tài trong bối cảnh tự động hóa phát triển mạnh mẽ; phân tích việc ứng dụng công nghệ điều khiển bằng giọng nói trên thế giới và tính mới tại Việt Nam. Tác giả xác định rõ mục tiêu chế tạo xe robot nhận lệnh giọng nói qua smartphone phục vụ giải trí, đề ra 6 nội dung nghiên cứu kỹ thuật, xác lập các giới hạn về cự ly kết nối (dưới 10 m), nền tảng phần mềm (Android) và khái quát cấu trúc 5 chương của đồ án.

Chương 2. Cơ sở lý thuyết

Chương 2 cung cấp cơ sở khoa học chi tiết về các công nghệ sử dụng trong đề tài:

  • Phân tích nguyên lý truyền sóng vô tuyến Bluetooth dải tần 2.48 GHz, ưu điểm về bảo mật, tiết kiệm năng lượng và nhược điểm về tốc độ (tối đa 720 kbps – 1 Mbps).
  • Trình bày lịch sử phát triển của hệ điều hành Android qua các phiên bản từ Cupcake 1.5, Donut 1.6, Eclair 2.1, Froyo 2.2, Gingerbread 2.3, Honeycomb 3.0, ICS 4.0, Jelly Bean 4.2/4.3, KitKat 4.4 đến Lollipop 5.0; phân tích kiến trúc ngăn xếp 5 tầng và nguyên lý hoạt động của máy ảo Dalvik VM.
  • Khảo sát các module phần cứng: Vi điều khiển ATmega2560 trên bo mạch Arduino Mega 2560; cấu tạo Motor Shield L293D tích hợp IC logic 74HC595 (bảng chức năng các chân VCC, GND, DS, SH_CP, ST_CP, OE, MR, Q0–Q7, Q7'); nguyên lý truyền thông nối tiếp bất đồng bộ UART; đặc tính kỹ thuật của module Bluetooth HC-06 (chip CSR BC417); cùng giới thiệu về công cụ Curve Fitting Toolbox trong MATLAB.

Chương 3. Tính toán và thiết kế

Chương 3 đi sâu vào thiết kế sơ đồ khối và sơ đồ nguyên lý toàn mạch:

  • Xây dựng sơ đồ khối hoàn chỉnh với 5 khối chức năng và làm rõ đường truyền tín hiệu UART qua kết nối không dây Bluetooth.
  • Thiết kế giao diện ứng dụng trên điện thoại (màn hình kết nối, màn hình chờ nhận diện giọng nói, cấu hình danh bạ gọi điện).
  • Thiết kế kết cấu cơ khí khung xe 2 tầng; lựa chọn 4 động cơ DC giảm tốc V1 (tỉ số truyền 1:48); thiết kế mạch giao tiếp giữa vi điều khiển, IC L293D và IC 74HC595.
  • Lập bảng tính toán dòng điện chi tiết của các linh kiện ($I_{tổng} = 1830\text{ mA}$) để đưa ra phương án cấp nguồn kép: pin sạc dự phòng Xiaomi 5000 mAh (5 VDC) cho mạch điều khiển và pin LiPo 3-cell 12 VDC cho động cơ công suất.
  • Thiết kế sơ đồ nguyên lý toàn hệ thống bằng phần mềm Fritzing.

Chương 4. Thi công hệ thống

Chương 4 mô tả quy trình hiện thực hóa mô hình từ bản vẽ thiết kế:

  • Giới thiệu công cụ lập trình đồ họa MIT App Inventor 2, quy trình khởi tạo tài khoản và thiết lập môi trường phát triển ứng dụng web.
  • Lập trình chi tiết các khối sự kiện của ứng dụng Android: SpeechRecognizer1 (xử lý chuỗi nhận dạng giọng nói), ListPicker_Blue (quét và chọn thiết bị Bluetooth), các sự kiện nút bấm (Button_Start, Button_Stop, Button_Disconnect, Button_GetText, Button_Rec, Button_StopRec, Button_PlayRec), sự kiện PhoneCall1, SoundRecorder, TimePicker và quản lý các biến trạng thái.
  • Thi công lắp ráp cơ khí: Gắn 4 động cơ giảm tốc và bánh xe vào khung đế, ghép nối Motor Shield L293D trực tiếp lên bo mạch Arduino Mega 2560, kết nối module Bluetooth HC-06 vào các chân UART, cố định khối nguồn và hoàn thiện giá đỡ smartphone tầng trên.
  • Xây dựng lưu đồ thuật toán điều khiển cho vi điều khiển ATmega2560 và nạp mã nguồn thông qua môi trường Arduino IDE.

Chương 5. Kết quả, nhận xét, đánh giá và Kết luận - Hướng phát triển

Chương 5 tổng kết toàn bộ sản phẩm thực tế thu được sau quá trình nghiên cứu và chế tạo:

  • Đánh giá hoạt động của mô hình xe robot thực tế: Xe phản hồi đúng các khẩu lệnh di chuyển từ ứng dụng Android, các tính năng phụ trợ (phát nhạc, ghi âm, hẹn giờ báo thức, gọi điện thoại khẩn cấp) hoạt động theo đúng thiết kế.
  • Đánh giá độ ổn định của liên kết Bluetooth trong phạm vi 10 m và tính chính xác của bộ nhận diện giọng nói Google Voice.
  • Trình bày kết luận chung về việc hoàn thành các mục tiêu đề ra và đề xuất hướng phát triển mở rộng hệ thống trong tương lai.

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

Kết quả chính đạt được

  • Chế tạo hoàn chỉnh mô hình phần cứng: Lắp ráp hoàn thiện xe robot 4 bánh sử dụng khung xe 2 tầng nhỏ gọn, điều khiển chuyển động bằng 4 động cơ DC giảm tốc V1 (1:48) thông qua mạch công suất L293D và IC ghi dịch 74HC595, điều khiển trung tâm bởi Arduino Mega 2560.
  • Xây dựng ứng dụng điều khiển Android: Phát triển thành công ứng dụng trên nền tảng MIT App Inventor 2, tích hợp các khối chức năng giao tiếp Bluetooth, nhận dạng giọng nói Google API, điều khiển di chuyển, phát nhạc/kể chuyện từ bộ nhớ máy, ghi âm tin nhắn (SoundRecorder), gọi điện thoại khẩn cấp (PhoneCall) và cài đặt báo thức (TimePicker).
  • Thiết lập liên kết truyền thông: Kết nối không dây ổn định giữa smartphone và robot thông qua module Bluetooth HC-06 ở Baud rate 9600 trong bán kính dưới 10 m.
  • Tối ưu hóa nguồn cung cấp: Ứng dụng thành công hệ thống cấp nguồn kép (pin dự phòng 5000 mAh 5V và pin LiPo 3-cell 12V), đáp ứng đủ mức phụ tải dòng điện tính toán $1830\text{ mA}$, đảm bảo tính cơ động cho mô hình.

Giải pháp kỹ thuật tác giả đề xuất

  • Sử dụng IC ghi dịch 8-bit 74HC595 kết hợp cùng 2 IC L293D trên board Motor Shield để tối ưu hóa việc sử dụng chân I/O trên vi điều khiển, cho phép điều khiển độc lập 4 động cơ DC chỉ với số lượng chân tín hiệu tối thiểu.
  • Tách biệt hoàn toàn nguồn nuôi vi điều khiển (5 V) và nguồn động lực cấp cho động cơ (12 V) thông qua việc cấu hình jumper PWR trên Motor Shield, giải quyết triệt để hiện tượng sụt áp và nhiễu từ động cơ gây treo hoặc reset vi điều khiển.
  • Tận dụng sức mạnh xử lý ngôn ngữ tự nhiên từ dịch vụ nhận dạng giọng nói đám mây của Google thông qua App Inventor, giúp hệ thống nhúng không cần trang bị phần cứng xử lý âm thanh phức tạp.

Đóng góp của đề tài

Đồ án đã cung cấp một tài liệu kỹ thuật hoàn chỉnh về quy trình thiết kế và thi công hệ thống điều khiển nhúng kết hợp ứng dụng di động. Đề tài chứng minh tính khả thi của việc khai thác công nghệ nhận dạng giọng nói tiếng Việt phục vụ điều khiển thiết bị phần cứng với chi phí thấp, tạo cơ sở thực tiễn phục vụ công tác giảng dạy, học tập và phát triển các đồ án ứng dụng trong lĩnh vực điện tử – tự động hóa.


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

Hạn chế của đề tài

  • Phạm vi truyền thông: Cự ly kết nối không dây bị giới hạn trong phạm vi tối đa 10 m do sử dụng module Bluetooth HC-06 chuẩn Class 2.
  • Độ tương thích nền tảng: Ứng dụng điều khiển mới chỉ được phát triển và vận hành trên hệ điều hành Android, chưa hỗ trợ các hệ điều hành di động khác (như iOS).
  • Độ chính xác nhận dạng giọng nói: Khả năng nhận diện đôi khi chưa chuẩn xác khi người dùng phát âm không chuẩn giọng vùng miền hoặc khi môi trường xung quanh có nhiều tạp âm, tiếng ồn.
  • Phụ thuộc kết nối mạng: Ứng dụng yêu cầu điện thoại phải có kết nối Internet liên tục để sử dụng dịch vụ nhận dạng giọng nói trực tuyến của Google.

Hướng nghiên cứu tiếp

  • Nghiên cứu thay thế hoặc bổ sung các module truyền thông không dây có cự ly hoạt động xa hơn và băng thông lớn hơn (như module Wi-Fi ESP8266/ESP32, sóng RF hoặc chuẩn Bluetooth công suất cao).
  • Tích hợp thêm các cảm biến ngoại vi (cảm biến siêu âm, cảm biến hồng ngoại) để hỗ trợ robot tự động phát hiện và tránh chướng ngại vật trong quá trình di chuyển theo lệnh giọng nói.
  • Phát triển module nhận dạng giọng nói offline trực tiếp trên phần cứng nhúng để hệ thống có thể vận hành độc lập mà không phụ thuộc vào kết nối Internet.
  • Nâng cấp ứng dụng điều khiển, tối ưu hóa giao diện người dùng và mở rộng khả năng tương thích đa nền tảng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên các ngành Kỹ thuật Điện tử Truyền thông, Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Máy tính và Công nghệ Thông tin: Phục vụ nghiên cứu các học phần liên quan đến hệ thống nhúng, vi điều khiển AVR/Arduino, thiết kế mạch công suất điều khiển động cơ và truyền thông không dây ngắn mạch.
  • Người làm đề tài hoặc dự án IoT/Robot ứng dụng: Cung cấp hướng dẫn từng bước từ tính toán phụ tải công suất, vẽ sơ đồ nguyên lý trên Fritzing đến cách xây dựng ứng dụng di động giao tiếp phần cứng qua chuẩn UART.

Các nội dung có giá trị tham khảo cao trong tài liệu:

  • Phương pháp phối ghép và điều khiển IC ghi dịch 74HC595 kết hợp IC cầu H L293D.
  • Phương pháp tính toán cân bằng nguồn điện ($1830\text{ mA}$) và giải pháp phân ly nguồn logic - công suất.
  • Cấu hình khối lệnh xử lý sự kiện SpeechRecognizer, ListPicker và truyền thông Bluetooth trên MIT App Inventor 2.

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

1. Tại sao đề tài lại lựa chọn bo mạch Arduino Mega 2560 thay vì Arduino Uno R3?
Tác giả lựa chọn Arduino Mega 2560 (dùng vi điều khiển ATmega2560) vì bo mạch này cung cấp số lượng chân I/O lớn (54 chân Digital, 16 chân Analog), bộ nhớ chương trình rộng rãi (256 KB Flash, 8 KB SRAM), tích hợp sẵn 4 bộ UART phần cứng và hoàn toàn tương thích với các chân của Motor Shield L293D, tạo điều kiện thuận lợi cho việc mở rộng thêm ngoại vi trong tương lai.

2. Tổng dòng điện tiêu thụ định mức của toàn hệ thống là bao nhiêu và được giải quyết bằng nguồn cấp nào?
Tổng dòng điện định mức tính toán của hệ thống là $1830\text{ mA}$ (gồm Arduino Mega: $30\text{ mA}$, 4 động cơ giảm tốc: $560\text{ mA}$, module HC-06: $40\text{ mA}$, Motor Shield: $1200\text{ mA}$). Nhóm tác giả sử dụng nguồn kép: pin dự phòng Xiaomi 5000 mAh (5 VDC) cấp cho mạch điều khiển và pin sạc LiPo 3-cell 12 VDC cấp nguồn riêng cho khối động cơ.

3. Module Bluetooth HC-06 hoạt động ở chế độ nào và có thông số truyền thông mặc định ra sao?
Module Bluetooth HC-06 được cấu hình ở chế độ Data Mode (chế độ Slave). Thiết lập mặc định của module hoạt động ở Baud rate 9600, cấu hình khung truyền N, 8, 1 (No parity, 8 data bits, 1 stop bit), dải tần 2.48 GHz, khoảng cách phủ sóng tối đa 10 m và mã PIN ghép nối là 1234.

4. Ứng dụng điều khiển trên smartphone được phát triển bằng công cụ nào và cơ chế xử lý giọng nói hoạt động như thế nào?
Ứng dụng được lập trình bằng công cụ trực quan MIT App Inventor 2 của Google. Cơ chế nhận dạng giọng nói dựa vào component SpeechRecognizer để thu âm và gửi tín hiệu qua kết nối Internet đến máy chủ Google Voice để dịch thành văn bản. Sau đó, chuỗi văn bản được so khớp với tập lệnh điều khiển đã định nghĩa để gửi ký tự mã hóa qua Bluetooth UART đến vi điều khiển.

5. IC ghi dịch 74HC595 đóng vai trò gì trong khối Arduino Motor Shield L293D?
IC 74HC595 là IC ghi dịch 8-bit kết hợp chốt dữ liệu ngõ vào nối tiếp, ngõ ra song song. Trong Motor Shield, IC 74HC595 nhận dữ liệu nối tiếp từ 4 chân điều khiển của Arduino (chân 4, 7, 8, 12) và xuất tín hiệu điều khiển song song đến các ngõ vào của 2 IC cầu H L293D, giúp tiết kiệm tối đa số lượng chân I/O của vi điều khiển.


Kết luận

Đồ án tốt nghiệp "Điều khiển robot bằng giọng nói" đã hoàn thành trọn vẹn mục tiêu thiết kế và thi công hệ thống xe robot 4 bánh điều khiển không dây bằng khẩu lệnh tiếng Việt qua smartphone Android. Nhóm tác giả đã giải quyết hiệu quả bài toán tích hợp phần cứng giữa vi điều khiển Arduino Mega 2560, mạch công suất Motor Shield L293D, module Bluetooth HC-06 cùng giải pháp cấp nguồn kép ổn định. Ứng dụng xây dựng trên MIT App Inventor 2 không chỉ thực hiện chính xác các lệnh điều hướng di chuyển mà còn cung cấp nhiều tính năng mở rộng hữu ích như phát nhạc, ghi âm, hẹn giờ và gọi điện khẩn cấp, tạo nền tảng ứng dụng thực tiễn cao cho các nghiên cứu tiếp theo.