1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Điều khiển robot bằng giọng nói sử dụng smartphone

77 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Khiển Robot Bằng Giọng Nói Sử Dụng Smartphone
Tác giả Trương Nguyễn Quang Huy
Người hướng dẫn TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Chuyên ngành CNKT Điện Tử Truyền Thông
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2014
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 77
Dung lượng 5,04 MB

Cấu trúc

  • 4 BIA SAU A4.pdf

    • Page 1

  • D.pdf

    • Page 1

  • Page 1

Nội dung

Nội dung nghiên cứu

 Tìm hiểu về cách viết ứng dụng trên SmartPhone

 Thiết kế, lập trình viết ứng dụng nhận dạng giọng nói cho SmartPhone

 Lựa chọn khung Robot, các linh kiện điện tử, động cơ, …

 Thiết kế sơ đồ khối, sơ đồ nguyên lý, lưu đồ giải thuật cho Robot

 Lắp ráp, kiểm tra hoạt động của Robot

 Viết báo cáo kết quả đạt được sau khi thực hiện đồ án.

Giới hạn

 Sử dụng mã nguồn mở để viết ứng dụng nhận diện giọng nói

 Khi hoạt động phải có kết nối 3G hoặc Internet

Phần mềm nhận diện giọng nói có khả năng nhận diện tất cả các từ mà Google hỗ trợ, trong khi đó, xe robot chỉ có thể thực hiện 6 lệnh cơ bản để điều khiển, bao gồm: tự động, xe chạy, lùi, quay trái, quay phải và dừng xe.

 Khoảng cách nói tốt nhất là khoảng từ 10cm tới 20cm

 Thiết kế, chế tạo robot di chuyển theo lệnh điều khiển đã lập trình sẵn.

Bố cục đề tài

- Chương 1: Dẫn nhập, trình bày về lý do chọn đề tài, nội dung nghiên cứu, bố cục đồ án và giới hạn của đồ án

Chương 2: Cơ sở lý thuyết trình bày tổng quan về các loại board mạch được sử dụng trong robot, bao gồm bộ xử lý và phần truyền tín hiệu Nội dung chương này giúp người đọc hiểu rõ hơn về cấu trúc và chức năng của các thành phần quan trọng trong hệ thống robot.

Robot, động cơ sử dụng, các phần mềm viết ứng dụng, phần mềm lập trình

Chương 3: Thiết kế và tính toán tập trung vào việc phát triển ứng dụng điều khiển giọng nói, bao gồm sơ đồ khối hệ thống và lưu đồ cho cả ứng dụng lẫn robot Bài viết cũng giới thiệu các bộ thư viện cần thiết để lập trình ứng dụng, đồng thời trình bày chi tiết về phần cứng và thiết kế robot.

Chương 4: Kết quả nghiên cứu trình bày sản phẩm đã hoàn thiện và những kết quả đạt được từ đồ án Đồng thời, phần này cũng nêu rõ hướng phát triển tương lai của đồ án.

Chương 5: Kết luận và hướng phát triển tổng kết những thành tựu đã đạt được và những khía cạnh chưa hoàn thành so với mục tiêu đề ra Bên cạnh đó, chương này cũng đề xuất những hướng đi tương lai cho đồ án, nhằm nâng cao hiệu quả và đáp ứng tốt hơn các yêu cầu thực tiễn.

CƠ SỞ LÝ THUYẾT

Giới thiệu bo mạch Arduino

2.1.1 Giới thiệu về bo mạch Arduino UNO R3

Khi nói đến lập trình với mạch Arduino, Arduino UNO luôn là cái tên được nhắc đến đầu tiên Hiện tại, dòng mạch này đã phát triển đến thế hệ thứ 3, được gọi là Arduino Uno R3.

Bảng 2.1 Các thông số của Board Arduino UNO R3

Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

Hình 2.1 Bo mạch Arduino UNO R3

 Sơ lượt về các chân của bo Arduino UNO

GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, cần phải nối các chân GND này lại với nhau để đảm bảo hoạt động ổn định.

 5V: cấp điện áp 5V Dòng tối đa cho phép ở chân này là 500mA

 3.3V: cấp điện áp 3.3V Dòng tối đa cho phép ở chân này là 50mA

 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, ta phải nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND

