LỜI NÓI ĐẦU

Ngày nay, hệ thống điều khiển đóng một vai trò quan trọng trong việc phát

triển và sự tiến bộ của khoa học kỹ thuật công nghệ, văn minh hiện đại. Thực tế mỗi

khía cạnh của hoạt động hằng ngày đều bị chi phối bởi một vài loại hệ thống điều

khiển. Dễ dàng tìm thấy hệ thống điều khiển máy công cụ, kỹ thuật không gian và hệ

thống vũ khí, điểu khiển máy tính, các hệ thống giao thông, hệ thống năng lượng,

robot…

Trong sinh hoạt hàng ngày của con người như những trò chơi giải trí (robot,

xe điều khiển từ xa…) cho đến những ứng dụng gần gũi với con người cũng được cải

tiến cho phù hợp với việc sử dụng và đạt mức tiện lợi nhất. Việc điều khiển từ xa đã

thâm nhập vào tất cả các lĩnh vực của cuộc sống.

Chính vì tầm quan trọng của lĩnh vực Đo Lường Và Điều Khiển Tự Động,

nhóm em đã mạnh dạn lựa chọn đề tài “Thiết kế xe mô hình điều khiển từ xa bằng

remote IR và bằng điện thoại android”.

Chúng em xin chân thành cảm ơn các tất cả các Thầy Cô Giáo trong nhà

trường, nhất là các Thầy Cô Giáo trong viện Điện Tử Viễn Thông của trường Đại học

Bách Khoa Hà Nội đã tận tình dạy dỗ chúng em trong suốt thời gian qua.

Xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo TS.NGUYỄN NGỌC VĂN.

Người đã nhiệt tình hướng dẫn, tạo mọi điều kiện thuận lợi cho chúng em hoàn thành

đồ án này.

Xin cảm ơn tất cả các bạn bè đã đóng góp ý kiến và giúp đỡ chúng tôi trong

lúc thực hiện đồ án này.

Xin chân thành cảm ơn!

TÓM TẮT ĐỒ ÁN

Với mục đích chính thực hiện tự động hóa đo lường và điều khiển chúng em

đã quyết định thực hiện đề tài: “Thiết kế xe mô hình điều khiển từ xa bằng Remote

IR (Infrared Receiver) và điện thoại android”

Ngoài ra khi thực hiện đề tài này, không chỉ điều khiển xe mô hình từ xa,

chúng em muốn sử dụng công nghệ, thiết bị phổ biến trong thế giới hiện đại ngày nay

vào việc điều khiển, cụ thể là sử dụng các dòng Smartphone chạy trên hệ điều hành

Android.

Sau khi thực hiện đồ án em đã rút ra được những kết luận quan trọng:

 Rút ra được những ưu và nhược điểm của mỗi phương pháp điều khiển từ xa.

 So sánh được khả năng điều khiển từ xa của hai phương pháp điều khiển bằng

sóng hồng ngoại (remote IR) và điều khiển bằng sóng Bluetooth qua điện thoại

android.

 Hệ điều hành android và phần mềm android được sử dụng trong mọi ứng

dụng của đời sống, nhất là trong thời đại công nghệ phát triển.

ABSTRACT

With the main purpose of implementing automated measurement and control,

we have decided to make the subject: designing remote-controlled models with

remote IR and Android phones.

Furthermore, when making this subject, not only do we control remote model

cars but we also would like to use technology and popular devices in today’s modern

world to control, specifically to use the Smartphone that runs on the Android

operating system.

Affter the implemntation of the project we have drawn important conclusions:

 Compara the remote control capability of two mothods of control: with

infrared (remote IR) and with Bluetooth wave through Android phones.

 The Android OS and the Android software are in all applications of life,

especially in this era of technological development.

2

Mục lục Danh sách hình vẽ ...............................................................................................................6

Danh sách bảng biểu ...........................................................................................................8

Danh mục từ viết tắt ............................................................................................................9

PHẦN MỞ ĐẦU .............................................................................................................. 12

i. Giới hạn đề tài............................................................................................................ 12

ii. Mục đích nghiên cứu ............................................................................................... 13

iii. Quá trình thực hiện ................................................................................................. 13

iv. Chỉ tiêu kỹ thuật ...................................................................................................... 15

CHƯƠNG 1: KIẾN THỨC TỔNG QUAN .................................................................. 17

1.1. Giới thiệu hệ thống điều khiển từ xa .................................................................. 17

1.1.1. Một số vấn đề cơ bản trong hệ thống điều khiển từ xa .............................. 18

1.1.2. Phương pháp mã hóa trong điều khiển từ xa .............................................. 18

1.2. Điều khiển từ xa bằng tia hồng ngoại ................................................................. 19

1.2.1. Lý thuyết sóng hồng ngoại IR....................................................................... 19

1.2.2. Sơ đồ khối hệ thống điều khiển từ xa bằng tia hồng ngoại nói chung..... 20

1.3. Điều khiển từ xa bằng Bluetooth......................................................................... 23

1.3.1. Công nghệ truyền thông không dây Bluetooth ........................................... 23

1.3.2. Các vấn đề bảo mật trong công nghệ Bluetooth ......................................... 25

1.3.3. Các khái niệm trong công nghệ Bluetooth .................................................. 27

1.3.4. Định nghĩa các liên kết vật lý trong Bluetooth ........................................... 29

1.3.5. Trạng thái của thiết bị Bluetooth .................................................................. 30

1.3.6. Các chế độ kết nối .......................................................................................... 30

1.3.7. Kỹ thuật trải phổ nhảy tần số trong công nghệ Bluetooth ......................... 31

1.3.8. Cách thức hoạt động của Bluetooth ............................................................. 34

CHƯƠNG 2: TÌM HIỂU HỆ ĐIỀU HÀNH VÀ GIAO TIẾP NGOẠI VI ............... 40

2.1. Khối xử lý trung tâm MCU ATMEGA328........................................................ 40

2.1.1. Giới thiệu MCU ATMEGA328 .................................................................... 40

2.1.2. Thông số kĩ thuật chính của ATMEGA328 ................................................ 40

2.2. Cảm biến sóng siêu âm đo và tính toán khoảng cách: SRF05......................... 41

2.2.1. Giới thiệu SRF05 ............................................................................................ 45

2.2.2. Thông số kỹ thuật: .......................................................................................... 45

2.2.3. Giản đồ xung hoạt động của SRF05: ........................................................... 46

3

2.3. Điều khiển từ xa bằng hồng ngoại ...................................................................... 47

2.3.1. Remote hồng ngoại......................................................................................... 47

2.3.2 Mắt thu hồng ngoại.......................................................................................... 48

2.3.3 Sơ đồ khối:........................................................................................................ 49

2.4. Module Bluetooth HC05 ...................................................................................... 51

2.4.1. Giới thiệu về Bluetooth HC05 ...................................................................... 51

2.4.2 Cơ chế hoạt động ............................................................................................. 52

2.4.3. Điều khiển Robot Car bằng điện thoại android bằng HC05 ..................... 53

2.5. Module dò đường .................................................................................................. 54

2.6. Hệ điều hành android ............................................................................................ 55

2.6.1. Giới thiệu về android ..................................................................................... 55

2.6.2. Lịch sử hình thành .......................................................................................... 56

2.6.3. Tính năng android........................................................................................... 58

2.6.4. Kiến trúc hệ điều hành android..................................................................... 59

2.6.5. Chu kỳ ứng dụng trên android ...................................................................... 62

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN TỪ XA.............................. 68

3.1. Phân tích và xác định yêu cầu. ............................................................................ 68

3.1.1. Mục đích của đề tài: ....................................................................................... 68

3.1.2. Yêu cầu thiết kế .............................................................................................. 68

3.1.3. Yêu cầu kết quả .............................................................................................. 68

3.2. Xây dựng thuật toán .............................................................................................. 69

3.2.1. Thuật toán tổng thể......................................................................................... 69

3.2.2. Thuật toán điều khiển từng chức năng cụ thể ............................................. 70

3.2.3. Thuật toán tính khoảng cách ......................................................................... 70

3.2.4. Thuật toán dò đường ...................................................................................... 71

3.3. Thiết kế phần cứng ................................................................................................ 72

3.3.1. Sơ đồ khối chức năng..................................................................................... 72

3.3.2. Sơ đồ khối hoạt động: .................................................................................... 74

3.3.3. Sơ đồ nguyên lý của thiết kế và các module trong thiết kế....................... 76

3.3.4. Sơ đồ mạch in thiết kế.................................................................................... 78

3.4. Xây dựng phần mềm trên android....................................................................... 79

3.4.1. Lưu đồ thuật toán............................................................................................ 79

3.4.2. Giao diện ứng dụng .................................................................................... 79

4

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐỊNH HƯỚNG ĐỀ TÀI ...................... 82

4.1. Các kết quả đạt được............................................................................................. 82

4.1.1. Kết quả ............................................................................................................. 82

4.1.2. Hình ảnh của sản phẩm .................................................................................. 83

4.1.3. Các kết luận rút ra được .................................................................................... 84

4.2. Đinh hướng đề tài:................................................................................................. 85

KẾT LUẬN ....................................................................................................................... 88

Tài liệu tham khảo ............................................................................................................ 89

5

Danh sách hình vẽ

Hình 1.1: Quang phổ của các nguồn sóng hồng ngoại ................................................ 19 Hình 1.2: Sơ đồ máy phát ................................................................................................ 21 Hình 1.3: Sơ đồ khối máy thu ......................................................................................... 22 Hình 1.4: Kiến trúc Piconet trong Bluetooth ................................................................ 28 Hình 1.5: Một Scatternet gồm 2 Piconet ....................................................................... 29 Hình 1.6: Kỹ thuật trải phổ nhảy tần số ......................................................................... 32 Hình 1.7: Các packet truyền trên các tần số khác nhau ............................................... 32 Hình 1.8: Các packet truyền trên khe thời gian ............................................................ 33 Hình 1.9: Cấu trúc gói tin buletooth............................................................................... 33 Hình 1.10: Cấu tạo một packet ....................................................................................... 34 Hình 1.11: Mô hình piconet ............................................................................................ 36 Hình 1.12: Quá trình truy vấn tạo kết nối...................................................................... 37 Hình 1.13: Quá trình truy vấn tạo kết nối...................................................................... 37 Hình 1.14: Truy vấn tạo kết nối giữa các thiết bị trong thực tế .................................. 38 Hình 1.15: Ví dụ về mô hình satternet ........................................................................... 38

Hình 2. 1: Hình ảnh thực tế và sơ đồ chân của ATEMEGA328 ................................ 40 Hình 2. 2: Hình ảnh thực tế của SRF05. ........................................................................ 46 Hình 2. 3: Giản đồ xung của SRF05 .............................................................................. 46 Hình 2. 4: Hình ảnh thực tế Remote hồng ngoại .......................................................... 47 Hình 2. 6: Sơ đồ chân mắt thu hồng ngoại .................................................................... 48 Hình 2. 7: Sơ đồ hoạt động khối phát hồng ngoại ........................................................ 49 Hình 2. 8: Sơ đồ hoạt động khối thu hồng ngoại .......................................................... 49 Hình 2. 9: Cấu trúc sóng mang hồng ngoại ................................................................... 50 Hình 2. 10: Truyền dữ liệu .............................................................................................. 50 Hình 2. 11: Hình ảnh thực tế và sơ đồ chân của HC-05 .............................................. 51 Hình 2. 12: Hình ảnh thực tế module dò đường ........................................................... 54 Hình 2. 13: Cảm biến hồng ngoại CTRT5000 .............................................................. 55 Hình 2. 14: Logo android ................................................................................................ 56 Hình 2. 15: Android timeline .......................................................................................... 56 Hình 2. 16: Mô hình kiến trúc nền tảng hệ điều hành Android .................................. 59 Hình 2. 17: Mô hình hợp tác giữa máy ảo Dalvik và Navite code ............................. 62 Hình 2. 18: Activity Stack ............................................................................................... 63 Hình 2. 19: Chu kỳ sống của Activity............................................................................ 64

Hình 3. 1: Thuật toán điều khiển .................................................................................... 69 Hình 3. 2: Sơ đồ sắp xếp vị trí 3 cảm biến CTRT5000 ............................................... 71 Hình 3. 3: Sơ đồ khối chức năng của mạch................................................................... 72 Hình 3. 4: Sơ đồ khối hoạt động của mạch ................................................................... 74 Hình 3. 5: Sơ đồ nguyên lý toàn mạch........................................................................... 76 Hình 3. 6: Sơ đồ nguyên lý mạch nguồn ....................................................................... 76 6

Hình 3. 7: Sơ đồ nguyên lý module điều khiển động cơ ............................................. 77 Hình 3. 8: Sơ đồ nguyên lý khối ATMEGA328........................................................... 77 Hình 3. 9: Sơ đồ nguyên lý module SRF05 .................................................................. 78 Hình 3. 10: Sơ đồ mạch in của thiết kế .......................................................................... 78 Hình 3. 11: Sơ đồ thuật toán trên android ..................................................................... 79 Hình 3. 12: Giao diện khởi động của ứng dụng............................................................ 79 Hình 3. 13: Giao diện lúc bật Bluetooth ........................................................................ 80 Hình 3. 14: Giao diện hiển thị danh sách thiết bị tìm được ........................................ 80 Hình 3. 15: Giao diện lúc kết nối và sau khi kết nối thành công................................ 81

Hình 4. 1: Hình ảnh sản phẩm thiết kế........................................................................... 83 Hình 4. 2: Điều khiển xe rà phá bom mìn từ xa (ảnh minh họa) ................................ 85 Hình 4. 3: Xe dò đường có gắn camera (ảnh minh họa).............................................. 85 Hình 4. 4: Xe cần cẩu đòi hỏi tính chính xác cao (ảnh minh họa) ............................. 86 Hình 4. 5: Xe có gắn camera điều khiển qua wifi (ảnh minh họa)............................. 86

7

Danh sách bảng biểu

Bảng 1. 1: Các phiên bản Bluetooth............................................................................... 24

Bảng 2. 1: Thông số kỹ thuật ATEMEGA328 ............................................................. 41 Bảng 2. 2: Thông số kỹ thuật SRF05 ............................................................................. 45 Bảng 2. 3: Bảng mã các nút nhấn Remote tương ứng với các chức năng ................. 47 Bảng 2. 4: Thông số kỹ thuật HC-05 ............................................................................. 52 Bảng 2. 5: Dữ liệu gửi từ android tới HC05.................................................................. 53 Bảng 2. 6: Các phiên bản hệ điều hành android ........................................................... 57

Bảng 3. 1: Giá trị các motor tương ứng với các chức năng......................................... 70 Bảng 3. 2: Bảng giá trị đầu ra các cảm biến tương ứng với các trường hợp............. 72

8

Danh mục từ viết tắt

Từ viết tắt Từ đầy đủ Ý nghĩa

IR Infrared Hồng ngoại

MCU Vi điều khiển Microcontroller Unit

MAC Media Access Control Điều khiển truy cập truyền thông

AMA Active Member Address Địa chỉ 3bit dành cho thiết bị đang

hoạt động trong piconet

PMA Packed Member Address Con số 8 bit để nhận biêt các packed

Salve với nhau

ACL Asynchronous connectionless Phi kết nối bất đồng bộ dành cho

truyền dữ liệu

SCO Synchronous connection- Kết nối đồng bộ có định hướng

oriented

CRC Cyclic Redundancy Check Gói kiểm soát lỗi theo chu kỳ

FHSS Frequency Hopping Trải phổ nhảy tần số

Spectrum

