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.8m đến 0.9m, 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