Điện áp hoạt động của vi điều khiển trên Arduino UNO được đo tại chân IOREF, với giá trị luôn là 5V Tuy nhiên, cần lưu ý rằng chân này không được sử dụng để cấp nguồn 5V cho các thiết bị khác.

 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ

 Chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận

Arduino Uno có khả năng giao tiếp với các thiết bị khác thông qua hai chân nhận dữ liệu TTL Serial (RX) Kết nối Bluetooth thường được sử dụng như một hình thức kết nối Serial không dây.

Chân PWM (3, 5, 6, 9, 10, và 11) cho phép xuất xung PWM với độ phân giải 8 bit, tương ứng với giá trị từ 0 đến 255, điều này có nghĩa là điện áp đầu ra có thể điều chỉnh từ 0V đến 5V thông qua hàm analogWrite().

Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK), không chỉ đảm nhiệm các chức năng thông thường mà còn hỗ trợ truyền phát dữ liệu qua giao thức SPI với các thiết bị khác.

LED 13 trên Arduino UNO là một đèn LED màu cam (kí hiệu chữ L) nằm trên bo mạch Khi nhấn nút Reset, đèn LED này sẽ nhấp nháy để thông báo trạng thái Đèn LED được kết nối với chân số 13, và khi chân này được sử dụng, LED sẽ phát sáng.

2.1.2 Phần mềm lập trình Đi cùng với Board Arduino là một phần mềm hỗ trợ phát triển tích hợp : IDE (Integrated Development Environment) cho phép người dùng viết các chương trình cho Arduino bằng ngôn ngữ C hoặc C++

Hình 2.2 Giao diện chính của phần mềm

Giới thiệu về mạch giao tiếp Bluetooth HC 05

Hình 2.3 Mạch giao tiếp Bluetooth HC05

Bảng 2.2 Mô tả về mạch giao tiếp Bluetooth HC05 Điện áp hoạt động 3.3V

Dòng điện khi hoạt động khi Pairing 30 mA sau khi pairing hoạt động truyền nhận bình thường 8 mA

Dải tần sóng hoạt động 2.4GHz

Kích thước 26.9mm x 13mm x 2.2 mm

Module có hai chế độ làm việc ( có thể lựa chọn chế độ bằng cách thay đổi trạng thái chân 34 KEY)

Tự động kết nối Đáp ứng theo lệnh: Khi làm việc ở chế độ này, ta có thể gửi các lệnh AT để giao tiếp với module

2.2.2 Giao tiếp của Bluetooth HC05

To communicate with the HC05 module using AT commands, install the Hercules Setup Utility on your PC Once the software is installed, launch the application and select the Serial option to access the serial communication interface.

Ta kết nối module Bluetooth với PC bằng USB TO COM PL2303 như sau + RX -> TX của module HC05

+ TX -> RX của module HC05

Cắm vào máy tính, nối KEY lên 3.3V (ở ngay trên HC05 có chân 3.3V)

Hình 2.4 Giao diện của phần mềm Hercules Setup Untility trên PC

Switch to the serial tab and select the COM port (check the computer management to identify the PL2303 port) Set the baud rate to 38400, data size to 8 bits, parity to None, handshake to OFF, and mode to Free Then, click OPEN.

- Gõ AT rồi ấn SEND, hiện OK là được, nếu hiên ERROR, ấn tiếp lần nữa

- Gõ AT+ORGL, ấn SEND

- Gõ AT+RMAAD, ấn SEND

- Gõ AT+NAME= MASTER (có thể đổi tên khác, ko nhất thiết MASTER)