GFSK Gaussian frequency-shift Kiểu điều chế tần số dựa trên sự thay

keying đổi tần số rời rạc của sóng mang

DSSS Direct Sequence Spead Là kỹ thuật điều chế trải phổ

Spectrum

ISM Industrial Scientific Medical Dãy băng tần không cần đăng ký: 2.4-

2.48GHz

Forward Error Correction Kỹ thuật sửa lỗi tiến FEC

Backward Error Control Kỹ thuật sửa lỗi ngược BEC

Baseband Dải băng tần cơ sở

Link Manament Protocol Giao thức quản lý kết nối LMP

Software Developement Kit Bộ công cụ phát triển phần mềm SDK

9

GSM/EDG Global System for Mobile Hệ thống thông tin di động toàn cầu

E Communications/ Enhanced

Data Rates for GSM

Evolution

IDEN Integrated Digital Enhanced Công nghệ viễn thông di động phát

Network triền mới Motorola.

CDMA Code Division Multiple Đa truy cập phân chia theo mã

Access

EV-DO EVolution-Data Optimized Tiêu chuẩn truyền băng thông rộng vô

tuyyeens cho các thiết bị không dây

UTMS Universal Mobile Hệ thống viễn thông di động toàn cầu

Telecommunications Systems

A2DP Advanced Audio Distribution Là một trong những chế

Profile độ Bluetooth hỗ trợ ĐTDĐ khả năng

phát ra âm thanh chuẩn stereo.

AVRCP Audio/Video Remote Control Cấu hình điều khiển từ xa âm

Profile thanh/Video

HTML5 HyperText Markup Là một ngôn ngữ cấu trúc và trình bày

Language 5 nội dung cho World Wide Web

CSS3 Cascading Style Sheets Là những file hỗ trỡ trình duyệt web

trong việc hiển thị HTML

HE-AAC High-Efficiency Advanced Mã hóa âm thanh tiên tiến

Audio Coding

JPEG Joint Photographic Experts Là một trong những phương pháp nén

Group ảnh hiệu quả, có tỷ lệ nén ảnh tới vài

chục lần. Tuy nhiên chất lượng ảnh bị

suy giảm sau khi giải nén

10

PNG Portable Network Graphic Là một dạng hình ảnh sử dụng phương

pháp nén dữ liệu mới - không làm mất

đi dữ liệu gốc.

GIF Graphics Interchange Format là một định dạng tập tin hình ảnh

bitmap cho các hình ảnh dùng ít hơn

256 màu sắc khác nhau và các hoạt

hình dùng ít hơn 256 màu cho mỗi

khung hình

MIDI Musical Instrument Digital Giao diện kỹ thuật số dành cho nhạc cụ

Interface

GPS Global Positioning System Hệ thống Định vị Toàn cầu

API Application Programming Giao diện lập trình ứng dụng

Interface

JNI Java Native Interface Bộ framework cho phép mã lệnh viết

bằng Java

11

PHẦN MỞ ĐẦU

Điều khiển từ xa là việc điều khiển một mô hình ở một khoảng cách nào đó

mà con người không nhất thiết trực tiếp đến nơi, trực tiếp điều khiển hệ thống.

Khoảng cách đó tùy thuộc vào từng hệ thống có mức độ phức tạp, khác nhau, chẳng

hạn như việc điều khiển từ xa một phi thuyền ta cần có hệ thống phát và thu mạnh,

ngược lại để điều khiển một trò chơi điện tử từ xa ta chỉ cần một hệ thống phát và thu

yếu hơn…

Chính vì vậy với đề tài: “Thiết kế xe mô hình điều khiển từ xa bằng remote IR

và bằng điện thoại android” chúng em muốn giải quyết các vấn đề sau:

 Thực hiện đo lường khoảng cách giữa xe đến vật cản bằng sóng siêu âm.

 Thiết kế khối điều khiển xe với các chức năng cơ bản: rẽ trái, rẽ phải, tiến,

lùi, dừng lại.

 Thực hiện tự động tránh vật cản với khoảng cách cho trước dựa trên khoảng

cách đo được.

 Thực hiện dò đường dựa vào tiêu chí màu sắc của đường đi, thông qua cảm

biến hồng ngoại.

 Thiết kế phần mềm android điều khiển chuyển động của xe.

i. Giới hạn đề tài

Lĩnh vực đo lường và điều khiển tự động rất đa dạng về hướng nghiên cứu.

Đề tài: “Thiết kế xe mô hình điều khiển từ xa bằng remote IR và điện thoại android”

cũng có rất nhiều khía cạnh nghiên cứu thực hiện. Tuy nhiên trong điều kiện:

 Thời gian thực hiện 15 tuần.

 Kinh nghiệm thực tế còn chưa nhiều.

 Tài liệu nghiên cứu chưa có nhiều tài liệu chuyên sâu.

Vì vậy nhóm em thực hiện đề tài với những nội dung sau:

 Lập trình bằng Kit Ardiuno trên vi điều khiển ATMEGA328.

 Thiết kế mạch điều khiển xe mô hình bằng tia hồng ngoại qua Remote và

bằng điện thoại android qua Sóng Bluetooth.

12

 Xây dựng chương trình điều khiển trên điện thoại android.

 Thực hiện các chức năng điều khiển cơ bản, tự động tránh vật cản, dò

đường.

ii. Mục đích nghiên cứu

Thực hiện đề tài: “Thiết kế xe mô hình điều khiển từ xa bằng remote IR và

bằng điện thoại android” giúp người thực hiện nắm được lý thuyết về đo lường và

điều khiển, hiểu được nguyên lý điều khiển, tập lệnh vi điều khiển.

Sản phẩm đề tài trước hết có thể để nghiên cứu, mở rộng ứng dụng trong thực

tế sản xuất công nghiệp.

iii. Quá trình thực hiện

 Dàn ý nghiên cứu

 Tia hồng ngoại và điều khiển thiết bị từ xa bằng tia hồng ngoại.

 Công nghệ truyền thông không dây tầm gần Bluetooth.

 Hệ điều hành android.

 Cảm biến trong đo lường: cảm biến sóng siêu âm.

 Vi điều khiển ATMEGA328 và các tập lệnh liên quan.

 Phần mềm điều khiển chạy trên hệ điều hành android.

Báo cáo thể hiện gồm các chương:

 Chương mở đầu: Khái quát về nội dung, mục đích, giới hạn đề tài và

các phương pháp thực hiện.

 Chương 1: Kiến thức tổng quan.

 Chương 2: Giới thiệu về hệ điều hành và các giao tiếp ngoại vi sử dụng

trong thiết kế.

 Chương 3: Thuật toán thực hiện, sơ đồ khối tổng quát và chi tiết, các

bước và quá trình thực hiện.

 Chương 4: Kết quả đạt được và các hướng phát triển.

 Chương kết luận.

13

 Đối tượng thực hiện

 Khối xử lý tín hiệu và điều khiển: có nhiều phương pháp thực hiện như

dùng IC cứng, dùng vi điều khiển,… Và trong thiết kế này nhóm em sử dụng vi điều

khiển để xử lý tín hiệu và điều khiển toàn bộ hoạt động mạch. Vi điều khiển nhóm

em sử dụng là ATMEGA328, vì dòng vi điều khiển này khá là phổ biến, dễ thực hiện,

tốc độ xử lý nhanh.

 Để thực hiện đo khoảng cách tới vật cản nhóm em sử dụng thiết bị cảm

biến SRF05. Và sử dụng động cơ Servo hỗ trợ chỉnh hướng cho SRF05.

 Thiết bị phát hồng ngoại: Remote hồng ngoại.

 Thiết bị thu hồng ngoại: Mắt thu 1838T.

 Thiết bị phát tín hiệu điều khiển qua sóng Bluetooth: Điện thoại android.

 Thiết bị nhận tín hiệu của điện thoại là module Bluetooth HC05.

 Thiết bị thu dữ liệu thực hiện chức năng dò đường là module hồng ngoại

dò đường.

 Khối chấp hành là module động cơ L298.

 Phương pháp thực hiện

 Tìm hiểu về lý thuyết liên quan.

 Viết và thực hiện các chương trình nhỏ, các bài ví dụ trên vi điều khiển

ATMEGA328 để làm quen với kiến trúc và tập lệnh của vi điều khiển.

 Xây dựng thuật toán đo khoảng cách và điều khiển.

 Viết chương trình thực hiện thuật toán bằng Kit arduino.

 Viết ứng dụng chạy trên hệ điều hành android thực hiện điều khiển.

Ứng dụng viết trên phần mềm eclipse SDK 4.4.2

 Mô phỏng, thi công mạch.

 Thời gian thực hiện

 Tìm hiểu lý thuyết: 2 tuần.

 Xây dựng thuật toán: 4 tuần.

 Viết chương trình: 3 tuần.

 Mô phỏng, sửa mã nguồn: 2 tuần.

 Thi công mạch: 2 tuần.

14

 Viết báo cáo: 2 tuần.

 Phân công công việc:

Bảng 1: Phân chia công việc

Công việc

Người thực hiện Thời gian hoàn thành Kết quả

Tìm hiểu lý thuyết. Tuần 2-3 Hoàn thành Lê Văn Thành Trần Văn Thuấn

Trần Văn Thuấn Tuần 4-7 Điều khiển bằng Remote qua sóng IR Hoàn thành

Tuần 4-7 Xây dựng phương pháp thực hiện và thuật toán Hoàn thành Lê Văn Thành

Viết mã nguồn Trần Văn Thuấn Tuần 8-10 Hoàn thành

Lê Văn Thành

Tuần 8-10 Hoàn thành

Tuần 10

Điều khiển bằng điện thoại android qua sóng Bluetooth Mã nguồn điều khiển bằng Remote qua sóng IR Mã nguồn điều khiển bằng điện thoại android qua sóng Bluetooth Xây dựng mã nguồn ứng dụng android Lê Văn Thành Trần Văn Thuấn Hoàn thành

Test bo cắm, sửa mã nguồn

Thi công mạch

Viết báo cáo

Tuần 11-12 Hoàn Lê Văn Thành Trần Văn Thuấn thành Trần Văn Thuấn Tuần 13-15 Hoàn thành Tuần 13-15 Hoàn thành Lê Văn Thành Trần Văn Thuấn

iv. Chỉ tiêu kỹ thuật

a. Sản phẩm

 Kích thước: cỡ dài.rộng.cao <= 25.15.10 (cm3).

 Khung nhựa, sử dụng 3 bánh chuyển động.

 Tốc độ: trung bình khoảng 30 cm/s.

 Xây dựng được mạch điều khiển xe mô hình sử dụng chip ATMEGA328.

 Xe mô hình điều khiển được bằng 2 phương pháp:

15

 Điều khiển bằng Remote bằng sóng hồng ngoại (IR).

 Điều khiển bằng điện thoại android qua sóng Bluetooth.

b. Phần mềm android điều khiển

 Giao diện thân thiện, dễ sử dụng.

 Dung lượng cài đặt thấp, phù hợp với các phiên bản android hiện hành.

c. Các chức năng điều khiển

 Đo khoảng cách tới vật cản: khoảng cách lớn nhất đo được 3 mét.

 Thực hiện các chức năng cơ bản: Stop, Tiến, Lùi, Trái, Phải.

 Tự động tránh vật cản với khoảng cách cho trước: 13 cm.

 Thực hiện chức năng dò đường (di chuyển theo tín hiệu phản hồi từ cảm

biến).

Trong đó yêu cầu từng chức năng như sau:

 Điều khiển bằng Remote:

 Khoảng cách điều khiển: 3m.

 Các chức năng điều khiển: Trái, Phải, Stop, Tiến, Tự động tránh vật

cản, Dò đường.

 Tốc độ di chuyển: Do đề tài thực hiện với xe mô hình (khối lượng khá

nhỏ có thể bỏ qua), nên tốc độ di chuyển xe không bị ảnh hưởng bởi gia tốc xe. Vận

tốc trung bình là 30cm/s.

 Độ trễ tín hiệu đạt được: 0.5s.

 Điều khiển bằng Android qua sóng Bluetooth

 Khoảng cách điều khiển: 8 mét.

 Độ trễ đạt được: 0.5s.

 Các chức năng điều khiển: từ điện thoại android, điều khiển bằng chạm

tay hoặc gửi ký tự (go, stop, right, left, tránh vật cản, dò đường).

 Trên phần mềm android có giao diện điều khiển đơn giản với các nút

điều khiển ghi rõ trái, phải, tiến, lùi, stop, tránh vật cản. Các nút turn on, turn off để

kết nối và ngắt kết nối Bluetooth.

16

CHƯƠNG 1: KIẾN THỨC TỔNG QUAN

1.1. Giới thiệu hệ thống điều khiển từ xa

Hệ thống điều khiển từ xa là một hệ thống cho phép ta điều khiển các thiết bị

từ một khoảng cách xa. Ví dụ hệ thống điều khiển bằng vô tuyến, hệ thống điều khiển

bằng tia hồng ngoại, hệ thống điều khiển từ xa bằng Bluetooth, hệ thống điều khiển

từ xa bằng cáp quang, dây dẫn.

Sơ đồ kết cấu hệ thống điều khiển từ xa nói chung bao gồm:

 Thiết bị phát: biến đổi lệnh điều khiển thành tin tức và phát đi, ở trong thiết

kế này nhóm em sử dụng thiết bị phát là Remote hồng ngoại đối với phương pháp

điều khiển qua sóng hồng ngoại và thiết bị phát là điện thoại Android với phương

pháp điều khiển qua sóng bluetooth.

 Đường truyền: đưa tín hiệu điều khiển từ thiết bị phát đến thiết bị thu.

Trong thiết kế nhóm em sử dụng 2 đường truyền là sóng hồng ngoại và sóng

bluetooth.

 Thiết bị thu: nhận tín hiệu điều khiển từ đường truyền, qua quá trình biến

đồi, biến dịch để tái hiện lại lệnh điều khiển rồi đưa đến các thiết bị thi hành. Trong

thiết kế của nhóm em thì thiết bị thu là mắt thu hồng ngoại 1838T và module

Bluetooth HC05.

Đường truyền Thiết bị phát Thiết bị thu

Hình 1.1: Sơ đồ kết cấu hệ thống điều khiển từ xa

Nhiệm vụ cơ bản của các hệ thống điều khiển từ xa:  Phát tín hiệu điều khiển.

 Sản sinh ra xung hoặc hình thành các xung cần thiết.

 Tổ hợp xung thành mã.

 Phát tổ hợp mã tới điểm chấp hành.

17

 Ở điểm chấp hành (thiết bị thu) sau khi nhận được mã phải biến đổi các mã

nhận được thành các lệnh điều khiển và đưa đến các thiết bị đồng thời kiểm tra sự

chính xác của mã mới nhận.

1.1.1. Một số vấn đề cơ bản trong hệ thống điều khiển từ xa

Do hệ thống điều khiển từ xa có những đường truyền dẫn xa nên ta phải

nghiên cứu về kết cấu hệ thống để đảm bảo tín hiệu được truyền đi chính xác và

nhanh chóng theo những yêu cầu sau:

1.1.1.1. Kết cấu tin tức

Trong hệ thống điều khiển từ xa đọ tin cậy truyền dẫn tin tức có quan hệ nhiều

đến đến kết cấu tin tức. Nội dung về kết cấu tin tức có hai phần: về lượng và về chất.

Về lượng là cách biến lượng điều khiển và lượng điều khiển thành loại xung gì cho

phù hợp, và những xung đó cần áp dụng những phương pháp gì cho phù hợp, và

những xung đó cần áp dụng những phương pháp nào để hợp thành tin tức, để có dung