- Gõ AT+UARTW600,0,0 (có thể số khác không nhất thiết tốc độ baud là

- Gõ AT+PSWDcd (abcd là số nhé), ấn SEND

- Gõ AT+ROLE=1, ấn SEND

- Gõ AT+CMODE=1, ấn SEND (Kết nối vs mọi module kể cả khác địa chỉ, miễn cùng PSWD)

- Gõ AT+INIT, ấn SEND để master bắt đầu tìm kiếm

- Gõ AT+INQ, ấn SEND

- AT+NAME=SLAVE, ấn SEND, đặt tên

- AT+PSWDcd, ấn SEND, phải giống vs MASTER nếu muốn kết nối 2 cái

Chuẩn truyền dữ liệu

Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần dây dẫn, đây là một chuẩn điện tử

Công nghệ Bluetooth là một hệ thống truyền thông dựa trên tần số vô tuyến, cho phép các thiết bị tích hợp công nghệ này giao tiếp với nhau trong một khoảng cách nhất định Công nghệ này thường được sử dụng để kết nối và truyền dữ liệu giữa hai thiết bị khác nhau, đảm bảo hiệu suất trong việc phát và nhận sóng.

 Tiêu thụ năng lượng thấp

 Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điện thoại di động

 Giá thành ngày một giảm

Khoảng cách giao tiếp giữa hai thiết bị kết nối qua Bluetooth có thể lên tới 100m Bluetooth hoạt động trên băng tần 2.4GHz và cho phép tốc độ truyền dữ liệu đạt tối đa 1Mbps mà không cần các thiết bị phải nhìn thấy nhau trực tiếp.

Bluetooth đơn giản hóa quá trình phát triển ứng dụng bằng cách kết nối các ứng dụng với nhau thông qua chuẩn Bluetooth, cho phép chúng hoạt động độc lập với phần cứng và hệ điều hành khác nhau.

 Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ

 Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác

 Chỉ kết nối được hai thiết bị với nhau, không kết nối thành mạng.

Giới thiệu về Android Studio

Android Studio is a free Integrated Development Environment (IDE) developed by Google for Android application developers Built on IntelliJ IDEA, which is one of the best IDEs for Java, Android Studio provides an optimal environment for developing Android applications.

Bộ công cụ của Google giúp đơn giản hóa quy trình phát triển ứng dụng Android Người dùng chỉ cần cài đặt Java SDK và Android Studio để bắt đầu quá trình phát triển ứng dụng một cách nhanh chóng và hiệu quả.

SDK (Bộ Công Cụ Phát Triển Phần Mềm) là tập hợp các công cụ cần thiết để phát triển ứng dụng, bao gồm nhiều API, công cụ lập trình, tài liệu hướng dẫn và các thành phần khác Những công cụ này cho phép lập trình viên tạo ra ứng dụng cho các nền tảng hoặc gói phần mềm thông qua các ngôn ngữ lập trình như Java, C#, C++.

Objective-C là một ngôn ngữ lập trình được sử dụng bởi nhiều công ty như Microsoft và Sun Microsystems Các bộ công cụ phát triển phần mềm (SDK) phổ biến bao gồm: Android SDK, dùng để phát triển ứng dụng trên nền tảng Android; Windows SDK, dành cho ứng dụng chạy trên hệ điều hành Windows; và Java SDK, hay còn gọi là JDK, là một tập con mở rộng của SDK, phục vụ cho lập trình Java.

API (Giao diện lập trình ứng dụng) là một công cụ quan trọng giúp lập trình viên truy xuất đến các hàm thường sử dụng, cung cấp những hàm dựng sẵn để hỗ trợ quá trình lập trình Thông thường, API là một phần của bộ SDK và có nhiều loại API phổ biến như API Java (javax.servlet, java.sql, javax.xml), API NET (gói System, ADO.NET), và API Android (các hàm input/output, SQLITE).

2.4.1 Sơ lượt về sử dụng Android Studio

Hình 2.5 Đặt tên cho Project trong Android studio

 Application Name: Tên ứng dụng muốn đặt

 Company Domain: Tên domain công ty, thường được dùng để kết hợp với tên Application để tạo thành Package (chú ý viết thường hết và có ít nhất 1 dấu chấm)

 Package name: Nó sẽ tự động nối ngược Company Domain với Application name

 Project location: Là nơi lưu trữ ứng dụng

Sau đó nhấp Next để tiếp tục

Trong hộp thoại chọn phiên bản Android, người dùng có thể xác định thiết bị mà ứng dụng sẽ hỗ trợ, bao gồm điện thoại và máy tính bảng, TV, và thiết bị đeo Ngoài ra, mục Minimum SDK cho phép quy định phiên bản Android tối thiểu cần thiết để ứng dụng hoạt động.

Hiện nay bản API14 Android 4.0 (IceCreamSandwich) vẫn đứng đầu về số lượng thiết bị sử dụng chiếm tới hơn 90%) nên ta thường được hỗ trợ tối đa