lượng lớn nhất và tốc độ truyền nhanh nhất.

1.1.1.2. Về kế cấu hệ thống

Để đảm bảo các yêu cầu về kết cấu tin tức, hệ thống điều khiển từ xa có các

yêu cầu sau:

 Tốc độ làm việc nhanh.

 Thiết bị phải an toàn, tin cậy.

 Kết cấu phải đơn giản.

Hệ thống điều khiển từ xa có hiệu quả cao là hệ thống đạt tốc độ điều khiển

cực đại, đồng thời đảm bảo độ chính xác trong phạm vi cho phép.

1.1.2. Phương pháp mã hóa trong điều khiển từ xa

Trong hệ thống truyền thông tin rời rạc hoặc truyền thông tin liên tục nhưng

đã được rời rạc hóa tin tức thường phải được biến đổi thông qua một phép biến đổi

thành số (thường là nhị phân) rồi mã hóa và được phát đi từ thiết bị phát.Ở thiết bị

thu, các tín hiệu phải thông qua các phép biến đổi ngược lại với các phép biến đổi

trên: giải mã, liên tục hóa,…

18

1.2. Điều khiển từ xa bằng tia hồng ngoại

1.2.1. Lý thuyết sóng hồng ngoại IR

1.2.1.1. Khái niệm

Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được

bằng mắt thường, có bước sóng khoảng 0.8m đến 0.9m, tia hồng ngoại có vận tốc

truyền bằng vận tốc ánh sáng.

Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó ứng dụng rộng

rãi trong công nghiệp. Lượng thông tin có thể đạt được tới 3Mbit/s … Trong kỹ thuật

truyền tin bằng sợi quang dẫn không cần các trạm khuếch đại giữa chừng, người ta

có thể truyền một lúc 15000 điện thoại hay 15 kênh truyền hình qua một sợi tơ quang

với đường kính 0.13mm với khoảng cách 10Km đến 20Km. Lượng thông tin được

truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần.

Tia hồng ngoại dễ hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa,

tia hồng ngoại phát đi hẹp, có hướng do đó phải thu đúng hướng.

1.2.1.2. Nguồn phát sáng hồng ngoại và phổ của nó

Các nguồn sóng nhân tạo thường có nhiều sóng hồng ngoại. Hình dưới cho ta

quang phổ của các nguồn phát sáng này.

Hình 1.1: Quang phổ của các nguồn sóng hồng ngoại

Trong đó: IRED: Diode hồng ngoại.

LA: laser bán dẫn.

19

LR: đèn huỳnh quang.

Q: bóng đèn thủy tinh.

W: bóng đèn điện với dây tiêm volfram.

PT: phototransistor.

1.2.1.3. Linh kiện thu sóng hồng ngoại

Người ta dùng quang điện trở, phototransistor, photodiode để thu sóng hồng

ngoại gần. Để thu sóng hồng ngoại trung bình và xa phát ra từ cơ thể người, vật

nóng… Loại detector với vật liệu Lithiumtitanat hay tấm chất dẻo Polyviny-

Lidendifluorid (PVDF). Cơ thể người phát ra tia hồng ngoại với độ dài sóng từ 8ms

đến 10ms.

1.2.1.4. Ưu điểm và nhược điểm của phương pháp điều khiển từ xa bằng tia

hồng ngoại

a. Ưu điểm:

 Không dây dẫn.

 Led phát và thu nhỏ, gọn dễ thiết kế lắp đặt và có độ tin cậy cao.

 Áp cung cấp thấp, công suất tiêu tán nhỏ.

 Điều khiển được nhiều thiết bị.

 Tính khả thi cao, linh kiện dễ tìm thấy và thi công dễ.

b. Nhược điểm:

 Tầm xa bị hạn chế.

 Dòng điện cao tức thời.

 Nhiều hồng ngoại do các nguồn nhiệt xung quanh ta phát ra, nên có ảnh

hưởng và hạn chế tầm phát. Do đó chỉ dùng trong phòng, kho và nơi ít bị ảnh hưởng

của nhiệt độ môi trường.

 Hạn chế khi bị vật cản nên không thể truyền được xa.

1.2.2. Sơ đồ khối hệ thống điều khiển từ xa bằng tia hồng ngoại nói chung

1.2.2.1. Máy phát

20

Mã hóa

Phát lệnh điều khiển

Điều chế

Khuếch đại

Dạo động tạo sóng mang

Hình 1.2: Sơ đồ máy phát

Giải thích sơ đồ máy phát:

Máy phát có nhiệm vụ tạo ra lệnh điều khiển, mã hóa và phát tín hiệu đến máy

thu lệnh truyền đi đã được điều chế.

 Khối phát lệnh điều khiển: khối này có nhiệm vụ tạo ra lệnh điều khiển từ

nút nhấn (phím điều khiển). Một khi phím nhấn được ấn tức là một lệnh đã được phát

ra. Các nút nhấn có thể là một nút, hay ma trận nút. Ma trận phím được bố trí theo

cột và hàng. Lệnh điều khiển được đưa đến bộ mã hóa dưới dạng các bit nhị phân

tương ứng với từng phím điều khiển.

 Khối mã hóa: để truyền các tín hiệu khác nhau đến máy thu mà chúng

không lẫn lộn nhau, ta phải tiến hành mã hóa các tín hiệu (lệnh điều khiển). Khối mã

hóa này có nhiệm vụ biến đổi các lệnh điều khiển thành các bit nhị phân, hiện tượng

biến đổi này gọi là mã hóa. Có nhiều phương pháp mã hóa khác nhau:

 Điều chế biên độ xung.

 Điều chế vị trí xung.

 Điều chế độ rộng xung.

 Điều chế mã xung.

Trong kỹ thuật điều khiển từ xa dùng tia hồng ngoại, phương pháp điều chế

mã xung thường được sử dụng nhiều hơn cả, vì phương pháp này tương đối đơn giản,

dễ thực hiện.

21

 Khối dao động tạo sóng mang: khối này có nhiệm vụ tao ra sóng mang

có tần số ổn định, sóng mang này sẽ mang tín hiệu điều khiển khi truyền ra môi

trường.

 Khối điều chế: khối này có nhiệm vụ kết hợp với tín hiệu điều khiển đã

mã hóa sóng mang để đưa đến khối khuếch đại.

 Khối khuếch đại: khuếch đại tín hiệu đủ lớn để led phát hồng ngoại phát

ra môi trường.

 Led phát: biến đổi tín hiệu điện thành tín hiệu hồng ngoại phát ra ngoài

môi trường.

1.2.2.2. Máy thu

Giải mã Chốt

Khuếch đại Tách sóng

Khuếch đại

Mạch chấp hành

Hình 1.3: Sơ đồ khối máy thu

Giải thích sơ đồ khối máy thu:

Chức năng của máy thu là thu được tín hiệu điều khiển từ máy phát, loại bỏ

sóng mang, giải mã tín hiệu điều khiển thành các lệnh riêng biệt, từ đó mỗi lệnh sẽ

đưa đến khối chấp hành cụ thể.

 Led thu: thu tín hiệu hồng ngoại do máy phát truyền tới và biến đổi thành

tín hiệu điều khiển.

 Khối khuếch đại: có nhiệm vụ khuếch đại tín hiệu điều khiển lớn lên từ

Led thu hồng ngoại để quá trình xử lý tín hiệu được dễ dàng.

 Khối tách sóng mang: khối này có chức năng triệt tiêu sóng mang, chỉ giữ

lại tín hiệu điều khiển như tín hiệu gửi đi từ máy phát.

22

 Khối giải mã: giải mã tín hiệu điều khiển thành các lệnh điều khiển dưới

dạng các bit nhị phân hay các dạng khác để đưa đến khối chấp hành cụ thể. Do đó

nhiệm vụ của khối này là rất quan trọng.

 Khối chốt: có nhiệm vụ giữ nguyên trạng thái tác động khi tín hiệu điều

khiển không còn, điều này có nghĩa là khi phát lệnh điều khiển ta chỉ tác động vào

phím ấn 1 lần, trạng thái chỉ thay đổi khi ta tác động vào nút khác thực hiện lệnh điều

khiển khác.

 Khối khuếch đại: khuếch đại tín hiệu điều khiển đủ lớn để tác động vào

mach chấp hành.

 Khối chấp hành: có thể là role, một linh kiện điều khiển nào đó, đây là

khâu cuối cùng tác động trực tiếp vào thiết bị thực hiện nhiệm vụ điều khiển mong

muốn.

1.3. Điều khiển từ xa bằng Bluetooth

1.3.1. Công nghệ truyền thông không dây Bluetooth

1.3.1.1. Sự ra đời Bluetooth

Bluetooth hiện tại là công nghệ giao tiếp không dây phổ biến nhất trên các

thiết bị di động và có lẽ bạn cũng đã ít nhất một lần truyền/nhận dữ liệu hay nghe

nhạc qua Bluetooth.

Gần 1 nghìn năm sau cái chết của vua Harald Bluetooth, vị vua người Thụy

Điển đã thống nhất được các vùng đất tại bán đảo Scandinavia để quy về một mối

dưới triều đại Viking vào thế kỷ thứ 10, năm 1994 hãng công nghệ Thụy Điển,

Ericsson, đã nảy ra cái tên Bluetooth cho công nghệ không dây mà họ đang phát triển

với mong muốn rằng công nghệ này có thể thực hiện được sứ mệnh “chuẩn hóa” và

thống nhất các kết nối không dây giữa những nhà sản xuất thiết bị cầm tay [2].

Logo Bluetooth là sự kết hợp của 2 ký tự Rune cổ: (Hagall) và (Bjarkan) tương

đương với 2 ký tự H và B trong chữ Latin là viết tắt của Harald Bluetooth.

Sau đó, Bluetooth được liên minh Bluetooth SIG với các thành viên chính là

những hãng sản xuất phần cứng lớn nhất thời bấy giờ như Nokia, Ericsson, Intel,

IBM, Toshiba… “chuẩn hóa” và công bố phiên bản đầu tiên vào năm 1998 [2].

23

1.3.1.2. Các phiên bản Bluetooth

Từ khi ra đời đến nay, Bluetooth đã cải tiến nhiều phiên từ phiên bản Bluetooth

1.0 đến hiện nay là phiên bản Bluetooth 4.2:

Bảng 1. 1: Các phiên bản Bluetooth

Phiên bản Chi tiết

Bluetooth Là phiên bản đầu tiên của chuẩn kết nối Bluetooth được

1.0 đưa vào sử dụng với tốc độ truyền tải dữ liệu là 1Mbs,

tuy nhiên thực tế tốc độ của phiên bản này chỉ đạt được

mức 720kbs [1].

Bluetooth Là phiên bản nâng cấp sau Bluetooth 1.0 được nâng cấp

2.0 + ERD tốc độ truyền tải lên 2.1 Mbs cùng với chế độ truyền tải

mới ERD (enhanced data rate). Phiên bản 2.1 được nâng

cấp về tốc độ truyền tải nhưng lại hạn chế trên thiết bị sử

dụng do ERD chỉ là chế độ tùy chọn, một số nhà sản

xuất đã không đưa chế độ này vào sản phẩm của mình

để giảm chi phí sản xuất [1].

Bluetooth Được nâng cấp từ Bluetooth 2.0 vào năm 2007 với thay

2.1+ ERD đổi quan trọng như hiệu năng cao hơn, giảm điện năng

tiêu thụ. Phiên bản này được sử dụng trên các thiết bị

như điện thoại di động, laptop, tai nghe ….. Tuy nhiên,

Bluetooth 2.1 vẫn chưa cho người dùng truyền tải các

tập tin có dung lượng lớn [1].

Bluetooth Năm 2009 buetooth 3.0 ra đời với thay đổi lớn về tốc độ

3.0 + HS truyền tải, đạt 24Mbps ở phiên bản này các thiết bị có

thể tương tác dễ dàng với nhau hơn, có thể tự dò tìm các

thiết bị ở gần [1].

Bluetooth Là sự kết hợp của các đời Bluetooth trước đó với nhau.

4.0 Bluetooth 4.0 đạt tốc độ truyền tải lên đến 25Mbps, dễ

dàng ghép đôi các thiết bị với nhau, hiệu năng tiêu thụ

24

thấp. Đây là chuẩn Bluetooth được sử dụng trên hầu hết

các thiết bị hiện nay [1].

Bluetooth Là phiên bản mới nhất ra đời đầu năm 2014 với nhiều

cải tiến vượt bậc so với Bluetooth 4.0 [1]. 4.1

Bluetooth Bluetooth v4.2 được phát hành vào 02 tháng 12, năm

2014. Nó giới thiệu một số tính năng quan trọng 4.2

cho IOT (internet of things). Một số tính năng, chẳng

hạn như dữ liệu chiều dài mở rộng, yêu cầu cập nhật

phần cứng.Tuy nhiên, một số phần cứng Bluetooth cũ có

thể nhận được một số tính năng Bluetooth v4.2, chẳng

hạn như cập nhật bảo mật thông qua firmware.

1.3.1.3. Ưu điểm và nhược điểm của điều khiển từ xa qua Bluetooth

a. Ưu điểm:

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

 Cho phép ứng dụng được nhiều loại 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 cho phép giữa 2 thiết bị kết nối có thể lên đến 100m

 Sử dụng băng tần 2.4GHz, tốc độ truyền dữ liệu có thể đạt tới 1Mbps mà

các thiết bị không cần phải trực tiếp thấy nhau.

 Tính tương thích cao và được nhiều nhà sản xuất phần cứng cũng như

phần mềm hỗ trợ.

b. Nhược điểm:

 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 2 thiết bị với nhau, không kết nối được thành mạng.

1.3.2. Các vấn đề bảo mật trong công nghệ Bluetooth

1.3.2.1. Bảo mật

Khi sử dụng công nghệ buletooth, chắc hẳn mọi người ai cũng quan tâm đến

vấn đề bảo mật của nó. Tùy thuộc vào cách nó được cấu hình mà công nghệ Bluetooth

25

có thể khá an toàn, tuy nhiên nhiều thiết bị Bluetooth có số lượng ngắn các chữ số sử

dụng trong mã PIN có thể gây nguy hiểm cho các thiết bị này.

Nếu ai đó có thể phát hiện ra thiết bị Bluetooth của bạn, thì người này hoàn

toàn có khả năng gửi các tin nhắn không yêu cầu và lạm dụng dịch vụ Bluetooth hoặc

xâm nhập hay sửa đổi dữ liệu của bạn. Các virut hoặc các mã nguy hiểm khác cũng

có thể lợi dụng công nghệ này để làm hại thiết bị. Nếu đã bị xâm nhập, dữ liệu của

bạn có thể sẽ bị sửa đổi, làm tổn hại hay bị đánh cắp hoặc mất.

1.3.2.2. Phương pháp bảo vệ

 Vô hiệu hóa Bluetooth khi không sử dụng chúng .Trừ khi bạn kích hoạt

việc truyền tải thông tin từ thiết bị này đến một thiết bị khác, nếu không bạn nên vô

hiệu hóa công nghệ này để tránh những người không hợp lệ có thể xâm nhập.

 Sử dụng Bluetooth trong chế độ ẩn – khi kích hoạt Bluetooth- hãy đặt nó

trong trạng thái “không thể phát hiện “. Chế độ ẩn nhằm ngăn chặn các thiết bị khác

nhận ra thiết bị của bạn. Điều này không ngăn cản bạn kết nối đến các thiết bị

Bluetooth khác. Thậm chí cả hai cũng có thể nhận ra nhau để kết nối nếu chúng cùng

trong chế độ ẩn. Các thiết bị như điện thoại di động và tai nghe không dây cần phải

đặt trong chế độ “ không phát hiện “ kết nối ban đầu thì chúng luôn nhận ra thiết bị

kia mà không cần tìm kiếm lại kết nối nữa cho lần tiếp theo.

 Cẩn thận với những nơi sử dụng Bluetooth. Cần phải quan tâm đến môi

trường khi ghép đôi thiết bị của bạn hoặc hoạt động trong chế độ có thể phát hiện.

 Đánh giá các thiết lập bảo mật. Hầu hết các thiết bị đều có nhiều đặc tính

giúp trang bị cần thiết cho bản thân, vô hiệu hóa bất kỳ tính năng hoặc các kết nối

không cần thiết có thể. Kiểm tra các thiết lập, thiết lập bảo mật đặc biệt và lựa chọn

các tùy chọn cần thiết đối với bạn mà không gây ra mức rủi ro cao.

 Khai thác triệt để các tùy chọn bảo mật. Tìm hiểu kỹ các tùy chọn bảo mật

mà thiết bị Bluetooth của bạn có thể cung cấp, từ đó khai thác triệt để những tính

năng tác dụng của chúng như sự mã hóa và thẩm định.

26

1.3.3. Các khái niệm trong công nghệ Bluetooth

1.3.3.1. Master Unit-Khối chính

Master là thiết bị đầu tiên tạo kết nối có vai trò quyết định số kênh truyền

thông và thực hiện đồng bộ giữa các thành phần trong Piconet.

Là thiết bị duy nhất trong 1 Piconet, Master thiết lập đồng hồ đếm xung và

kiểu bước nhảy (hopping) để đồng bộ tất cả các thiết bị trong cùng piconet mà nó

đang quản lý, thường là thiết bị đầu tiên chuyển đổi dữ liệu. Master cũng quyết định

số kênh truyền thông. Mỗi Piconet có một kiểu hopping duy nhất.

1.3.3.2. Slaver Unit: là thiết bị gửi yêu cầu tới Master

Là tất cả các thiết bị còn lại trong piconet, một thiết bị không là Master thì

phải là Slave. Tối đa 7 Slave dạng Active và 255 Slave dạng Parked (Inactive) trong

1 Piconet. Có 3 dạng Slave trong một Piconet:

 Active: Slave hoạt động, có khả năng trao đổi thông tin với Master và các

Slave Active khác trong Piconet. Các thiết bị ở trạng thái này được phân biệt thông

qua 1 địa chỉ MAC (Media Access Control) hay AMA (Active Member Address) -

đó là con số gồm 3 bit. Nên trong 1 Piconet có tối đa 8 thiết bị ở trạng thái này (1 cho

Master và 7 cho Slave).

 Standby: Standby là một dạng inactive, thiết bị trong trạng thái này không

trao đổi dữ liệu, sóng radio không có tác động lên, công suất giảm đến tối thiểu để

tiết kiệm năng lượng, thiết bị không có khả năng dò được bất cứ mã truy cập nào. Có

thể coi là những thiết bị trong nằm ngoài vùng kiểm soát của Master.

 Parked: là một dạng inactive, chỉ 1 thiết bị trong 1 Piconet thường xuyên

được đồng bộ với Piconet, nhưng không có 1 địa chỉ MAC. Chúng như ở trạng thái

"ngủ" và sẽ được Master gọi dậy bằng tín hiệu "beacon" (tín hiệu báo hiệu). Các thiết

bị ở trạng thái Packed được đánh địa chỉ thông qua địa chỉ PMA (Packed Member

Address). Đây là con số 8 bits để phân biệt các packed Slave với nhau và có tối đa

255 thiết bị ở trạng thái này trong 1 Piconet.

27

1.3.3.3. Piconet

Picotnet là tập hợp các thiết bị được kết nối thông qua kỹ thuật Bluetooth theo

mô hình Ad-Hoc (đây là kiểu mạng được thiết lập cho nhu cầu truyền dữ liệu hiện

hành và tức thời, tốc độ nhanh và kết nối sẽ tự động huỷ sau khi truyền xong). Trong

1 Piconet thì chỉ có 1 thiết bị là Master. Đây thường là thiết bị đầu tiên tạo kết nối,

nó có vai trò quyết định số kênh truyền thông và thực hiện đồng bộ giữa các thành

phần trong Piconet, các thiết bị còn lại là Slave. Đó là các thiết bị gửi yêu cầu đến

Master [3].

Lưu ý rằng, 2 Slave muốn thực hiện liên lạc phải thông qua Master bởi chúng

không bao giờ kết nối trực tiếp được với nhau, Master sẽ đồng bộ các Slave về thời

gian và tần số. Trong 1 Piconet có tối đa 7 Slave đang hoạt động tại 1 thời điểm.

Các mô hình Piconet:

Minh hoạ một Piconet gồm nhiều Slave:

Hình 1.4: Kiến trúc Piconet trong Bluetooth

28

1.3.3.4. Scatternet

Là 2 hay nhiều Piconet độc lập và không đồng bộ, các Piconet này kết hợp lại

truyền thông với nhau.

Lưu ý:

 Một thiết bị có thể vừa là Master của Piconet này, vừa là Slave của Piconet

khác.

 Vai trò của 1 thiết bị trong Piconet là không cố định, có nghĩa là nó có thể

thay đổi từ Master thành Slave và ngược lại, từ Slave thành Master. Ví dụ nếu Master

không đủ khả năng cung cấp tài nguyên phục vụ cho Piconet của mình thì nó sẽ

chuyển quyền cho 1 Slave khác giàu tài nguyên hơn, mạnh hơn, bởi vì trong 1 piconet

thì Clock và kiểu Hopping đã được đồng bộ nhau sẵn.

Ví dụ một Scatternet:

Hình 1.5: Một Scatternet gồm 2 Piconet

1.3.4. Định nghĩa các liên kết vật lý trong Bluetooth

 Asynchronous connectionless (ACL): được thiết lập cho việc truyền dữ liệu,

những gói dữ liệu cơ bản (primarily packet data). Là một kết nối point-to-multipoint

giữa Master và tất cả các Slave tham gia trong piconet. Chỉ tồn tại duy nhất một kết

nối ACL. Chúng hỗ trợ những kết nối chuyển mạch gói (packet-switched connection)

đối xứng và không đối xứng. Những gói tin đa khe dùng ACL link và có thể đạt tới

29

khả năng truyền tối đa 723.2 kbps ở một hướng và 57.6 kbps ở hướng khác [4][5].

Master điều khiển độ rộng băng tầng của ACL link và sẽ quyết định xem trong một

piconet một slave có thể dùng băng tầng rộng bao nhiêu. Những gói tin broadcast

truyền bằng ACL link, từ master đến tất cả các slave. Hầu hết các gói tin ACL đều có

thể truyền lại.

 Synchronous connection-oriented (SCO): hỗ trợ kết nối đối xứng, chuyển

mạch (circuit-switched), point-to-point giữa một Master và một Slave trong 1 piconet.

Kết nối SCO chủ yếu dùng để truyền dữ liệu tiếng nói. Hai khe thời gian liên tiếp đã

được chỉ định trước sẽ được dành riêng cho SCO link. Dữ liệu truyền theo SCO link

có tốc độ 64kbps. Master có thể hỗ trợ tối đa 3 kết nối SCO đồng thời. SCO packet

không chứa CRC (Cyclic Redundancy Check) và không bao giờ truyền lại. Liên kết

SCO được thiết lập chỉ sau khi 1 liên kết ACL đầu tiên được thiết lập [3].

1.3.5. Trạng thái của thiết bị Bluetooth

Có 4 trạng thái chính của 1 thiết bị Bluetooth trong 1 piconet:

 Inquiring device (inquiry mode): thiết bị đang phát tín hiệu tìm thiết bị

Bluetooth khác.

 Inquiry scanning device (inquiry scan mode): thiết bị nhận tín hiệu inquiry

của thiết bị đang thực hiện inquiring và trả lời.

 Paging device (page mode): thiết bị phát tín hiệu yêu cầu kết nối với thiết

bị đã inquiry từ trước.

 Page scanning device (page scan mode): thiết bị nhận yêu cầu kết nối từ

paging device và trả lời.

1.3.6. Các chế độ kết nối

 Active mode: trong chế độ này, thiết bị Bluetooth tham gia vào hoạt động

của mạng. Thiết bị master sẽ điều phối lưu lượng và đồng bộ hóa cho các thiết bị

slave.

 Sniff mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái

active. Ở Sniff mode, thiết bị slave lắng nghe tín hiệu từ mạng với tần số giảm hay

nói cách khác là giảm công suất. Tần số này phụ thuộc vào tham số của ứng dụng.

Đây là chế độ ít tiết kiệm năng lượng nhất trong 3 chế độ tiết kiệm năng lượng.

30

 Hold mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái

active. Master có thể đặt chế độ Hold mode cho slave của mình. Các thiết bị có thể

trao đổi dữ liệu ngay lập tức ngay khi thoát khỏi chế độ Hold mode. Đây là chế độ

tiết kiệm năng lượng trung bình trong 3 chế độ tiết kiệm năng lượng.

 Park mode: là chế độ tiết kiệm năng lượng của thiết bị vẫn còn trong mạng

nhưng không tham gia vào quá trình trao đổi dữ liệu (inactive). Thiết bị ở chế độ Park

mode bỏ địa chỉ MAC, chỉ lắng nghe tín hiệu đồng bộ hóa và thông điệp broadcast

của Master. Đây là chế độ tiết kiệm năng lượng nhất trong 3 chế độ tiết kiệm năng

lượng.

1.3.7. Kỹ thuật trải phổ nhảy tần số trong công nghệ Bluetooth

1.3.7.1. Khái niệm:

Bluetooth sử dụng kỹ thuật vô tuyến được gọi là trải phổ nhảy tần số

(Frequency Hopping Spectrum-FHSS), chia nhỏ dữ liệu được gửi đi và truyền từng

khúc dữ liệu lên 79 tần số. Trong dạng cơ bản của nó, sự điều chế là sự đánh tín hiệu

dịch tần số Gausse (GFSK). Nó đạt được tốc độ truy cập là 1Mbs, tốc độ truy cập tối

đa của nó có thể lên đến 3Mbs. Bluetooth hoạt động ở dải tần 2.4GHz.

Truyền trải phổ là kỹ thuật truyền tín hiệu sử dụng nhiều tần số cùng 1 lúc

(DSSS-Direct Sequence Spead Spectrum) hoặc luân phiên FHSS để tăng khả năng

chống nhiễu, bảo mật và tốc độ truyền dữ liệu.

Trải phổ nhảy tần số là kỹ thuật phân chia giải băng tần thành một tập hợp các

kênh hẹp và thực hiện việc truyền tín hiệu trên các kênh đó bằng việc nhảy tuần tự

qua các kênh theo một thứ tự nào đó.

31

Hình 1.6: Kỹ thuật trải phổ nhảy tần số

1.3.7.2. Kỹ thuật nhảy tần số trong công nghệ Bluetooth

Giải băng tần ISM 2.4GHz được chia thành 79 kênh, với tốc độ nhảy là 1600

lần trong một giây, điều đó có thể tránh được nhiễu tốt và chiều dài của các packet

ngắn lại, tăng tốc độ truyền thông. Hầu hết các nước dùng 79 bước nhảy, mỗi bước

nhảy cách nhau 1MHz, bắt đầu ở 2.402GHz và kết thúc ở 2.480GHz. Ở một vài nước,

chẳng hạn như Pháp, Nhật phạm vi của dải băng tần này được giảm còn 23 bước nhảy

[4].

Hình 1.7: Các packet truyền trên các tần số khác nhau

32

Hình 1.8: Các packet truyền trên khe thời gian

 Việc truyền nhận sử dụng các khe thời gian. Chiều dài 1 khe thời gian

thông thường là 625µs. Một packet thường nằm trong khe đơn, nhưng cũng có thể

mở rộng ra 3 hay 5 khe, yêu cầu tần số phải không đổi cho đến khi toàn bộ packet gửi

xong [4][5].

 Sử dụng packet đa khe, tốc độ truyền dữ liệu cao hơn nhờ phần header của

mỗi packet chỉ đòi hỏi 1 lần 220µs. Có thể hiểu ngắn gọn là thời gian truyền 3 packets

đơn khe sẽ lớn hơn thời gian truyền 1 packet 3 khe. Bù lại, trong môi trường có nhiều

tín hiệu truyền, các packet dài chiếm nhiều timeslot dễ bị nhiều hơn do đó dễ bị mất

hơn [4].

 Mỗi packet chứa 3 phần : Access Code, Header, Payload[4]:

Hình 1.9: Cấu trúc gói tin buletooth

 Kích thước của access code và header là cố định (hình 1.10) [4]

 Access Code: Gồm 72bits, dùng trong việc đồng bộ dữ liệu, định danh,

báo hiệu.

 Header :

33

Hình 1.10: Cấu tạo một packet

Trong header có 54 bits:

 3 bits được dùng trong việc định địa chỉ, do đó có tối đa 7 Active Slave.

 4 bits tiếp theo cho biết loại packet.

 1 bits điều khiển luồng.

 1 bits ARQ: cho biết packet là Broadcast không có ACK.

 1 bits Sequencing: lọc bỏ những packet trùng do truyền lại.

 8 bits HEC: kiểm tra tính toàn vẹn của header.

Tổng cộng có 18 bits, các bit đó được mã hóa với 1/3 FEC (Forward Error

Correction) để có được 54 bits.

 PayLoad: phần chứa dữ liệu truyền đi, có thể thay đổi từ 0 tới

2744bit/packet. Payload có thể là dữ liệu data hoặc voice.

1.3.8. Cách thức hoạt động của Bluetooth

1.3.8.1. Cơ chế truyền và sửa lỗi

Kỹ thuật Bluetooth thực sự là rất phức tạp. Nó dùng kỹ thuật nhảy tần số trong

các timeslot (TS), được thiết kế để làm việc trong môi trường nhiễu tần số radio,

Bluetooth dùng chiến lược nhảy tần để tạo nên sức mạnh liên kết truyền thông và

truyền thông thông minh. Cứ mỗi lần gửi hay nhận một packet xong, Bluetooth lại

nhảy sang một tần số mới, như thế sẽ tránh được nhiễu từ các tín hiệu khác.

34

So sánh với các hệ thống khác làm việc trong cùng băng tần, sóng radio của

Bluetooth nhảy tần nhanh và dùng packet ngắn hơn. Vì nhảy nhanh và packet ngắn

sẽ làm giảm va chạm với sóng từ và các phương tiện gây nhiễu khác trong khí quyển.

Có 3 phương pháp được sử dụng trong việc kiểm tra tính đúng đắn của dữ liệu

truyền đi:

 Forwad Error Corrrection: thêm 1 số bit kiểm tra vào phần Header hay

Payload của packet.

 Automatic Repeat Request: dữ liệu sẽ được truyền lại cho tới khi bên nhận

gửi thông báo là đã nhận đúng.

 Cyclic Redundancy Check: mã CRC thêm vào các packet để kiểm chứng

liệu Payload có đúng không.

Bluetooth dùng kỹ thuật sửa lỗi tiến FEC (Forward Error Correction) để sửa

sai do nhiễu tự nhiên khi truyền khoảng cách xa. FEC cho phép phát hiện lỗi, biết sửa

sai và truyền đi tiếp (khác với kỹ thuật BEC-Backward Error Control chỉ phát hiện,

không biết sửa, yêu cầu truyền lại).