Android Studio cung cấp nhiều Layout mặc định giúp người dùng dễ dàng thiết kế và phát triển ứng dụng Người lập trình có thể lựa chọn các Layout phù hợp cho việc hiển thị bản đồ, duyệt web, hoặc quản lý danh sách.

Màn hình này cho phép người dùng chọn loại layout Activity mặc định, mang đến một layout cơ bản dễ dàng thực hiện các chỉnh sửa theo nhu cầu của người sử dụng.

Hình 2.7 Chọn loại Activity xuất hiện ban đầu

Ta chon Blank Activity rồi bấm Next:

Hình 2.8 Đặt tên cho Activity và Layout

 Activity Name: Tên class Activity (java) để ta viết mã lệnh

 Layout Name: Tên file XML làm giao diện cho Activity Name

 Title: Tiêu đề hiển thị khi kích hoạt Activity trên thiết bị

Sau khi cấu hình xong, ta bấm Finish

2.4.2 Cấu trúc một project trong Android Studio

Ta tiến hành mở Project mặc, định activity_main.xml sẽ được chọn ta có màn hình như sau:

Hình 2.9 Giao diện làm việc của phần mềm Android Studio

Có 6 vùng làm việc mà khi lập trình thường được tương tác nhất

Hệ thống thông tin của ứng dụng được cấu trúc tại đây, cho phép thay đổi cách hiển thị, thường mặc định là Android File AndroidManifest.xml, nằm trong vị trí này, đóng vai trò cực kỳ quan trọng trong việc cấu hình ứng dụng.

Trong ứng dụng, thư mục drawable chứa các tệp hình ảnh và XML, trong khi thư mục layout lưu trữ các giao diện màn hình được thiết kế dưới dạng XML Thư mục values chứa các tệp lưu trữ giá trị như màu sắc, kích thước và chuỗi.

Hình 2.10 Vùng làm việc thứ 1

Vùng này rất quan trọng cho việc lập trình, nó hiển thị các Control mà Android hỗ trợ, cho phép người dùng kéo thả trực tiếp vào giao diện ứng dụng để thiết kế một cách dễ dàng.

Vùng làm việc thứ 2 bao gồm hai tab: Design và Text Tab Design cho phép người dùng thao tác bằng cách kéo thả các thành phần giao diện như Button và Listview Trong khi đó, tab Text cho phép thiết kế giao diện thông qua việc viết các câu Tag XML.

Là vùng giao diện thiết bị, cho phép các Control kéo thả vào đây và đồng thời cho chúng ta hiệu chỉnh control

Vùng làm việc thứ 3 cho phép người dùng tùy chỉnh hiển thị theo hướng nằm ngang hoặc đứng, cùng với khả năng phóng to, thu nhỏ, căn chỉnh control và lựa chọn loại thiết bị hiển thị phù hợp.

Khi màn hình làm việc có nhiều control, vùng 4 trở nên hữu ích vì nó hiển thị giao diện theo dạng cấu trúc Cây, giúp người dùng dễ dàng quan sát và lựa chọn control khi chúng bị chồng lấp trong vùng 3 Vùng 4 sẽ hiển thị nhiều hơn khi người dùng kéo thả nhiều đối tượng vào vùng số 3.

Hình 2.13 Vùng làm việc thứ 4

Vùng này rất quan trọng vì nó cho phép thiết lập trạng thái và thuộc tính cho các Control trên giao diện Nó nằm ngay phía dưới vùng thứ 4.

Hình 2.14 Vùng làm việc thứ 5

Là vùng rất tiện lợi giúp ta thao tác nhanh chóng: Chạy ứng dụng và Debug ứng dụng Và hiển thị các điều chỉnh cần thiết cho Project

Giới thiệu về cảm biến siêu âm SRF-05

Cảm biến SRF05 là thiết bị đo khoảng cách sử dụng công nghệ siêu âm, bao gồm bộ phát và bộ thu sóng siêu âm Sóng siêu âm được phát ra sẽ di chuyển trong không khí, khi gặp vật cản, chúng sẽ phản xạ trở lại và được đầu thu ghi nhận, cho phép xác định khoảng cách đến vật thể cần đo.