Giao thức băng tần cơ sở (Baseband) của Bluetooth là sự kết hợp giữa chuyển

mạch và chuyển đổi packet. Các khe thời gian có thể được dành riêng cho các packet

phục vụ đồng bộ. Thực hiện bước nhảy tần cho mỗi packet được truyền đi. Một packet

trên danh nghĩa sẽ chiếm 1 timeslot, nhưng nó có thể mở rộng chiếm đến 3 hay 5

timeslot.

Bluetooth hỗ trợ 1 kênh dữ liệu bất đồng bộ, hay 3 kênh tín hiệu thoại đồng

bộ nhau cùng một lúc, hay 1 kênh hỗ trợ cùng lúc dữ liệu bất đồng bộ và tín hiệu

đồng bộ.

35

1.3.8.2. Quá trình hình thành piconet

Hình 1.11: Mô hình piconet

Một Piconet được tạo bằng 4 cách:

 Có Master rồi, Master thực hiện Paging để kết nối với 1 Slave.

 Một Unit (Master hay Slave) lắng nghe tín hiệu (code) mà thiết bị của nó

truy cập được.

 Khi có sự chuyển đổi vai trò giữa Master và Slave.

 Khi có một Unit chuyển sang trang thái Active.

Để thiết lập một kết nối mới, tiến trình INQUIRY hay PAGE sẽ bắt đầu. Tiến

trình Inquiry cho phép 1 Unit phát hiện các Unit khác trong tầm hoạt động cùng với

địa chỉ và đồng hồ của chúng.

Tiến trình Paging mới thực sự là tạo kết nối. Kết nối chỉ thực hiện giữa những

thiết bị mang địa chỉ Bluetooth. Unit nào thiết lập kết nối sẽ phải thực hiện tiến trình

paging và tự động trở thành Master của kết nối.

Trong tiến trình paging, có thể áp dụng vài chiến lược paging. Có một chiến

lược paging bắt buộc tất cả các thiết bị Bluetooth đều phải hỗ trợ, chiến lược dùng

khi các Unit gặp trong lần đầu tiên, và trong trường hợp tiến trình paging theo ngay

sau tiến trình inquiry. Hai Unit sau khi kết nối nhờ dung chiến lược bắt buộc này, sau

đó có thể chọn chiến lược paging khác.

36

Sau thủ tục Paging (PAGE), Master thăm dò Slave bằng cách gửi packet POLL

thăm dò hay packet NULL rỗng theo như Slave yêu cầu.

Chỉ có Master gửi tín hiệu POLL cho Slave, ngược lại không có.

Các vai trò của thiết bị trong Piconet là:

 Stand by: Không làm gì cả.

 Inquiry: Tìm thiết bị trong vùng lân cận.

 Paging: Kết nối với 1 thiết bị cụ thể.

 Connecting: Nhận nhiệm vụ.

Hình 1.12: Quá trình truy vấn tạo kết nối

Hình 1.13: Quá trình truy vấn tạo kết nối

Mô hình truy vấn các thiết bị trong thực tế [4].

37

Hình 1.14: Truy vấn tạo kết nối giữa các thiết bị trong thực tế

Khi thiết bị tạo paging muốn tạo các kết nối ở các tầng trên, nó sẽ gửi yêu cầu

kết nối host theo nghi thức LMP (Link Manament Protocol). Khi Unit quản lý host

này nhận được thông điệp, nó thông báo cho host biết về kết nối mới. Thiết bị từ xa

có thể chấp nhận (gửi thông điệp chấp nhận theo nghi thức LMP) hoặc không chấp

nhận kết nối (gửi thông điệp không chấp nhận theo nghi thức LMP).

Khi thiết bị không yêu cầu bất kỳ thủ tục thiết lập liên kết từ xa nào cả, nó sẽ

gửi thông điệp "thiết lập hoàn thành". Thiết bị này vẫn nhận được yêu cầu từ các thiết

bị khác. Khi một thiết bị khác đã sẵn sàng tạo liên kết, nó cũng gửi thông điệp "thiết

lập hoàn thành". Sau đó 2 thiết bị có thể trao đổi packet trên kênh logic khác với

LMP.

1.3.8.3. Quá trình hình thành Scatternet

Hình 1.15: Ví dụ về mô hình satternet

38

Một Master hay Slave của Piconet có thể trở thành Slave của Piconnet khác

nếu bị Master nếu bị Master của Piconet khác thực hiện tiến trình paging với nó. Hay

nói cách khác là bất kỳ Unit nào cũng có thể tạo 1 Piconet mới bằng cách paging một

Unit đã là thành viên của một Piconet nào đó. Ngược lại, bất kỳ Unit nào tham gia

trong một Piconet, đều có thể thực hiện paging lên Master hay Slave của piconet khác.

Điều này chính là nguyên nhân dẫn tới việc có thể chuyển đồi vai trò giữa Master và

Slave trong một kết nối.

39

CHƯƠNG 2: TÌM HIỂU HỆ ĐIỀU HÀNH VÀ GIAO

TIẾP NGOẠI VI

2.1. Khối xử lý trung tâm MCU ATMEGA328

2.1.1. Giới thiệu MCU ATMEGA328

ATMEGA328 tên đầy đủ là ATMEGA328P-PU là vi điều khiển thuộc họ

AVR của hãng Atmel. Atmega328 thường được dùng làm nhân của bo mạch Arduino

.Trong đồ án này chúng em sử dụng chip atmega328 đã nạp sẵn bootloader để thuận

tiện hơn cho việc viết code. Bootloader Arduino cho phép gửi mã chương trình cho

ATmega328 thông qua giao thức Serial (dùng cổng COM) mà không yêu cầu phải có

1 bộ nạp ROM đặc biệt nào cả. Để lập trình cho Atmega328 nhóm em dùng ngôn ngữ

lập trình C.

Hình 2. 1: Hình ảnh thực tế và sơ đồ chân của ATEMEGA328

2.1.2. Thông số kĩ thuật chính của ATMEGA328

ATMEGA328 có 28 chân, trong đó có 14 chân số đóng vai trò ngõ vào/ra –

Digital Input/Output. 6 chân đóng vai trò ngõ vào tương tự (Analog Input).

Trong đó MCU ATMEGA328 có các thông số kỹ thuật chính sau:

40

Bảng 2. 1: Thông số kỹ thuật ATEMEGA328

Đặc điểm Thông số RISC 8bit Kiến trúc Điện áp hoạt động 1.8 – 5.5V Xung nhịp lớn 20MHz

nhất

Bộ nhớ chương Bộ nhớ Flash 32KB. Có khả năng ghi 10.000 lần

trình

Bộ nhớ EEPROM Dung lượng 1KB. Có thể ghi 100.000 lần. Hỗ trỡ

bootloader, có khả năng tự ghi vào bộ nhớ chương

trình cho chip mà không cần mạch nạp.

2KB 3 timer gồm 2 timer 8 bit và 1 timer 16 bit. 6 kênh (1 timer 2 kênh). Bộ nhớ RAM Số timer Số kênh xung

PWM

2.1.3. Cấu hình chân của vi điều khiển ATMEGA328.

Hình 2. 2: Sơ đồ chân ATMEGA328 – 28 Pin DIP

Trong đó đặc điểm các chân của vi điều khiển ATMEGA328:

 VCC: chân cấp nguồn (1,8 - 5,5V).

41

 VDD: Chân nối đất.

 ARFF: Chân điện áp tham chiếu.

 Có 3 port cổng vào/ra dữ liệu song song: Port B (PB7:0), Port C (PC5:0),

Port D (PD7:0). Trong đó chân PB6, PB7 còn có thể dùng để kết nối đến thạch anh

ngoài.

 Chân PC6/RESET: chân để Reset.

Một số chân đặc biệt: 2 chân Serial gồm có PD0 (PCINT16/RXD) và PD1

(PCINT17/TXD) dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL

Serial. ATMEGA328 có thể giao tiếp với thiết bị khác thông qua 2 chân này. Trong

đồ án nhóm em sử dụng kết nối Bluetooth còn được gọi là kết nối Serial không dây.

2.1.4. Sơ đồ khối của ATMEGA328

Hình 2. 3: Sơ đồ khối của ATMEGA328

Lõi AVR bao gồm một tập hợp các lệnh cài đặt với 32 thanh ghi chung đa

năng. Tất cả 32 thanh ghi thì được nối trực tiếp với khối số học và logic (ALU ), nó

cho phép 2 thanh ghi độc lập được truy cập trong 1 lệnh được thực thi trong một chu 42

kì quét xung đồng hồ . Kết quả của cấu trúc này là có nhiều kiểu chế độ hiệu quả hơn

trong khi vẫn đạt được tốc độ tối đa nhanh hơn 10 lần các bộ vi sử lý CISC thông

thường.

Atmega 328 cũng cung cấp các tính năng sau đây: 32Kbytes của bộ nhớ lập

trình Flash trong hệ thống với khả năng đọc trong khi đang ghi, 1Kbytes EEPROM ,

2Kbytes SRAM, 23 đường vào ra đa năng, 32 thanh ghi chung đa năng, bộ đếm thời

gian thực, 3 bộ timer /counter tiện dụng với kiểu so sánh và PWM, 1 USART, 1 bit

định hướng 2 dây giao diện nối tiếp, 6 kênh, 10 bit ADC với các lựa chọn các cổng

vào riêng biệt với khả năng lập trình khuyếch đại, lập trình timer Watchdog với bộ

tạo dao động bên trong, 1 cổng SPI nối tiếp .

Chế độ rỗi IDLE dừng CPU trong khi cho phép SRAM, Timer/counter, cổng

SPI, và các ngắt hệ thống tiếp tục vận hành. Chế độ tắt nguồn tiết kiệm dung lượng

của thanh ghi nhưng nó làm đóng băng bộ tạo dao động (oscillator ) bên trong, vô

hiệu hóa tất cả các chức năng của chip cho đến khi có ngắt kế tiếp hoặc là reset lại

phần cứng (reset hardware ) .

Bằng việc kết hợp 1 CPU- cấu trúc 8 bit RISC với bộ nhớ flash lập trình hệ

thống trên 1 chip đơn , Atmega 328 là một vi sử lý mạnh , nó cung cấp một sự linh

hoạt cao và môi trường làm việc có ích cho rất nhiều các ứng dụng điều khiển nhúng

.

Atmega 328 được hỗ trợ với một sự thích hợp đầy đủ của chương trình và các

công cụ phát triển hệ thống bao gồm: trình biên dịch , các Macro Asemmbler, các

chương trình chạy thử và mô phỏng, một bộ mô phỏng mạch điện, và các công cụ

đánh giá so sánh.

2.1.5. Lập trình cho vi điều khiên ATMEGA328

Trong đồ án này nhóm em sử dụng chip đã được nạp bootloader.

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn

ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói. Và Wiring lại là một

biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay

43

C/C++. Và chính vì ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó

rất dễ học, dễ hiểu.

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát

triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino

được gọi là Arduino IDE (Intergrated DevelopmentEnvironment) như hình dưới đây.

Hình 2. 4: Môi trường lập trình Arduino IDE

44

2.2. Cảm biến sóng siêu âm đo và tính toán khoảng cách: SRF05

2.2.1. Giới thiệu SRF05

Module cảm biến siêu âm SRF05 dùng để đo khoảng cách đến vật chắn bằng

sóng siêu âm. Module có 2 đầu thu và phát sóng, khoảng cách được xác định bằng

cách đo khoảng thời gian mà sóng siêu âm được phát ra từ module truyền đến vật

chắn rồi phản hồi về.

Sử dụng bằng cách truyền 1 xung vào chân trigger của module, sau đó chờ 1

xung trả về trên chân echo, độ dài của xung phản hồi tương ứng với thời gian của

sóng siêu âm truyền trong không khí, từ đó tính ra được khoảng cách đến vật thể

chắn.

Module SRF05 được nâng cấp thêm từ SRF04: khoảng cách xa hơn 1m, thêm

1 chế độ hoạt động. Khi giữ chân Mode trên module xuống mass, SRF05 sẽ sử dụng

chung 1 chân cho cả trigger và echo để có thể tiết kiệm chân cho vi điều khiển, đồng

thời thêm vào 1 khoảng delay nhỏ để hỗ trợ cho những vi điều khiển cũ. Khi chân

Mode không nối thì SRF05 sẽ hoạt động giống như SRF04, với 2 chân riêng biệt cho

trigger và echo.

2.2.2. Thông số kỹ thuật

SRF05 có các thông số kỹ thuật như bảng sau:

Bảng 2. 2: Thông số kỹ thuật SRF05

Đặc điểm 5V 30mA, 50mA Max. 40KHz.

Thông số Điện áp hoạt động Dòng cấp Tần số Khoảng cách đo được xa nhất 3 mét. Khả năng phát hiện vật cản Kích thước 3cm đến 3m. 43mm x 20mm x 17mm

45

Hình 2. 5: Hình ảnh thực tế của SRF05.

2.2.3. Giản đồ xung hoạt động của SRF05:

Hình 2. 6: Giản đồ xung của SRF05

Dựa vào giản đồ xung ở trên:

Để SRF hoạt động cần tạo 1 xung có độ rộng tối thiểu 10us trên chân trigger.

Sau khi có xung được kích trên chân Trigger, SRF05 sẽ phát ra chuỗi 8 xung

để phát sóng siêu âm.

46

Sau kết thúc việc phát 8 xung. SRF05 sẽ kéo chân Echo lên mức cao. Chúng

em sẽ dựa vào thời gian tồn tại mức cao (Độ rộng xung mức cao) của chân Echo để

tính khoảng cách.

Nếu độ rộng xung mức cao nằm trong khoảng 100us-25ms thì nghĩa là có vật

cản trong phạm vi phát hiện của SRF05. Và khoảng cách từ cảm biến tới vật cản được

tính theo công thức.

Khoảng cách đo được = Độ rộng xung mức cao (us)/ 58 (cm)

Nếu độ rộng xung mức cao lớn hơn hoặc bằng 300ms nghĩa là không có vật

cản nằm trong phạm vị của cảm biến SRF05.

2.3. Điều khiển từ xa bằng hồng ngoại

2.3.1. Remote hồng ngoại

Remote là một thiết bị phát sóng hồng ngoại, sử dụng trong các mục đích điều

khiển từ xa (tầm 10m). Remote nhận lệnh điều khiển từ người điều khiển thông qua

các phím bấm, sau đó xuất ra một khung dữ liệu ứng với phím được bấm.

Hình 2. 7: Hình ảnh thực tế Remote hồng ngoại

Mã dữ liệu tương ứng của các nút nhấn:

Bảng 2. 3: Bảng mã các nút nhấn Remote tương ứng với các chức năng

Trạng thái Tiến Mã hex tương ứng 0xFF18E7

47

Lùi Trái Phải Stop Tự động tránh vật cản Dò đường 0xFF4AB5 0xFF10EF 0xFF5AA5 0xFF38C7 0xFF42BD 0xFF52AD

2.3.2 Mắt thu hồng ngoại

Mắt thu hồng ngoại gồm 3 chân: VCC, GND, DATA:

Hình 2. 8: Sơ đồ chân mắt thu hồng ngoại

 Mắt thu hồng ngoại có chức năng chuyển sóng hồng ngoại phát ra từ

Remote thành đúng dạng tín hiệu số ứng với phím được bấm, nhưng tín hiệu ra có

pha ngược với tín hiệu từ Remote.

 Khi không có sóng tới, tín hiệu ra trên chân DATA ở mức cao.

48

2.3.3 Sơ đồ khối:

Hình 2. 9: Sơ đồ hoạt động khối phát hồng ngoại

Hình 2. 10: Sơ đồ hoạt động khối thu hồng ngoại

Nguyên lý phát:

 Khối chọn chức năng và khối mã hóa: khi cần phát thì nhấn nút, lúc này

tín hiệu sẽ chuyển đổi thành mã nhị phân tương ứng dưới dạng mã lệnh tín hiệu số

gồm các bit 0 và 1. Số bit trong mã nhị phân là 8 bit.

Một khung truyền tín hiệu gồm 5 bit đầu tiên là bit Start và bit địa chỉ, 8 bit

tiếp theo là dữ liệu và 2 bit cuối là Stop. Bit địa chỉ của tất cả các phim ấn là giống

nhau còn 8 bit dữ liệu của mỗi phím là hoàn toàn khác nhau. Vấn đề là phải tách được

chuỗi 8 bit dữ liệu này dưa vào cho vi điều khiển phân tích và đưa ra lệnh điều khiển.

Chuỗi mã lệnh được truyền nhờ sóng mang hồng ngoại với tần số 36 KHz thể hiện

trong hình sau:

49

Hình 2. 11: Cấu trúc sóng mang hồng ngoại

Thời gian để truyền hết một chuỗi bit khi ta nhấn phím là 20ms. Bít 0 và bit 1

có chu kì giống nhau nhưng có độ rộng bit là khác nhau, ở bit 0 truyền mất thời gian

1ms còn bit 1 là 2ms. Chi tiết như sau:

Hình 2. 12: Truyền dữ liệu

 Khối dao động: khi nhấn nút thì đồng thời khởi động mạch dao động, tần

số xung xác định thời gian chuẩn của mỗi bit.

 Khối chốt dữ liệu và khối chuyển đổi: mã nhị phân sẽ được chốt và được

chuyển đổi song song ra nối tiếp và được điều khiển xung dao động nhằm đảm bảo

kết thúc đúng lúc việc chuyển đổi đủ số bit của một mã lệnh.

 Khối điều chế và phát: mã lệnh dưới dạng nối tiếp sẽ được điều chế và

phát.

 Khối thiết bị phát: gồm một hay nhiều led phát hồng ngoại.

50

Nguyên lý thu:

 Khối thiết bị thu: là led thu 1838T. Khối khuếch đại và tách sóng: trước

tiên khuếch đại tính hiệu nhận rồi tách sóng nhằm triệt tiêu sóng mang và tách lấy dữ

liệu cần thiết là mã lệnh.

 Khối chuyển đổi và khối giải mã: mã lệnh được chuyển đổi và được giải

mã ra thành số thập phân tương ứng.

Tần số sóng mang còn được dùng để so pha với tần số dao động bên phần thu

giúp cho mạch thu phát hoạt động đồng bộ đảm bảo cho hoạt động chính xác.

Hiện nay, giao tiếp hồng ngoại được sinh viên đam mê robot ứng dụng và lập

trình giao tiếp trên vi điều khiển làm tăng mã lệnh điều khiển giúp điều khiển linh

hoạt nhiều thao tác của robot.

2.4. Module Bluetooth HC05

2.4.1. Giới thiệu về Bluetooth HC05

Hình 2. 13: Hình ảnh thực tế và sơ đồ chân của HC-05

Module Bluetooth HC-05 được thiết kế dễ sử dụng, giao tiếp Bluetooth qua

Serial Port, truyền dữ liệu nối tiếp qua wireless.

Đặc điểm kỹ thuật:

51

Bảng 2. 4: Thông số kỹ thuật HC-05

Thông số Đặc điểm

Chuẩn Bluetooth V2.0+EDR

Điện áp hoạt động 3.3VDC/30mA

Chế độ hoạt động Master, Slave, Loopback.

Kích thước 28mm x 15mm x 2.35 mm

Tần số 2.4 GHz ISM band.

Tốc độ Asynchronous: 2.1Mbs (Max)/160kbps

Synchronous: 1Mbps/1Mbps.

Bào mật Authentication and encryption.

Giao tiếp Bluetooth serial port.

Baud rate Mặc định: 38400. Databits: 8; Stopbit: 1; Parity:

No

Hỗ trợ tốc độ baud: 9600, 19200, 38400, 57600,

115200, 230400, 460800.

Nhiệt độ làm việc -20 ~ 75 độ C.

Độ nhạy -80dBm.

Công suất truyền +4dBm.

Pincode Mặc định “1234”

Kết nối Tự động kết nối với pincode mặc định. Tự động

reconnect trong 30 phút nếu bị đứt kết nối.

2.4.2 Cơ chế hoạt động