Hình 2.16 Cảm biến siêu âm SRF-05

Vận tốc truyền âm thanh trong không khí là giá trị ổn định, cho phép xác định khoảng cách từ cảm biến đến vật thể bằng cách đo thời gian từ khi sóng siêu âm phát ra đến khi phản xạ về đầu thu Cảm biến SRF05 có khả năng đo khoảng cách tối đa lên tới 3-4 mét.

 Thông số kỹ thuật o Điện áp hoạt động: 5VDC o Dòng cung cấp:

Ngày đăng: 29/11/2021, 10:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Phú,“Giáo trình vi điều khiển”, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, năm 2014 Sách, tạp chí
Tiêu đề: Giáo trình vi điều khiển
[2] Trương Thị Ngọc Phượng, “Giáo trình lập trình Android”, NXB Đại Học Quốc Gia TPHCM, năm 2014 Sách, tạp chí
Tiêu đề: Giáo trình lập trình Android
Nhà XB: NXB Đại Học Quốc Gia TPHCM
[3] Nguyễn Văn Hiệp - Đinh Quang Hiệp, “Giáo trình lập trình Android cơ bản”, NXB Đại Học Quốc Gia TPHCM, năm 2014.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình lập trình Android cơ bản
Nhà XB: NXB Đại Học Quốc Gia TPHCM
[1] John-David Warren, Josh Adams, Harald Molle, “Arduino Robotics” TECHNOLOGY IN ACTION, 2011 Sách, tạp chí
Tiêu đề: Arduino Robotics
[2] Mike van Drongelen, “Android Studio Cookbook”, PACKT PUBLISHING, 2015 Sách, tạp chí
Tiêu đề: Android Studio Cookbook

HÌNH ẢNH LIÊN QUAN

Hình 2.2. Giao diện chính của phần mềm - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.2. Giao diện chính của phần mềm (Trang 19)
Hình 2.4 Giao diện của phần mềm Hercules Setup Untility trên PC - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.4 Giao diện của phần mềm Hercules Setup Untility trên PC (Trang 21)
Hình 2.6 Chọn phiên bản Android mà ứng dụng sẽ chạy - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.6 Chọn phiên bản Android mà ứng dụng sẽ chạy (Trang 25)
Hình 2.7 Chọn loại Activity xuất hiện ban đầu - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.7 Chọn loại Activity xuất hiện ban đầu (Trang 26)
Hình 2.8 Đặt tên cho Activity và Layout - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.8 Đặt tên cho Activity và Layout (Trang 26)
Hình 2.9 Giao diện làm việc của phần mềm Android Studio - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.9 Giao diện làm việc của phần mềm Android Studio (Trang 27)
Hình 2.11 Vùng làm việc thứ 2 - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.11 Vùng làm việc thứ 2 (Trang 28)
Hình 2.10 Vùng làm việc thứ 1 - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.10 Vùng làm việc thứ 1 (Trang 28)
Hình 2.13 Vùng làm việc thứ 4 - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 2.13 Vùng làm việc thứ 4 (Trang 30)
3.2. Sơ đồ khối toàn hệ thống - Điều khiển robot bằng giọng nói sử dụng smartphone
3.2. Sơ đồ khối toàn hệ thống (Trang 33)
Hình 3.3 Tạo Layout ứng dụng - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 3.3 Tạo Layout ứng dụng (Trang 36)
Hình 3.4 Giao diện khi hoàn tất - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 3.4 Giao diện khi hoàn tất (Trang 37)
Hình 3.8 Phần vỏ ngoài khung xe - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 3.8 Phần vỏ ngoài khung xe (Trang 42)
Hình 3.9 Phần vỏ ngoài của khung xe - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 3.9 Phần vỏ ngoài của khung xe (Trang 43)
Hình 3.13 Lưu đồ chương trình Arduino - Điều khiển robot bằng giọng nói sử dụng smartphone
Hình 3.13 Lưu đồ chương trình Arduino (Trang 46)

TỪ KHÓA LIÊN QUAN

w