Module có 2 chế độ làm việc (có thể chọn chế độ làm làm việc (có thể lựa

chọn chế độ làm việc bằng cách thay đổi trạng thái chân 34 KEY):

 Tự động kết nối.

 Đáp ứng theolệnh: khi làm việc ở chế độ này, có thể gửi các lệnh AT để

giao tiếp với module.

Modul HC05 có thể nhận 1 trong 3 chức năng: Master, Slave, Loopback (có

thể lựa chọn các chức năng bằng lệnh AT).

52

Giao tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua 2

đường RX và TX, vì vậy có thể sử dụng PC với chuẩn RS232 hoặc các dòng vi điều

khiển để giao tiếp.

Bằng cách thay đổi trạng thái chân 34 (KEY), có thể cấu hình chế độ hoạt động

cho module:

 Để module làm việc ở chế độ kết nối tự động: KEY phải ở trạng

thái Floating (trạng thái không kết nối).

 Để module làm việc ở chế độ đáp ứng theo lệnh: KEY = ‘0’ (kết nối xuống

đất). Cấp nguồn cho module là chuyển KEY = ‘1’ (kết nối lên VCC) và lúc này có

thể sử dụng các lệnh AT để giao tiếp.

2.4.3. Điều khiển Robot Car bằng điện thoại android bằng HC05

Trong ứng dụng này, module HC05 sẽ hoạt động ở chế độ kết nối tự động

(không kết nối chân 34 KEY).

Để giao tiếp với module nhóm em sẽ sử dụng ứng dụng của android do nhóm

tự viết. Khi chạy, ứng dụng sẽ tự động tìm kiếm địa chỉ của module HC05. Ta phải

nhập mật khẩu để có thể kết nối với module, mặc định mật khẩu đầu tiên của HC05

là "1234" (ta có thể đặt lại mật khẩu cho module bằng lệnh AT) sau đó ta chọn chế

độ Keyboard mode và thiết lập các phím điều khiển.

Bảng 2. 5: Dữ liệu gửi từ android tới HC05

Phím Tiến Lùi Phải Trái Stop Auto Dò đường Dữ liệu 2 0 6 4 5 1 3

Khi ấn phím, điện thoại sẽ truyền mã tương ứng qua Bluetooth đến module

HC05. Ta phải sử dụng vi điều khiển Atmega328 để nhận mã và tiến hành điều khiển

các động cơ thực hiện chức năng tương ứng của phím. Kết nối giữa module với vi

điều khiển như sau:

53

TX module HC05 kết nối RX ATEMEGA328.

RX module HC05 kết nối TX ATEMEGA328.

2.5. Module dò đường

Hình 2. 14: Hình ảnh thực tế module dò đường

Module dò đường gồm có 5 cặp led phát – thu hồng ngoại, tuy nhiên trong

thiết kế này nhóm em chỉ sử dụng 3 cặp led thu – phát hồng ngoại.

Mỗi cặp phát – thu hồng ngoại gồm một led phát hồng ngoại và một cảm biến

CTRT5000. Đặc điểm của cảm biến CTRT5000 là khả năng chống nhiễu tốt, độ nhạy

cao, ổn định, điện áp hoạt động là 5V.

54

Hình 2. 15: Cảm biến hồng ngoại CTRT5000

Nguyên lý hoạt động của module dò đường:

 Led phát sẽ phát ra sóng hồng ngoại, khi sóng hồng ngoại gặp vạch màu

trắng sẽ có ánh sáng phản xạ tới cảm biến CTRT5000 với đầu ra mức thấp

 Ngược lại nếu gặp vạch màu đen thì ánh sáng bị hấp thụ nên không có ánh

sáng phản xạ tới cảm biến CTRT5000, đầu ra ở mức cao.

2.6. Hệ điều hành android

2.6.1. Giới thiệu về android

Hệ điều hành Android là hệ điều hành mở, hoàn thiện, cho phép người dùng

tùy biến nó. Tương thích với hầu hết các nhà sản xuất phần cứng.

55

Hình 2. 16: Logo android

2.6.2. Lịch sử hình thành

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty Android Inc. (California, Mỹ) thiết kế. Công ty này sau đó được Google

mua lại vào năm 2005 và bắt đầu xây dựng Android Platform. Các thành viên chủ

chốt tại ở Android Inc. gồm có: Andy Rubin, Rich Miner, Nick Sears, and Chris

White.

Hình 2. 17: Android timeline

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay Mã

Nguồn mở (Open Handset Alliance) gồm các thành viên nổi bật trong ngành viễn

thông và thiết bị cầm tay như:

Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell

Technology Group, Motorola, Nvidia,Qualcomm, Samsung Electronics, Sprint

Nextel, T-Mobile, ARM Holdings, Atheros Communications, Asustek Computer Inc,

Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group,…[6].

56

Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho

nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android.

Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khai

thác và các lập trình viên thiết bị cầm tay.

Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobile

cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc

smartphone đầu tiên dựa trên nền tảng Android. Một vài ngày sau đó, Google lại tiếp

tục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0. Trong tháng 10

năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform.

Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của

nó là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lại các

thành phần từ những ứng dụng khác. Việc tái sử dụng không chỉ được áp dụng cho

các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu và giao diện người

dùng.

Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi là

Android Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràng buộc

vào các nhà cung cấp mạng điện thoại di động. Mục tiêu của thiết bị này là cho phép

các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể chạy hệ

điều hành Android mà không phải ký một bản hợp đồng nào. Vào khoảng cùng thời

gian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1 của hệ điều hành này.

Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-key board mà đòi hỏi các thiết

bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách phát hành

SDK 1.5 vào tháng Tư năm 2009, cùng với một số tính năng khác. Chẳng hạn như

nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder.

Các phiên bản của android [6]:

Bảng 2. 6: Các phiên bản hệ điều hành android

Tên phiên bản Ngày phát hành

Android 1.0 23/11/2008

57

Android 1.1 9/2/2009

Android 1.5 Cupcake 30/4/2009

Android 1.6 Donut 30/9/2009

Adroid 2.0/2.1 Eclair 11/2009

Android 2.2 Froyo 20/05/2010

Android 2.3 Gingerbread 06/12/2010

Android 3.0/3.1 Honeycomb 22/2/2011

Android 4.0 Ice Cream Sandwich 19/10/2011

Android 4.1 Jelly Bean 9/7/2012

Android 4.2 Jelly Bean 11/2012

Android 4.3 Jelly Bean 24/7/2013

Android 4.4 KitKat 7/2013

Android 5.0 Lollipop 10/2014

2.6.3. Tính năng android

Android là một hệ điều hành mạnh với các tính năng sau: [8]

 Lưu trữ: sử dụng SQLite, một cơ sở dữ liệu quan hệ, trọng lượng nhẹ cho

dữ liệu lưu trữ.

 Kết nối: Hỗ trợ GSM/EDGE, IDEN, CDMA, EV-DO, UTMS, Bluetooth

(A2DP và AVRCP), Wifi, LTE và Wimax.

 Tin nhắn: hỗ trợ cả SMS và MMS.

 Trình duyệt web: dựa trên WebKit mã nguồn mở, cùng với V8 JavaScript

của Chrome, hỗ trỡ HTML5 và CSS3.

 Truyền thông hỗ trợ: Bao gồm hỗ trợ cho các phương tiện truyền thông:

H.263, H.264 ( trong 3GP hoặc MP4 container ), MPEG-4 SP, AMR, AMR-WB,

AAC, HE-AAC, MP3, MIDI, OggVorbis, WAV, PNG, GIF và BMP.

 Hỗ trợ phần cứng: Accelerometer cảm biến, máy ảnh, kỹ thuật số Compass,

cảm biến tiệm cận và GPS.

 Multi-touch: hỗ trợ màn hình cảm ứng đa điểm.

 Đa chức năng: Hỗ trợ các ứng dụng đa tác vụ.

 Hỗ trợ Flash: Android 2.3 hỗ trợ Flash 10.1

58

 Tethring: Hỗ trợ chia sẻ kết nối Internet là một điểm phát sóng không dây/có

dây.

2.6.4. Kiến trúc hệ điều hành android

Kiến trúc hệ điều hành Android gồm 4 lớp cơ bản:

 Nền ứng dụng (Application Framework)

 Thư viện (Libraries )

 Android Runtime

 Linux Kernel

Hình 2. 18: Mô hình kiến trúc nền tảng hệ điều hành Android

2.6.4.1. Tầng ứng dụng

Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản như email client,

SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác.

Ngoài ra tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn

ngữ java.

2.6.4.2. Application Farmwork

Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng

mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô

59

cùng sáng tạo và phong phú. Các nhà phát triển ứng dụng được tự do sử dụng các

tính năng cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy

dịch vụ dưới nền, thiết lập đồng hồ báo thức, thêm notification vào status bar của màn

hình thiết bị…

Người phát triển ứng dụng được phép sử dụng đầy đủ bộ API được dùng trong

các ứng dụng tích hợp sẵn của android. Kiến trúc ứng dụng của Android được thiết

kế nhằm mục đích đơn giản hóa việc tái sử dụng các component. Qua đó bất kỳ ứng

dụng nào cũng có thể công bố các tính năng mà nó muốn chia sẻ cho các ứng dụng

khác. Phương pháp tương tự cho phép các thành phần có thể được thay thế bởi người

sử dụng.

Tầng này bao gồm một tập các services và các thành phần sau:

 Một tập phong phú và có thể mở rộng bao gồm các đối tượng View được

dùng để xây dựng ứng dụng như: list, gird, text box, button và thậm chí là một trình

duyệt web có thể nhúng vào ứng dụng

 Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các

ứng dụng khác hoặc chia sẻ dữ liệu của chúng.

 Resource Manager: cung cấp khả năng truy xuất các tài nguyên non-code

như hình ảnh hoặc file layout.Notification Manager: cung cấp khả năng hiển thị

custom alert trên thanh status bar.

 Activity Manager: Giúp quản lý vòng đời của một ứng dụng.

2.6.4.3. Library

Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều

thành phần khác nhau trong hệ thống android. Một số các thư viện cơ bản được liệt

kê dưới đây:

 System C library: một thể hiện được xây dựng từ BSD của bộ thư viện hệ

thống C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nền

Linux.

 Media Libarary: Bộ thư viện hỗ trợ trình diễn và ghi các định dạng âm thanh

và hình ảnh phổ biến.

60

 Surface manager: Quản lý hiển thị nội dung 2D và 3D.

 LibWebCore: một web browser engine hiện đại được sử dụng trong trình

duyệt của android.

 SGL: Engine hỡ trợ đồ họa 2D.

 3D library: Một thể hiện được xây dựng dựa trên các APIs của OpenGL ES

1.0. Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để

tối ưu hóa hiển thị 3D.

 Free Type: Bitmap and vector font rending.

 SQLite: một DBMS nhỏ gọn và mạnh mẽ.

2.6.4.4. Android Runtime

Hệ diều hành android tích hợp sẵn một tập hợp các thư viện cốt lõi cung cấp

hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình java. Mọi

ứng dụng của Android chạy trên một tiến trình của riêng nó với cùng một thể hiện

của máy ảo Dalvik [7]. Máy ảo Dalvak thực tế là một biến thể của máy ảo java được

sửa đổi bổ sung các công nghệ đặc trưng của thiết bị di động. Nó được xây dựng với

mục đích làm cho các thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả.

Trước khi thực thi, bấtt kỳ ứng dụng nào cũng được convert thành file thực thi với

định dạng nén Dalvik Executable (.dex). Định dạng này được thiết kế phù hợp với

các thiết bị hạn chế về bộ nhớ cũng như tốc độ xử lý. Ngoài ra máy ảo Dalvik sử dụng

bộ nhân Linux để cung cấp các tính năng như thread, low-level memory management.

2.6.4.5. Linux Kernel

Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch

vụ hệ thống cốt lõi như: security, memory management, process management,

network stack, driver model. Bộ nhân này làm nhiệm vụ như một lớp trung gian kết

nối phần cứng thiết bị và phần ứng dụng.

61

Hình 2. 19: Mô hình hợp tác giữa máy ảo Dalvik và Navite code

JNI: Java Native Interface (Tương tự khái niệm Application Programming

Interface).Java Native Interface: là một bộ framework cho phép mã lệnh viết bằng

Java chạy trên máy ảo java có thể gọi hoặc được gọi bởi một ứng dụng viết bằng

native code (Ứng dụng được viết cho một phần cứng cụ thể và trên một hệ điều hành

cụ thể) hoặc những bộ thư viện viết bằng C, C++ hoặc Assembly.

Bằng cách sử dụng JNI, Android cho phép các ứng dụng chạy trên máy ảo

Dalvik có thể sử dụng những phương thức được viết bằng các ngôn ngữ cấp thấp như:

C, C++, Assembly. Qua đó các nhà phát triển ứng dụng có thể xây dựng ứng dụng

dựa trên các bộ thư viện viết bằng C, C++, Assembly nhằm tăng tốc độ thực thi của

ứng dụng hoặc sử dụng những tính năng mức thấp mà ngôn ngữ Java không hổ trợ.

Tuy nhiên người phát triển ứng dụng cần phải cân nhắc sự gia tăng độ phức tạp của

ứng dụng khi quyết định sử dụng các bộ thư viện này.

2.6.5. Chu kỳ ứng dụng trên android

Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng

dụng khi code cần được chạy cho đến khi:

 Nó không phụ thuộc.

 Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác. Một

sự khác thường và đặc tính cơ bản của Android là thời gian sống của tiến trình ứng

62

dụng không được điều khiển trực tiếp bới chính nó. Thay vào đó, nó được xác định

bởi hệ thống qua một kết hợp của:

 Những phần của ứng dụng mà hệ thống biết đang chạy.

 Những phần quan trọng như thế nào đối với người dùng.

Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống.

2.5.5.1. Chu kỳ sống thành phần

Các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ lúc

bắt đầu khởi tạo và đến thời điểm kết thúc. Giữa đó, đôi lúc chúng có thể là active

hoặc inactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible.

2.6.5.2. Activity Stack

Bên trong hệ thống các activity được quản lý như một activity stack. Khi một

Activity mới được start, nó được đặt ở đỉnh của stack và trở thành activity đang chạy

activity trước sẽ ở bên dưới activity mới và sẽ không thấy trong suốt quá trình activity

mới tồn tại.

Nếu người dùng nhấn nút Back thì activity kết tiếp của stack sẽ di duyển lên

và trở thành active.

Hình 2. 20: Activity Stack

63

2.6.5.3. Các trạng thái của chu kỳ sống

Hình 2. 21: Chu kỳ sống của Activity

Một Activity chủ yếu có 3 chu kỳ chính sau:

 Active hoặc running: Khi Activity là được chạy trên màn hình. Activity

này tập trung vào những thao tác của người dùng trên ứng dụng.

 Paused: Activity là được tạm dừng (paused) khi mất focus nhưng người

dùng vẫn trông thấy. Có nghĩa là một Activity mới ở trên nó nhưng không bao phủ

đầy màn hình. Một Activity tạm dừng là còn sống nhưng có thể bị kết thúc bởi hệ

thống trong trường hợp thiếu vùng nhớ.

64

 Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác. Nó vẫn còn trạng

thái và thông tin thành viên trong nó. Người dùng không thấy nó và thường bị loại bỏ

trong trường hợp hệ thống cần vùng nhớ cho tác vụ khác.

2.6.5.4. Chu kỳ sống của ứng dụng

Trong một ứng dụng Android có chứa nhiều thành phần và mỗi thành phần

đều có một chu trình sống riêng. Và ứng dụng chỉ được gọi là kết thúc khi tất cả các

thành phần trong ứng dụng kết thúc. Activity là một thành phần cho phép người dùng

giao tiếp với ứng dụng. Tuy nhiên, khi tất cả các Activity kết thúc và người dùng

không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã

kết thúc. Bởi vì ngoài Activity là thành phần có khả năng tương tác người dùng thì

còn có các thành phần không có khả năng tương tác với người dùng như là Service,

Broadcast receiver. Có nghĩa là những thành phần không tương tác người dùng có

thể chạy background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự

tắt chúng.

2.6.5.5. Các sự kiện trong chu kỳ sống của ứng dụng

Nếu một Activity được tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thông tin

khác của nó từ vùng nhớ bởi việc finish() (gọi hàm finish() của nó), hoặc đơn giản

giết tiến trình của nó. Khi nó được hiển thị lần nữa với người dùng, nó phải được

hoàn toàn restart và phục hồi lại trạng thái trước. Khi một Activity chuyển qua chuyển

lại giữa các trạng thái, nó phải báo việc chuyển của nó bằng việc gọi hàm transition.

Tất cả các phương thức là những móc nối mà bạn có thể override để làm tương thích

công việc trong ứng dụng khi thay đổi trạng thái. Tất cả các Activity bắt buộc phải

có onCreate() để khởi tạo ứng dụng. Nhiều Activity sẽ cũng hiện thực onPause() để

xác nhận việc thay đổi dữ liệu và mặt khác chuẩn bị dừng hoạt động với người dùng.

2.6.5.6. Thời gian sống của ứng dụng

Thời gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến

trạng thái cuối cùng gọi onDestroy (). Một Activity khởi tạo toàn bộ trạng thái toàn

cục trong onCreate(), và giải phóng các tài nguyên đang tồn tại trong onDestroy ().

65

2.6.5.7. Thời gian hiển thị của Activity

Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến khi

gọi onStop(). Trong suốt khoảng thời gian này người dùng có thể thấy activity trên

màn hình, có nghĩa là nó không bị foreground hoặc đang tương tác với người dùng.

Giữa 2 phương thức người dùng có thể duy trì tài nguyên để hiển thị activity đến

người dùng.

2.6.5.8. Các phương thức của chu kỳ sống

 Phương thức: onCreate()

 Được gọi khi activity lần đầu tiên được tạo.

 Ở đây bạn làm tất cả các cài đặt tĩnh (tạo các view, kết nối dữ liệu đến

list…).

 Phương thức này gửi qua một đối tượng Bundle chứa đựng từ trạng thái

trước của Activity

 Luôn theo sau bởi onStart().

 Phương thức: onRestart ()

 Được gọi sau khi activity đã được dừng, chỉ một khoảng đang khởi động

lần nữa (stared again).

 Luôn theo sau bởi onStart().

 Phương thức: onStart()

 Được gọi trước khi một activity visible với người dùng.

 Theo sau bởi onResume() nếu activity đến trạng thái foreground hoặc

onStop() nếu nó trở nên ẩn.

 Phương thức: onResume()

 Được gọi trước khi activity bắt đầu tương tác với người dùng.

 Tại thời điểm này activity ở trên đỉnh của stack activity.

 Luôn theo sau bởi onPause().

 Phương thức: onPause()

 Được gọi khi hệ thống đang resuming activity khác.

 Phương thức này là điển hình việc giữ lại không đổi dữ liệu.

66

 Nó nên được diễn ra một cách nhanh chóng bởi vì activity kế tiếp sẽ không

được resumed ngay cho đến khi nó trở lại.

 Theo sau bởi onResume nếu activity trở về từ ở trước, hoặc bởi onStop nếu

nó trở nên visible với người dùng.

 Trạng thái của activity có thể bị giết bởi hệ thống.

 Phương thức: onStop ()

 Được gọi khi activity không thuộc tầm nhìn của người dùng.

 Nó có thể diễn ra bởi vì nó đang bị hủy, hoặc bởi vì activity khác vừa được

resumed và bao phủ nó.

 Được theo sau bởi onRestart() nếu activity đang đở lại để tương tác với

người dùng, hoặc onDestroy() nếu activity đang bỏ.

 Trạng thái của activity có thể bị giết bởi hệ thống.

 Phương thức: onDestroy ()

 Được gọi trước khi activity bị hủy.

 Đó là lần gọi cuối cùng mà activity này được nhận.

 Nó được gọi khác bởi vì activity đang hoàn thành, hoặc bởi vì hệ thống

tạm thời bị hủy diệt để tiết kiệm vùng nhớ.

 Bạn có thể phân biệt giữa 2 kịch bản với phương isFinshing().

 Trạng thái của activity có thể được giết bởi hệ thống [8].

67

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN TỪ XA

3.1. Phân tích và xác định yêu cầu.

3.1.1. Mục đích của đề tài:

Là thực hiện điều khiển xe mô hình bằng 2 phương pháp:

 Điều khiển xe bằng Remote IR qua sóng hồng ngoại. Mô hình xe được lập

trình điều khiển bằng vi điều khiển ATMEGA328.

 Điều khiển xe bằng thiết bị Mobile android qua sóng Bluetooth. Mô hình

xe được lập trình điều khiển và kết nối bằng vi điều khiển ATMEGA328.

3.1.2. Yêu cầu thiết kế

 Lập trình kết nối và điều khiển bằng vi điều khiển ATMEGA328.

 Thực hiện gửi dữ liệu qua sóng hồng ngoại IR và sóng Bluetooth.

 Sau khi nhận dữ liệu thì vi điều khiển sẽ điều khiển xe hoạt động với các

chức năng cơ bản, chức năng tự động tránh vật cản và chức năng dò đường, hoạt động

ổn định.

 Ứng dụng android có giao diện thân thiện, dễ sử dụng.

3.1.3. Yêu cầu kết quả

 Điều khiển bằng Remote khoảng cách thực tế điều khiển được là 3m (lý

thuyết: 5-8m).

 Điều khiển bằng điện thoại android qua sóng Bluetooth khoảng cách thực

tế là 8m (lý thuyết 8-10m).

 Phần mềm android chạy được trên các hệ điều hành android 4.4 trở về trước.

Dung lượng file cài đặt thấp: 600Kb.

68

3.2. Xây dựng thuật toán

3.2.1. Thuật toán tổng thể

Hình 3. 1: Thuật toán điều khiển

Trong đó: Fspeedd: khoảng cách xe tới vật cản phía trước.

L (Lspeedd): Khoảng cách xe tới vật cản về bên trái.

R (Rspeedd): Khoảng cách xe tới vật cản về bên phải.

69

3.2.2. Thuật toán điều khiển từng chức năng cụ thể

Các chức năng cụ thể sẽ được điều khiển qua các motor. Ta có bảng chức năng

của các motor trong từng trường hợp cụ thể:

Bảng 3. 1: Giá trị các motor tương ứng với các chức năng

Chức năng Giá trị các motor

MotorRight MotorRight 2 MotoLeft 1 MotorLeft 2

1

Tiến (Go Forward) Hight Low Hight Low

Lùi (Go Back) Low Hight Low Hight

Rẽ trái (Turn Left) Hight Low Low Low

Rẽ phải (Turn Right) Low Low Hight Low

Dừng (Stop) Low Low Low Low

Trong đó: Hight: kích hoạt; Low: không kích hoạt

 MotorRight 1: Motor của bánh xe phía phải giữ chức năng quay theo chiều

thuận (cùng chiều kim đồng hồ).

 MotorRight 2: Motor của bánh xe phía phải giữ chức năng quay theo chiều

ngược (ngược chiều kim đồng hồ).

 MotorLef 1: Motor của bánh xe phía trái giữ chức năng quay theo chiều

thuận (cùng chiều kim đồng hồ).

 MotorLeft 2: Motor của bánh xe phía trái giữ chức năng quay theo chiều

ngược (ngược chiều kim đồng hồ).

3.2.3. Thuật toán tính khoảng cách

Để tính khoảng cách từ vật cản tới xe, nhóm em sử dụng SRF05 qua sóng siêu

âm. SRF05 được MCU cấp cho 1 xung độ rộng 10us lên chân trigger để SRF05 hoạt

động.

Sau đó SRF05 sẽ phát ra 8 xung liên tục, sau một thời gian thì xung sóng siêu

âm phát ra trong không khí gặp vật cản sẽ phản hồi lại. Chân Echo (hoạt động mức

70

cao) sẽ thu tín hiệu phản hồi. Khoảng cách thời gian thu được từ lúc phát tới lúc thu

là khoảng thời gian sóng siêu âm truyền đi trong không khí. Từ đó ta tính được khoảng

cách tới vật cản dựa theo công thức:

Khoảng cách = độ rộng xung (us) /58 (cm). (Xem thêm giản đồ xung ở hình

2.3)

Các trường hợp xảy ra với SRF05:

 Độ rộng xung: 100us-25ms: Có vật cản, và tính theo công thức ở trên.

 Độ rộng xung lớn hơn hoặc bằng 300ms: không có vật cản, xe tiếp tục di

chuyển và tới khoảng cách gần hơn nếu có vật cản sẽ phát hiện ra.

Ngoài ra để có thể phát đi sóng siêu âm ra các hướng khác nhau với mục đích

là đo được khoảng cách ở cả phía trái, phải chúng em thực hiện gắn SRF05 lên một

động cơ Servo. Động cơ servo có thể quay được tối đa 180 độ nên có thể đo được

khoảng cách tới các hướng khác nhau.

3.2.4. Thuật toán dò đường

Đế thực hiện chức năng dò đường nhóm em sử dụng module dò đường.

Module dò đường gồm 3 cặp led phát – thu hồng ngoại. Trong đó led thu chính là 3

cảm biến CTRT5000. Cảm biến CTRT5000 hoạt động tích cực mức cao, nghĩa là khi

led hồng ngoại phát tia sáng hồng ngoại, nếu gặp vạch màu trằng thì ánh sáng không

SENSOR TRƯỚC

SENSOR TRÁI

SENSOR PHẢI

phản xạ lại cảm biến CTRT5000, đầu ra ở mức cao.

Hình 3. 2: Sơ đồ sắp xếp vị trí 3 cảm biến CTRT5000

Nguyên lý hoạt động dò đường:

 Nếu cảm biến trước đầu ra mức cao xe sẽ đi thẳng.

 Nếu cảm biến phải đầu ra mức cao, cảm biến trước đầu ra mức thấp xe sẽ

đi sang phải.

71

 Nếu cảm biến trái đầu ra mức cao, cảm biến trước đầu ra mức thấp xe sẽ đi

sang trái.

 Nếu cảm biến trái, cảm biến phải và cảm biến trước đầu ra đều ở mức cao

thấp thì xe sẽ đi lùi.

Bảng 3. 2: Bảng giá trị đầu ra các cảm biến tương ứng với các trường hợp

Chức năng

Sensor trước 1 1 1 1 0 0 0 Giá trị các cảm biến Sensor trái 0 0 1 1 0 1 0 Sensor phải 0 1 0 1 1 0 0 Tiến Tiến Tiến Tiến Phải Trái Lùi

3.3. Thiết kế phần cứng

3.3.1. Sơ đồ khối chức năng

Hình 3. 3: Sơ đồ khối chức năng của mạch

Mạch điều khiển xe từ xa bằng Remote IR và bằng điện thoại android sẽ thực

hiện các chức năng chính:

 Điều khiển mô hình xe bằng 2 phương pháp:

72

 Điều khiển bằng Remote IR.

 Điều khiển bằng điện thoại android qua song Bluetooth.

 Mạch mô hình xe được điều khiển bằng vi điều khiển MCU ATMEGA328

 Phần mềm điều khiển android bằng phương thức: điều khiển bằng chạm tay

(touch).

 Xe thực hiện các chức năng:

 Đo khoảng cách từ xe tới vật cản

 Di chuyển được các chức năng cơ bản theo ý người dùng: Rẽ Trái, rẽ Phải.

Tiến, Lùi, Stop

 Tự động tránh vật cản với khoảng cách cho trước là 13 cm.

 Dò đường: từ cảm biến CTRT5000 sẽ gửi dữ liệu của đường đi (màu sắc)

tới vi điều khiển ATEMEGA328 để xử lý và đưa ra tín hiệu điều khiển theo

dữ liệu đã nhận được. Cụ thể trong thiết kế nhóm em thực hiện di chuyển xe

theo màu sắc của đường đi. Xe sẽ dịch chuyển theo đường đi có màu sắc là

màu đen.

73

3.3.2. Sơ đồ khối hoạt động:

Hình 3. 4: Sơ đồ khối hoạt động của mạch

Giải thích sơ đồ khối hoạt động của mạch:

 Khối xử lý trung tâm: MCU ATMEGA328

 Khối này có chức năng quan trọng nhất. Khối xử lý sẽ xử lý các tín hiệu

nhận được từ sensor SRF05 để xác định khoảng cách từ xe tới vật cản.

 Nhận tín hiệu từ Cảm biến CTRT5000 để xử lý và phát lệnh điều khiển

thích hợp.

 Nhận tín hiệu từ mắt thu hồng ngoại và module Bluetooth để giải mã tín

hiệu thành lệnh điều khiển, gửi tín hiệu tới module control để điều khiển động cơ xe

theo ý muốn.

 Khối xử lý nhận nguồn 5-3.3V từ khối nguồn để hoạt động.

 Khối Sensor SRF05: khối này sử dụng sóng siêu âm dưới dạng xung để phát

hiện vật cản và đo khoảng cách tới vật cản. Việc xác định có vật cản dựa vào thời

gian tồn tại xung (1 lần phát 8 xung, liên tục).

74

 Nếu thời gian tồn tại: 100us đến 25ms thì có vật cản. Khoảng cách tới vật

cản: Khoảng cách= độ rộng xung (mức cao)(us)/58(cm).

 Nếu độ rộng xung mức cao lớn hơn hoặc bằng 300ms nghĩa là không có

vật cản nằm trong phạm vị của cảm biến SRF05.

 Khối Led phat – Sensor CTR5000: gồm 3 led phát hồng ngoại và cảm biến

CTRT5000 để thu sóng hồng ngoại phản xạ lại. Khối này có nhiệm vụ phát sóng hồng

ngoại và thu lại. Nếu có sóng hồng ngoại phản xạ lại thì nhận biết được môi trường

(mặt đất) có màu trắng. Và gửi tín hiệu đó tới MCU ATEMEGA328. Ngược lại không

có sóng hồng ngoại phản xạ lại thì nhận biết được đường đi có màu đen.

 Module Bluetooth HC05: khối này có nhiệm vụ thiết lập kết và nhận tín

hiệu từ điện thoại android qua sóng buletooth. Thực hiện giải mã và gửi tín hiệu tới

MCU ATMEGA328.

 Module control module: nhận tín hiệu điều khiển từ MCU, thực hiện điều

khiển xe theo chức năng tương ứng với lệnh điều khiển.

 Android Smartphone: thực hiện kết nối với Module Bluetooth HC05, thông

qua android software gửi tín hiệu cần giải mã để điều khiển tới HC05.

 Mắt thu hồng ngoại: Nhận tín hiệu từ Remote và gửi tới MCU giải mã điều

khiển.

 Remote Control: Thiết lập kết nối với mắt thu và gửi tín hiệu điều khiển tới

mắt thu hồng ngoại.

75

3.3.3. Sơ đồ nguyên lý của thiết kế và các module trong thiết kế

Hình 3. 5: Sơ đồ nguyên lý toàn mạch

Trong đó gồm có:

 Khối nguồn: Mạch sử dụng nguồn Pin 12V để cấp cho 2 động cơ LM298

và từ nguồn 12V qua IC ổn áp LM7805 để cấp nguồn 5V cho mạch hoạt động.

Hình 3. 6: Sơ đồ nguyên lý mạch nguồn

 Khối điều khiển động cơ: Mạch điều khiển động cơ sử dụng IC L298.

76

IC L298: là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Với

điện áp làm tăng công suất đầu ra từ 5V-47V, dòng lên đến 4A, L298 rất phù hợp

trong những ứng dụng công suất nhỏ như động cơ DC,…

Hình 3. 7: Sơ đồ nguyên lý module điều khiển động cơ

 Chân INPUT: in1, in2, in3, in4 được nối lần lượt với các chân 5, 7, 10, 12

của L298. Đây là các chân nhận tín hiệu điều khiển. Trong đó các chân in1, in2, in3,

in4 lần lượt là các chân 11, 12, 13, 14 của vi điều khiển ATMEGA328.

 Chân OUTPUT: Các chân out1, out2, out3, out4 được nối với các chân 2,

3, 13, 14 của L298. Các chân này nối với động cơ.

 Khối vi điều khiển ATMEGA328

Hình 3. 8: Sơ đồ nguyên lý khối ATMEGA328.

77

 Khối ATMEGA328 sử dụng nguồn 5V lấy từ đầu ra IC ổn áp LM7805 để

 Sử dụng nguồn xung ngoại là thạch anh 20kHz

hoạt động.

 Module tính khoảng cách SRF05:

SRF05 sử dụng nguồn 5V để hoạt động. Chân Echo nối với chân số 17 của vi

điều khiển, sử dụng xung của vi điều khiển phát đi ngoài môi trường. Chân Trigger

kết nối với chân số 18 của vi điều khiển để nhận tín hiệu sóng siêu âm phản hồi lại

khi gặp vật cản và gửi dữ liệu về thời gian tới vi điều khiển xử lý.

Hình 3. 9: Sơ đồ nguyên lý module SRF05

3.3.4. Sơ đồ mạch in thiết kế

Hình 3. 10: Sơ đồ mạch in của thiết kế

78

3.4. Xây dựng phần mềm trên android

3.4.1. Lưu đồ thuật toán

Hình 3. 11: Sơ đồ thuật toán trên android

3.4.2. Giao diện ứng dụng

Hình 3. 12: Giao diện khởi động của ứng dụng

79

Hình 3. 13: Giao diện lúc bật Bluetooth

Hình 3. 14: Giao diện hiển thị danh sách thiết bị tìm được

80

Hình 3. 15: Giao diện lúc kết nối và sau khi kết nối thành công

81

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐỊNH HƯỚNG

ĐỀ TÀI

4.1. Các kết quả đạt được

4.1.1. Kết quả

Sau quá trình tìm hiểu và thực hiện đề tài nhóm em đã thu được các kết quả

sau:

 Lý thuyết

 Hiểu được lý thuyết về điều khiển từ xa bằng sóng hồng ngoại.

 Hiểu được lý thuyết về công nghệ truyền thông không dây Bluetooth và

điều khiển từ xa bằng sóng Bluetooth.

 Xây dựng được chương trình kết nối và điều khiển xe bằng sóng hồng

ngoại và sóng Bluetooth.

 Nắm được kiến trúc và tập lệnh cơ bản của vi điều khiển ATEMEGA328

cũng như xây dựng được các chương trình điều khiển cơ bản dùng ATMEGA328.

 Hiểu được hệ điều hành android và xây dựng được ứng dụng cơ bản trên

hệ điều hành android.

 Các kết quả thực tế:

 Điều khiển được xe mô hình bằng 2 phương pháp: Điều khiển bằng

Remote IR và bằng điện thoại android qua sóng Bluetooth.

 Các kết quả thực tế đáp ứng được yêu cầu đặt ra trước khi thiết kế

 Điều khiển Remote qua sóng hồng ngoại với khoảng cách là 3m.

 Điều khiển xe bằng điện thoại android qua sóng Bluetooth với khoảng

cách là 5m.

 Các chức năng điều khiển được gồm các chức năng cơ bản: rẽ trái, phải,

tiến, lùi, stop và 2 chức năng đo khoảng cách tới vật cản, tự động tránh vật cản, chức

năng dò đường.

 Xây dựng được ứng dụng điều khiển trên hệ điều hành android, ứng dụng

đơn giản, gọn nhẽ và dễ sử dụng.

82

4.1.2. Hình ảnh của sản phẩm

Hình 4. 1: Hình ảnh sản phẩm thiết kế

83

4.1.3. Các kết luận rút ra được

Qua thiết kế nhóm em đã hiểu được từng phương pháp điều khiển từ xa qua

sóng hồng ngoại và qua sóng Bluetooth. Qua đó so sánh được 2 phương pháp điều

khiển này:

Bảng 4. 1: So sánh 2 phương pháp điều khiển

Điều khiển từ xa qua sóng Điều khiển từ xa qua

hồng ngoại sóng Bluetooth

Phạm vi thiết Áp dụng cho các thiết bị Áp dụng cho các thiết bị

kế điều khiển trong phạm vi điều khiển phạm vi xa hơn

gần(5-10m), ít bị ảnh hưởng (xa nhất 100m). Ít bị ảnh

bởi vật cản, như tivi, điều hưởng vật cản.

hòa, quạt, …

Khả năng thực Dễ thực hiện, linh kiên nhiều Dễ thực hiện, linh kiện

hiện dễ thi công, công suất tiêu được nhiều nhà sản xuất

tán nhỏ. tích hợp, phù hợp với

chuẩn giao tiếp

Hiệu quả sử Sử dụng nhiều trong gia Ứng dụng nhiều trong các

dụng đình, điện dân dụng. hệ thống di động, điều

khiển thông minh.

Hướng phát Khả năng mở rộng không Khả năng ứng dụng và

triền cao, do phạm vi điều khiển phát triển cao. Phù hợp

còn gần, tuy nhiên việc điều phát triển ứng dụng trong

khiển các thiết bị trong các hệ thống nhà thông

phòng, gia đình là khó thay minh, điều khiển từ xa

thế. thông minh, kết nối với

các hệ thống di động.

84

4.2. Đinh hướng đề tài:

Qua đề tài tìm hiểu và thiết kế này, nhóm em đã đạt được một số kết quả nhất

định. Tuy nhiên để đáp ứng nhu cầu thực tế và nhu cầu áp dụng trong nghiên cứu,

học tập trong nhà trường thì thiết kế còn có thể phát triền thêm nhiều hướng như:

 Phát triển thêm nhiều chức năng cho xe như: quay, truyền hình hảnh, đo

nhiệt độ, độ ẩm, góc nghiêng…. Ngoài ra còn có thể phát triển thêm các chức năng

để nghiên cứu chế tạo trong lĩnh vực robot, trong các lĩnh vực quân sự như rà phá

bom mìn,…

Hình 4. 2: Điều khiển xe rà phá bom mìn từ xa (ảnh minh họa)

Hình 4. 3: Xe dò đường có gắn camera (ảnh minh họa) 85

 Nghiên cứu, tính toán tối ưu khả năng xử lý, tính linh hoạt, chính xác cho

xe.

Hình 4. 4: Xe cần cẩu đòi hỏi tính chính xác cao (ảnh minh họa)

 Có thể áp dụng sử dụng nhiều phương pháp khác để điều khiển, như điều

khiển qua sóng wifi,…

Hình 4. 5: Xe có gắn camera điều khiển qua wifi (ảnh minh họa) 86

 Tối ưu ứng dụng trên hệ điều hành android, phản hồi sự cố của xe về ứng

dụng android

Ngoài ra với sự phát triển công nghệ thông tin và thông tin di động như hiện

nay thì thiết kế này được ứng dụng nhiều trong cuộc sống và dần phát triển mạnh mẽ.

Những ứng dụng này góp phần vào kết nối, phát triển kinh tế, cuộc sống đặc biệt

ngay khi ở những vùng nông thôn, vùng sâu, vùng xa thì công nghệ thông tin, viễn

thông, internet cũng đã vươn tới. Chính vì vậy, điều khiển từ xa là một trong những

hướng phát triển mạnh và phổ biến, phù hợp với điều kiện sống và học tập của người

Việt Nam.

87

KẾT LUẬN

Qua đồ án này, thực hiện đề tài: “Thiết kế xe mô hình điều khiển từ xa bằng

Remote IR và bằng điện thoại android”, nhóm em đã đạt được các kết quả nhất định

đó là hiểu được sóng hồng ngoại và điều khiển từ xa bằng sóng hồng ngoại. Hiểu

được công nghệ truyền thông không dây Bluetooth và điều khiển từ xa qua sóng

Bluetooth. Nắm được kiến trúc và tập lệnh cơ bản của vi điều khiển ATEMEGA328,

xây dựng được ứng dụng android thực hiện kết nối Bluetooth và điều khiển xe. Tuy

nhiên, do nhiều hạn chế của bản thân, trong quá trình tìm hiểu và thiết kế nhóm em

gặp một số vấn đề thiếu sót và chưa giải quyết được là: Chưa phản hồi lại được sự cố

khi xe gặp vấn đề, khả năng xử lý của xe còn chưa linh hoạt. Vì vậy em rất mong

được sự đóng góp ý kiến và chỉ dẫn của quý thầy cô cùng các bạn để nhóm em tiếp

tục hoàn thiện hơn đề tài của mình.

Em xin chân thành cảm ơn!

88

Tài liệu tham khảo

[1]. https://www.thegioididong.com/tin-tuc/tim-hieu-cong-nghe-Bluetooth- 590690 Truy cập lần cuối 24/5/2015. [2] K. V. S. S. S. S. Sairam, University of Madras, Dr. M. G. R. Engineering College N. Gunasekaran, Anna University, S. Rama Reddy, Jerusalem College of Engineering, Dr. M. G. R. Engineering College, “Bluetooth in Wireless Communication”, IEEE Communications Magazine, June 2002

[3] Đào Quý Thái An, Trần Thị Mỹ Hạnh, Tìm hiểu công nghệ Bluetooth và viết ứng dụng, Luận văn cử nhân tin học, Đại học khoa học tự nhiên TP.HCM.

[4] J. C. Haartsen et al., “The Bluetooth Radio System” IEEE

Pers. Commun., Feb. 2000, pp. 28–36.

[5] Jose Garcia Pique, Ignacio Lozano Almazan, Daniel Sanchez Garcia, “BLUETOOTH” in http://web.udl.es/usuaris/carlesm/docencia/xc1/Treballs/Bluetooth.Treball.pd f

[6] http://vi.wikipedia.org/wiki/Android truy cập lần cuối 25/4/2015

[7] Rajinder Singh Int. Journal of Engineering Research and Applications. ISSN: 2248-9622, Vol. 4, Issue 2 (Version 1), February 2014, pp.519-521

In http://www.ijera.com/papers/Vol4_issue2/Version%201/CC4201519521.pdf truy cập lần cuối 24.5.2015.

[8] http://www.tutorialspoint.com/android/ truy cập lần cuối 20/5/2015

89